hanchenye-llvm-project/clang/test/CodeGenObjC
Pete Cooper de0a8d37a0 Only convert objc messages to alloc to objc_alloc if the receiver is a class.
r348687 converted [Foo alloc] to objc_alloc(Foo).  However the objc runtime method only takes a Class, not an arbitrary pointer.

This makes sure we are messaging a class before we convert these messages.

rdar://problem/46943703

llvm-svn: 350224
2019-01-02 17:25:30 +00:00
..
Inputs Check that a field is not annotated with attribute "unavailable" before 2018-03-13 23:37:51 +00:00
2007-04-03-ObjcEH.m
2007-05-02-Strong.m
2007-10-18-ProDescriptor.m
2007-10-23-GC-WriteBarrier.m
2008-08-25-incompatible-cond-expr.m
2008-10-3-EhValue.m
2008-10-23-invalid-icmp.m
2008-11-12-Metadata.m
2008-11-24-ConstCFStrings.m
2008-11-25-Blocks.m
2009-01-21-invalid-debug-info.m
2009-01-26-WriteBarrier-2.m
2009-02-05-VolatileProp.m
2009-08-05-utf16.m
2010-02-01-utf16-with-null.m
2010-02-09-DbgSelf.m
2010-02-15-Dbg-MethodStart.m
2010-02-23-DbgInheritance.m
2010-03-17-StructRef.m
2011-03-08-IVarLookup.m
NSFastEnumeration.m
arc-arm.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-block-copy-escape.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-blocks.m Use @llvm.objc.clang.arc.use intrinsic instead of clang.arc.use function. 2018-12-20 18:05:41 +00:00
arc-bridged-cast.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-captured-32bit-block-var-layout-2.m [CodeGen] Merge identical block descriptor global variables. 2018-08-17 15:46:07 +00:00
arc-captured-32bit-block-var-layout.m
arc-captured-block-var-inlined-layout.m
arc-captured-block-var-layout.m
arc-compound-stmt.m
arc-cond-stmt.m
arc-exceptions.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-foreach.m Use @llvm.objc.clang.arc.use intrinsic instead of clang.arc.use function. 2018-12-20 18:05:41 +00:00
arc-i386.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-ivar-layout.m
arc-linetable-autorelease.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-linetable.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-literals.m Use @llvm.objc.clang.arc.use intrinsic instead of clang.arc.use function. 2018-12-20 18:05:41 +00:00
arc-loadweakretained-release.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-no-arc-exceptions.m Distinguish `__block` variables that are captured by escaping blocks 2018-10-01 21:51:28 +00:00
arc-no-runtime.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-precise-lifetime.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-property.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-related-result-type.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-ternary-op.m Use @llvm.objc.clang.arc.use intrinsic instead of clang.arc.use function. 2018-12-20 18:05:41 +00:00
arc-unbridged-cast.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-unopt.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-unoptimized-byref-var.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-unsafeclaim.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-weak-property.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-weak.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-with-atthrow.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc.ll Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc.m Use @llvm.objc.clang.arc.use intrinsic instead of clang.arc.use function. 2018-12-20 18:05:41 +00:00
arm-atomic-scalar-setter-getter.m
arm64-int32-ivar.m
assign.m
atomic-aggregate-property.m
attr-availability.m
attr-callconv.m
attr-exception.m
attr-minsize.m
attr-noreturn.m
attr-objc-runtime-visible.m
attr-strong.c
auto-property-synthesize-protocol.m
autorelease.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
availability-cf-link-guard.m
availability-check.m
availability-dso-local.m
bitfield-1.m
bitfield-access.m
bitfield-gnu.m
bitfield-ivar-metadata.m
bitfield-ivar-offsets.m
bitfield_encoding.m
block-6.m
block-byref-debuginfo.m Remove all uses of DIFlagBlockByrefStruct 2018-09-10 16:14:28 +00:00
block-byref-variable-layout.m
block-desc-str.m [CodeGen] Replace '@' characters in block descriptors' symbol names with 2018-12-29 17:28:30 +00:00
block-over-align.m
block-ptr-type-crash.m
block-var-layout.m
blocks-1.m Distinguish `__block` variables that are captured by escaping blocks 2018-10-01 21:51:28 +00:00
blocks-2.m
blocks-3.m
blocks-4.m
blocks-5.m
blocks-ivar-debug.m
blocks.m [CodeGen][ObjC] Make block copy/dispose helper functions exception-safe. 2018-07-26 16:51:21 +00:00
boxing.m
builtin-memfns.m
builtins.m
catch-lexical-block.m
category-class.m
category-super-class-meth.m
class-getter-dotsyntax.m
class-type.m
compatibility-alias.m
complex-double-abi.m
complex-property.m
compound-literal-property-access.m
constant-string-class-1.m
constant-string-class.m
constant-strings.m Revert "Revert r332955 "GNUstep Objective-C ABI version 2"" 2018-05-22 10:13:06 +00:00
continuation-class.m
convert-messages-to-runtime-calls.m Only convert objc messages to alloc to objc_alloc if the receiver is a class. 2019-01-02 17:25:30 +00:00
deadcode_strip_used_var.m
debug-info-block-helper.m [CodeGen] Merge equivalent block copy/helper functions. 2018-08-10 15:09:24 +00:00
debug-info-block-line.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
debug-info-block-type.m
debug-info-blocks.m [CodeGen] Revert commit https://reviews.llvm.org/rL342717 2018-09-24 18:24:18 +00:00
debug-info-category.m [DebugInfo] NFC Clang test changes for: IR/Bitcode changes for DISubprogram flags. 2018-11-28 21:18:07 +00:00
debug-info-class-extension.m
debug-info-class-extension2.m
debug-info-class-extension3.m
debug-info-crash-2.m
debug-info-crash.m
debug-info-default-synth-ivar.m
debug-info-fwddecl.m
debug-info-getter-name.m
debug-info-id-with-protocol.m
debug-info-impl.m
debug-info-instancetype.m
debug-info-ivars-extension.m
debug-info-ivars-indirect.m
debug-info-ivars-private.m
debug-info-ivars.m
debug-info-lifetime-crash.m
debug-info-linkagename.m
debug-info-nested-blocks.m
debug-info-nodebug.m
debug-info-property-accessors.m
debug-info-property-class-extension.m
debug-info-property.m
debug-info-property2.m
debug-info-property3.m
debug-info-property4.m
debug-info-property5.m
debug-info-pubtypes.m
debug-info-selector.m
debug-info-self.m
debug-info-static-var.m
debug-info-synthesis.m [DebugInfo] NFC Clang test changes for: IR/Bitcode changes for DISubprogram flags. 2018-11-28 21:18:07 +00:00
debug-info-variadic-method.m
debug-property-synth.m [DebugInfo] NFC Clang test changes for: IR/Bitcode changes for DISubprogram flags. 2018-11-28 21:18:07 +00:00
debuginfo-properties.m [DebugInfo] NFC Clang test changes for: IR/Bitcode changes for DISubprogram flags. 2018-11-28 21:18:07 +00:00
default-property-synthesis.m
designated-initializers.m
disable-tail-call-escaping-block.m Add an option to disable tail-call optimization for escaping blocks. 2018-03-02 01:53:15 +00:00
dllstorage.m [FileCheck] Add -allow-deprecated-dag-overlap to failing clang tests 2018-07-11 20:26:20 +00:00
dot-syntax-1.m
dot-syntax-2.m
dot-syntax.m
empty-collection-literals.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
encode-cstyle-method.m
encode-test-2.m
encode-test-3.m
encode-test-4.m
encode-test-5.m
encode-test-6.m
encode-test.m
exceptions-asm-attribute.m
exceptions-nonfragile.m
exceptions.m
extended-block-signature-encode.m
extern-void-class-decl.m [CodeGen] Handle extern references to OBJC_CLASS_$_* 2018-10-12 17:22:10 +00:00
externally-initialized-selectors.m
for-in.m
forward-class-impl-metadata.m
forward-decl-param.m
forward-declare-protocol-gnu.m [ObjC] Error out when using forward-declared protocol in a @protocol 2018-08-17 22:18:08 +00:00
forward-protocol-metadata-symbols.m [ObjC] Error out when using forward-declared protocol in a @protocol 2018-08-17 22:18:08 +00:00
fp2ret.m
fpret.m
fragile-arc.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
function-decay.m
gc-weak-attribute.m
gc.m
getter-property-mismatch.m
getter-property-type-mismatch.m
gnu-deterministic-selectors.m [gnu-objc] Make selector order deterministic. 2018-08-14 10:05:25 +00:00
gnu-empty-protocol-v3.m Revert "Revert r332955 "GNUstep Objective-C ABI version 2"" 2018-05-22 10:13:06 +00:00
gnu-exceptions.m
gnu-init.m Make the section boundary checks on Windows not depend on the order as they are emitted in reverse when the compiler is built by Visual C++. 2018-08-11 02:46:47 +00:00
gnustep2-category-protocol.m [objc-gnustep2] Fix a bug in category generation. 2018-12-28 17:44:54 +00:00
gnustep2-category.m Revert "Revert r332955 "GNUstep Objective-C ABI version 2"" 2018-05-22 10:13:06 +00:00
gnustep2-class.m NFC - Fix typo in test/CodeGenObjC/gnustep2-class.m 2018-07-04 11:26:09 +00:00
gnustep2-ivar-offset.m Revert "Revert r332955 "GNUstep Objective-C ABI version 2"" 2018-05-22 10:13:06 +00:00
gnustep2-proto.m Add Windows support for the GNUstep Objective-C ABI V2. 2018-08-10 12:53:13 +00:00
hidden-visibility.m [ObjC] Error out when using forward-declared protocol in a @protocol 2018-08-17 22:18:08 +00:00
hidden.m
id-isa-codegen.m
illegal-UTF8.m
image-info.m
implicit-objc_msgSend.m
implicit-property.m
instance-method-metadata.m
interface-layout-64.m
interface.m
ivar-base-as-invariant-load.m
ivar-invariant.m
ivar-layout-64-bitfields.m
ivar-layout-64.m
ivar-layout-array0-struct.m
ivar-layout-flexible-array.m
ivar-layout-no-optimize.m
ivar-layout-nonfragile-abi2.m
ivar-type-encoding.m Revert "Revert r332955 "GNUstep Objective-C ABI version 2"" 2018-05-22 10:13:06 +00:00
ivars.m
layout-bitfield-crash.m
link-errors.m [ObjC] Error out when using forward-declared protocol in a @protocol 2018-08-17 22:18:08 +00:00
local-static-block.m
mangle-blocks.m
message-arrays.m
messages-2.m
messages.m
metadata-class-properties.m
metadata-symbols-32.m
metadata-symbols-64.m
metadata_symbols.m
misc-atomic-property.m
mrc-weak.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
mrr-autorelease.m
mrr-captured-block-var-inlined-layout.m
nested-rethrow.m
newproperty-nested-synthesis-1.m
next-objc-dispatch.m
no-category-class.m
no-sanitize.m
no-vararg-messaging.m
noescape.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
non-lazy-classes.m
nonlazy-msgSend.m
nontrivial-c-struct-exception.m [ObjC] Allow declaring __weak pointer fields in C structs in ARC. 2018-03-19 17:38:40 +00:00
nontrivial-c-struct-func-name-collision.m
ns-constant-strings.m
ns_consume_null_check.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
nsvalue-objc-boxable-ios-arc.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
nsvalue-objc-boxable-ios.m
nsvalue-objc-boxable-mac-arc.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
nsvalue-objc-boxable-mac.m
null-objc-empty-vtable.m
nullptr-assert.m
objc-align.m
objc-arc-container-subscripting.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
objc-asm-attribute-neg-test.m
objc-asm-attribute-test.m
objc-assign-ivar.m
objc-container-subscripting-1.m [CodeGen] Ignore OpaqueValueExprs that are unique references to their 2018-03-20 01:47:58 +00:00
objc-container-subscripting.m
objc-dictionary-literal.m
objc-fixed-enum.m
objc-gc-aggr-assign.m
objc-literal-debugger-test.m
objc-literal-tests.m
objc-non-trivial-struct-nrvo.m Generalize NRVO to cover C structs. 2018-03-29 17:56:24 +00:00
objc-read-weak-byref.m
objc-runtime-name.m [ObjC] Use the name specified by objc_runtime_name instead of the class 2018-04-03 22:50:16 +00:00
objc2-assign-global.m
objc2-ivar-assign.m
objc2-legacy-dispatch.m
objc2-new-gc-api-strongcast.m
objc2-no-strong-cast.m
objc2-no-write-barrier.m
objc2-nonfragile-abi-impl.m
objc2-property-encode.m
objc2-protocol-enc.m
objc2-protocol-metadata.m
objc2-retain-codegen.m
objc2-strong-cast-1.m
objc2-strong-cast-block-import.m
objc2-strong-cast.m
objc2-weak-assign.m
objc2-weak-block-call.m
objc2-weak-compare.m
objc2-weak-import-attribute.m
objc2-weak-ivar-debug.m
objc2-weak-ivar.m
objc2-write-barrier-2.m
objc2-write-barrier-3.m
objc2-write-barrier-4.m
objc2-write-barrier-5.m
objc2-write-barrier.m
objc_copyStruct.m
object-incr-decr-1.m
objfw.m
optimize-ivar-offset-load.m
optimized-setter-ios-device.m
optimized-setter.m
os_log.m Use @llvm.objc.clang.arc.use intrinsic instead of clang.arc.use function. 2018-12-20 18:05:41 +00:00
overloadable.m
parameterized_classes.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
personality.m [CodeGen] Always use MSVC personality for windows-msvc targets 2018-06-08 00:41:01 +00:00
predefined-expr.m
private-extern-selector-reference.m
prop-metadata-gnu.m
property-aggregate.m
property-agrr-getter.m
property-array-type.m
property-atomic-bool.m
property-category-impl.m
property-complex.m
property-dbg.m
property-getter-dot-syntax.m
property-incr-decr-1.m
property-list-in-class.m
property-list-in-extension.m
property-ref-cast-to-void.m
property-section-attribute.m
property-setter-attr.m
property-type-mismatch.m
property.m
protocol-comdat.m [ObjC] Error out when using forward-declared protocol in a @protocol 2018-08-17 22:18:08 +00:00
protocol-in-extended-class.m
protocol-property-synth.m
protocols-lazy.m [ObjC] Error out when using forward-declared protocol in a @protocol 2018-08-17 22:18:08 +00:00
protocols.m [ObjC] Error out when using forward-declared protocol in a @protocol 2018-08-17 22:18:08 +00:00
rdr-6732143-dangling-block-reference.m
related-result-type.m
reorder-synthesized-ivars.m
return-objc-object.mm
runtime-abi-match.m [test] Fix run line to use correct triple 2018-05-18 21:59:29 +00:00
runtime-fns.m
section-name.m
sections.m
sel-as-builtin-type.m
selector-ref-invariance.m
simplify-exceptions.mm
stand-alone-implementation.m
stret-1.m
stret-lifetime.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
stret.m
stret_lookup.m
strong-in-c-struct.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
super-classmethod-category.m
super-dotsyntax-property.m
super-dotsyntax-struct-property.m
super-message-fragileabi.m
synchronized.m
synthesize_ivar-cont-class.m
synthesize_ivar.m
tentative-cfconstantstring.m
terminate.m
try.m
ubsan-array-bounds.m
ubsan-bool.m
ubsan-check-debuglocs.m Ensure sanitizer check function calls have a !dbg location 2018-11-28 21:44:06 +00:00
ubsan-nonnull-and-nullability.m
ubsan-nonnull.m
ubsan-nullability.m [ubsan] Relax nullability-return for blocks with deduced types 2018-06-26 02:50:04 +00:00
undefined-protocol.m
undefined-protocol2.m
unname-bf-metadata.m
unoptimized-setter.m
unqual-copy-restore.m
variadic-sends.m
weak-in-c-struct.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
weak-metaclass-visibility.m
x86_64-struct-return-gc.m