llvm-project/clang/test/CodeGenObjC
Alex Lorenz b111da14ad [ObjC] Error out when using forward-declared protocol in a @protocol
expression

Clang emits invalid protocol metadata when a @protocol expression is used with a
forward-declared protocol. The protocol metadata is missing protocol conformance
list of the protocol since we don't have access to the definition of it in the
compiled translation unit. The linker then might end up picking the invalid
metadata when linking which will lead to incorrect runtime protocol conformance
checks.

This commit makes sure that Clang fails to compile code that uses a @protocol
expression with a forward-declared protocol. This ensures that Clang does not
emit invalid protocol metadata. I added an extra assert in CodeGen to ensure
that this kind of issue won't happen in other places.

rdar://32787811

Differential Revision: https://reviews.llvm.org/D49462

llvm-svn: 340102
2018-08-17 22:18:08 +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 Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
2009-01-26-WriteBarrier-2.m
2009-02-05-VolatileProp.m
2009-08-05-utf16.m test: add explicit targets for some tests 2016-05-30 16:36:48 +00:00
2010-02-01-utf16-with-null.m CodeGen: try harder to make the CFString structure RW 2016-07-29 19:15:51 +00:00
2010-02-09-DbgSelf.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
2010-02-15-Dbg-MethodStart.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
2010-02-23-DbgInheritance.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
2010-03-17-StructRef.m
2011-03-08-IVarLookup.m
NSFastEnumeration.m CodeGen: correct arguments for NSFastEnumeration 2017-09-08 23:41:17 +00:00
arc-arm.m [ObjC] Use consistent comment style in inline asm 2017-08-21 09:54:46 +00:00
arc-block-copy-escape.m Account for calling convention specifiers in function definitions in IR test cases 2015-06-29 17:29:50 +00:00
arc-blocks.m [CodeGen] Merge identical block descriptor global variables. 2018-08-17 15:46:07 +00:00
arc-bridged-cast.m [Sema][ObjC] Preserve syntactic sugar when removing 2017-10-10 01:24:33 +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 Compute and preserve alignment more faithfully in IR-generation. 2015-09-08 08:05:57 +00:00
arc-captured-block-var-inlined-layout.m Compute and preserve alignment more faithfully in IR-generation. 2015-09-08 08:05:57 +00:00
arc-captured-block-var-layout.m Compute and preserve alignment more faithfully in IR-generation. 2015-09-08 08:05:57 +00:00
arc-compound-stmt.m
arc-cond-stmt.m
arc-exceptions.m
arc-foreach.m Change memcpy/memove/memset to have dest and source alignment attributes (Step 1). 2018-01-19 17:12:54 +00:00
arc-i386.m Add an ARC autoreleased-return-value caller marker on i386. 2016-02-05 21:37:38 +00:00
arc-ivar-layout.m Fix the emission of ARC ivar layouts in the non-fragile Mac runtime. 2015-10-29 23:36:14 +00:00
arc-linetable-autorelease.m Only enable AddDiscriminator pass when -fdebug-info-for-profiling is true 2017-02-21 20:36:21 +00:00
arc-linetable.m Add -disable-llvm-passes for frontend debug info tests. 2015-11-20 18:29:01 +00:00
arc-literals.m Make '-disable-llvm-optzns' an alias for '-disable-llvm-passes'. 2016-12-23 00:23:01 +00:00
arc-loadweakretained-release.m Fix CHECK directives that weren't checking. 2015-08-31 21:48:52 +00:00
arc-no-arc-exceptions.m Make '-disable-llvm-optzns' an alias for '-disable-llvm-passes'. 2016-12-23 00:23:01 +00:00
arc-no-runtime.m
arc-precise-lifetime.m Update for lifetime intrinsic signature change 2017-04-10 20:18:45 +00:00
arc-property.m [ObjC] Pick a 'readwrite' property when synthesizing ambiguous 2017-07-13 11:06:22 +00:00
arc-related-result-type.m Update Clang tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:19:58 +00:00
arc-ternary-op.m Revert r300287. 2017-04-14 01:00:03 +00:00
arc-unbridged-cast.m
arc-unopt.m Update Clang tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:19:58 +00:00
arc-unoptimized-byref-var.m Update Clang tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:19:58 +00:00
arc-unsafeclaim.m Make '-disable-llvm-optzns' an alias for '-disable-llvm-passes'. 2016-12-23 00:23:01 +00:00
arc-weak-property.m Update Clang tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:19:58 +00:00
arc-weak.m Correctly handle type mismatches in the __weak copy/move-initialization 2015-11-16 22:11:41 +00:00
arc-with-atthrow.m
arc.ll Fix -save-temp when using objc-arc, sanitizer and profiling 2015-07-17 20:09:56 +00:00
arc.m [CodeGen] Try to not call a dtor after lifetime.end 2018-03-10 01:11:17 +00:00
arm-atomic-scalar-setter-getter.m Have the driver and the target code agree on what the default ABI 2014-12-05 01:06:59 +00:00
arm64-int32-ivar.m Update Clang tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:19:58 +00:00
assign.m
atomic-aggregate-property.m Update Clang tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:19:58 +00:00
attr-availability.m
attr-callconv.m Update use of llvm::CallingConv:X86_64_Win64 after LLVM commit r308208 2017-07-17 20:05:56 +00:00
attr-exception.m [CodeGen] Compute the objc EH vtable address point using inbounds GEP. 2017-11-17 19:46:47 +00:00
attr-minsize.m
attr-noreturn.m Support noreturn in limited contexts on Objective-C message sends. 2015-09-10 22:27:50 +00:00
attr-objc-runtime-visible.m [Objective-C] Introduce objc_runtime_visible attribute. 2016-04-01 23:23:52 +00:00
attr-strong.c
auto-property-synthesize-protocol.m
autorelease.m Update clang to take into account the changes to personality fns 2015-06-17 20:53:19 +00:00
availability-cf-link-guard.m IR: Replace the "Linker Options" module flag with "llvm.linker.options" named metadata. 2017-06-12 20:10:48 +00:00
availability-check.m [ObjC][CodeGen] CodeGen support for @available. 2017-02-23 21:08:08 +00:00
availability-dso-local.m Add a testcase for PR36268. 2018-02-08 01:17:26 +00:00
bitfield-1.m
bitfield-access.m Update Clang tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:19:58 +00:00
bitfield-gnu.m
bitfield-ivar-metadata.m
bitfield-ivar-offsets.m
bitfield_encoding.m
block-6.m Update Clang tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:19:58 +00:00
block-byref-debuginfo.m DebugInfo: pass alignment value only if it was forced 2016-10-20 00:13:19 +00:00
block-byref-variable-layout.m
block-over-align.m Objective-C. Fixes an assert where because of captured 2014-08-12 15:51:49 +00:00
block-ptr-type-crash.m [CodeGen][ObjC] Avoid asserting on block pointer types in 2017-02-01 17:37:28 +00:00
block-var-layout.m Fix and stylize the emission of GC/ARC ivar and GC block layout strings. 2015-10-21 18:06:47 +00:00
blocks-1.m
blocks-2.m Update clang to take into account the changes to personality fns 2015-06-17 20:53:19 +00:00
blocks-3.m
blocks-4.m
blocks-5.m
blocks-ivar-debug.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
blocks.m [CodeGen][ObjC] Make block copy/dispose helper functions exception-safe. 2018-07-26 16:51:21 +00:00
boxing.m CodeGen: mark ObjC cstring literals as unnamed_addr 2016-09-18 16:12:14 +00:00
builtin-memfns.m Change memcpy/memove/memset to have dest and source alignment attributes (Step 1). 2018-01-19 17:12:54 +00:00
builtins.m
catch-lexical-block.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
category-class.m
category-super-class-meth.m Changed renaming of local symbols by inserting a dot vefore the numeric suffix 2015-05-12 16:48:43 +00:00
class-getter-dotsyntax.m
class-type.m
compatibility-alias.m
complex-double-abi.m
complex-property.m CodeGen: mark ObjC cstring literals as unnamed_addr 2016-09-18 16:12:14 +00:00
compound-literal-property-access.m [Objective-C patch] Patch to fix a crash in IRGen because 2015-04-06 16:56:39 +00:00
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
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 Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-block-type.m DebugInfo: pass alignment value only if it was forced 2016-10-20 00:13:19 +00:00
debug-info-blocks.m [CodeGen] Merge equivalent block copy/helper functions. 2018-08-10 15:09:24 +00:00
debug-info-category.m [DebugInfo] Emit ObjC methods as part of interface 2018-06-27 17:31:59 +00:00
debug-info-class-extension.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-class-extension2.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-class-extension3.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-crash-2.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-crash.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-default-synth-ivar.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-fwddecl.m DebugInfo: Metadata constructs now start with DI* 2015-04-29 16:40:08 +00:00
debug-info-getter-name.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-id-with-protocol.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-impl.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-instancetype.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-ivars-extension.m DebugInfo: pass alignment value only if it was forced 2016-10-20 00:13:19 +00:00
debug-info-ivars-indirect.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-ivars-private.m DebugInfo: pass alignment value only if it was forced 2016-10-20 00:13:19 +00:00
debug-info-ivars.m DebugInfo: pass alignment value only if it was forced 2016-10-20 00:13:19 +00:00
debug-info-lifetime-crash.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-linkagename.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-nested-blocks.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-nodebug.m Allow 'nodebug' on local variables. 2016-06-16 00:42:36 +00:00
debug-info-property-accessors.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-property-class-extension.m Fix debug info for Objective-C properties from class extensions after r251874 2015-12-04 19:14:14 +00:00
debug-info-property.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-property2.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-property3.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-property4.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-property5.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-pubtypes.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-selector.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-self.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-static-var.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-synthesis.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-variadic-method.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-property-synth.m Update to match LLVM changes for PR27284. 2016-04-15 15:55:45 +00:00
debuginfo-properties.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +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 [ObjC] Mark loads from __NSArray0 and __NSDictionary0 as invariant.load. 2017-04-17 15:21:55 +00:00
encode-cstyle-method.m CodeGen: mark ObjC cstring literals as unnamed_addr 2016-09-18 16:12:14 +00:00
encode-test-2.m
encode-test-3.m
encode-test-4.m
encode-test-5.m Test case updates for explicit type parameter to the gep operator 2015-03-13 18:21:46 +00:00
encode-test-6.m CodeGen: mark ObjC cstring literals as unnamed_addr 2016-09-18 16:12:14 +00:00
encode-test.m Handle ObjCEncodeExpr in extractStringLiteralCharacter. 2017-01-31 02:31:39 +00:00
exceptions-asm-attribute.m tests: silence -Wobjc-root-class warnings 2017-06-03 16:18:13 +00:00
exceptions-nonfragile.m
exceptions.m Update for lifetime intrinsic signature change 2017-04-10 20:18:45 +00:00
extended-block-signature-encode.m
externally-initialized-selectors.m Don't manually insert L prefixes. 2014-11-06 13:30:38 +00:00
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 [CodeGen] Merge identical block descriptor global variables. 2018-08-17 15:46:07 +00:00
function-decay.m
gc-weak-attribute.m
gc.m Update Clang tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:19:58 +00:00
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 IRGen: Add optnone attribute on function during O0 2017-05-29 05:38:20 +00:00
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.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 Update Clang tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:19:58 +00:00
illegal-UTF8.m
image-info.m CodeGen: fix section names for different file formats 2017-06-03 16:18:09 +00:00
implicit-objc_msgSend.m
implicit-property.m
instance-method-metadata.m
interface-layout-64.m
interface.m
ivar-base-as-invariant-load.m Compute and preserve alignment more faithfully in IR-generation. 2015-09-08 08:05:57 +00:00
ivar-invariant.m Compute and preserve alignment more faithfully in IR-generation. 2015-09-08 08:05:57 +00:00
ivar-layout-64-bitfields.m
ivar-layout-64.m CodeGen: mark ObjC cstring literals as unnamed_addr 2016-09-18 16:12:14 +00:00
ivar-layout-array0-struct.m Changed renaming of local symbols by inserting a dot vefore the numeric suffix 2015-05-12 16:48:43 +00:00
ivar-layout-flexible-array.m [CodeGen] Add support for IncompleteArrayType in Obj-C ivars. 2017-10-27 00:56:23 +00:00
ivar-layout-no-optimize.m Changed renaming of local symbols by inserting a dot vefore the numeric suffix 2015-05-12 16:48:43 +00:00
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 Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
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 [CodeGen][ObjC] Build the global block structure before emitting the 2017-09-22 21:32:06 +00:00
mangle-blocks.m [CodeGen][ObjC] Build the global block structure before emitting the 2017-09-22 21:32:06 +00:00
message-arrays.m
messages-2.m Change memcpy/memove/memset to have dest and source alignment attributes (Step 1). 2018-01-19 17:12:54 +00:00
messages.m
metadata-class-properties.m ObjC Class Property: don't emit class properties on old deployment targets. 2016-04-19 19:05:03 +00:00
metadata-symbols-32.m Switch CGObjCMac to use ConstantInitBuilder. Whew. 2016-11-30 02:39:18 +00:00
metadata-symbols-64.m CodeGen: fix section names for different file formats 2017-06-03 16:18:09 +00:00
metadata_symbols.m tests: silence -Wobjc-root-class warnings 2017-06-03 16:18:13 +00:00
misc-atomic-property.m
mrc-weak.m [CodeGen] Merge equivalent block copy/helper functions. 2018-08-10 15:09:24 +00:00
mrr-autorelease.m
mrr-captured-block-var-inlined-layout.m Define weak and __weak to mean ARC-style weak references, even in MRC. 2015-10-22 18:38:17 +00:00
nested-rethrow.m
newproperty-nested-synthesis-1.m
next-objc-dispatch.m
no-category-class.m
no-sanitize.m [Blocks] Inherit sanitizer options from parent decl 2017-12-08 02:47:58 +00:00
no-vararg-messaging.m
noescape.m [CodeGen] Merge identical block descriptor global variables. 2018-08-17 15:46:07 +00:00
non-lazy-classes.m tests: silence -Wobjc-root-class warnings 2017-06-03 16:18:13 +00:00
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 [ObjC] Allow declaring __strong pointer fields in structs in Objective-C 2018-02-28 07:15:55 +00:00
ns-constant-strings.m Changed renaming of local symbols by inserting a dot vefore the numeric suffix 2015-05-12 16:48:43 +00:00
ns_consume_null_check.m Update Clang tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:19:58 +00:00
nsvalue-objc-boxable-ios-arc.m Make '-disable-llvm-optzns' an alias for '-disable-llvm-passes'. 2016-12-23 00:23:01 +00:00
nsvalue-objc-boxable-ios.m Make '-disable-llvm-optzns' an alias for '-disable-llvm-passes'. 2016-12-23 00:23:01 +00:00
nsvalue-objc-boxable-mac-arc.m Make '-disable-llvm-optzns' an alias for '-disable-llvm-passes'. 2016-12-23 00:23:01 +00:00
nsvalue-objc-boxable-mac.m Make '-disable-llvm-optzns' an alias for '-disable-llvm-passes'. 2016-12-23 00:23:01 +00:00
null-objc-empty-vtable.m
nullptr-assert.m Add a lit test for PR31374 2016-12-19 02:55:53 +00:00
objc-align.m Don't manually insert L prefixes. 2014-11-06 13:30:38 +00:00
objc-arc-container-subscripting.m
objc-asm-attribute-neg-test.m Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
objc-asm-attribute-test.m CodeGen: mark ObjC cstring literals as unnamed_addr 2016-09-18 16:12:14 +00:00
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 Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
objc-gc-aggr-assign.m
objc-literal-debugger-test.m
objc-literal-tests.m Cleanup the handling of noinline function attributes, -fno-inline, 2016-12-23 01:24:49 +00:00
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 Account for calling convention specifiers in function definitions in IR test cases 2015-06-29 17:29:50 +00:00
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 Class Property: generate metadata for class properties in protocols. 2016-01-29 23:46:55 +00:00
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 Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
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 CodeGen: make the type match the comment for a libcall 2017-06-17 17:30:31 +00:00
object-incr-decr-1.m
objfw.m [opaque pointer types] Explicit non-pointer type for call expressions 2015-04-16 23:25:00 +00:00
optimize-ivar-offset-load.m Fix tests in order for them to not fail after r252604. 2015-11-18 14:40:41 +00:00
optimized-setter-ios-device.m Have the driver and the target code agree on what the default ABI 2014-12-05 01:06:59 +00:00
optimized-setter.m
os_log.m Fix one more check string after r315045. 2017-10-06 08:19:31 +00:00
overloadable.m
parameterized_classes.m [CodeGen] Fix assertion failure in EmitCallArg. 2017-06-28 00:42:48 +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 Don't manually insert L prefixes. 2014-11-06 13:30:38 +00:00
prop-metadata-gnu.m
property-aggregate.m
property-agrr-getter.m
property-array-type.m Update Clang tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:19:58 +00:00
property-atomic-bool.m [ObjC] Remove _Atomic from return type and parameter type of 2016-05-26 00:37:30 +00:00
property-category-impl.m
property-complex.m
property-dbg.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
property-getter-dot-syntax.m
property-incr-decr-1.m
property-list-in-class.m
property-list-in-extension.m CodeGen: mark ObjC cstring literals as unnamed_addr 2016-09-18 16:12:14 +00:00
property-ref-cast-to-void.m
property-section-attribute.m
property-setter-attr.m
property-type-mismatch.m Changed renaming of local symbols by inserting a dot vefore the numeric suffix 2015-05-12 16:48:43 +00:00
property.m [opaque pointer types] Explicit non-pointer type for call expressions 2015-04-16 23:25:00 +00:00
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 Account for calling convention specifiers in function definitions in IR test cases 2015-06-29 17:29:50 +00:00
reorder-synthesized-ivars.m CodeGen: mark ObjC cstring literals as unnamed_addr 2016-09-18 16:12:14 +00:00
return-objc-object.mm Mark C++ reference parameters as dereferenceable 2014-07-18 15:52:10 +00:00
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 CodeGen: be more conservative about setting section 2016-10-25 21:43:28 +00:00
sections.m CodeGen: fix section names for different file formats 2017-06-03 16:18:09 +00:00
sel-as-builtin-type.m
selector-ref-invariance.m Compute and preserve alignment more faithfully in IR-generation. 2015-09-08 08:05:57 +00:00
simplify-exceptions.mm
stand-alone-implementation.m
stret-1.m Change memcpy/memove/memset to have dest and source alignment attributes (Step 1). 2018-01-19 17:12:54 +00:00
stret-lifetime.m [objc] Don't require null-check and don't emit memset when result is ignored for struct-returning method calls [clang part] 2017-06-30 16:28:15 +00:00
stret.m
stret_lookup.m [opaque pointer types] Explicit non-pointer type for call expressions 2015-04-16 23:25:00 +00:00
strong-in-c-struct.m [CodeGen] Merge equivalent block copy/helper functions. 2018-08-10 15:09:24 +00:00
super-classmethod-category.m
super-dotsyntax-property.m
super-dotsyntax-struct-property.m
super-message-fragileabi.m Test case updates for explicit type parameter to the gep operator 2015-03-13 18:21:46 +00:00
synchronized.m Adjust clang side tests effected by 239795 before reapplying said change 2015-06-16 20:24:06 +00:00
synthesize_ivar-cont-class.m
synthesize_ivar.m
tentative-cfconstantstring.m CodeGen: try harder to make the CFString structure RW 2016-07-29 19:15:51 +00:00
terminate.m Update clang to take into account the changes to personality fns 2015-06-17 20:53:19 +00:00
try.m
ubsan-array-bounds.m [ubsan] Disable bounds-check for flexible array ivars 2016-10-04 20:36:04 +00:00
ubsan-bool.m Retry: [ubsan] Detect UB loads from bitfields 2017-03-09 16:06:27 +00:00
ubsan-nonnull-and-nullability.m [ubsan] Improve diagnostics for return value checks (clang) 2017-06-23 21:32:38 +00:00
ubsan-nonnull.m [ubsan] Extend the nonnull arg check to ObjC 2017-03-06 05:28:22 +00:00
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 Allow protocols to be just declared. 2014-09-12 20:14:20 +00:00
unname-bf-metadata.m
unoptimized-setter.m
unqual-copy-restore.m [ARC] Ignore qualifiers in copy-restore expressions 2016-10-03 15:29:22 +00:00
variadic-sends.m [opaque pointer types] Explicit non-pointer type for call expressions 2015-04-16 23:25:00 +00:00
weak-in-c-struct.m [ObjC] Allow declaring __weak pointer fields in C structs in ARC. 2018-03-19 17:38:40 +00:00
weak-metaclass-visibility.m Improve test of my previous patch. rdar://17633301 2014-07-15 17:47:58 +00:00
x86_64-struct-return-gc.m