clang/test/SemaObjC
Daniel Dunbar 5e155f0c9b Iterate on sema for :? in Objective-C:
- Follow C99 behavior of using other operand type when one of
   operands is a null pointer constant.
 - Fix overenthusiastic devolving of any Objective-C types to id:
   o If either operand has an Objective-C object type then:
     - If both operands are interfaces and either operand can be
       assigned to the other, use that type as the composite type.
     - Otherwise, if either type is id, use id as the composite type.
     - Otherwise, warn about incompatible types and use id as the
       composite type.
 - Return handling of qualified idea to separate test following
   general pointer type checking.
   o Upgraded from old code to allow devolving to id (without warning,
     which matches GCC).
 - <rdar://problem/6212771>

Add test case for issues fixed above, XFAIL though because it exposed
a new issue in property handling.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56135 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-11 23:12:46 +00:00
..
DoubleMethod.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
alias-test-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
alias-test-2.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
argument-checking.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
at-defs.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
bad-receiver-1.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
category-1.m simplify some code. 2008-07-26 03:47:43 +00:00
check-dup-decl-methods-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
check-dup-objc-decls-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
class-conforming-protocol-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
class-def-test-1.m simplify some code. 2008-07-26 03:47:43 +00:00
class-impl-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
class-proto-1.m simplify some code. 2008-07-26 03:47:43 +00:00
cocoa.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
compatible-protocol-qualified-types.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
comptypes-1.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
comptypes-2.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
comptypes-3.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
comptypes-4.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
comptypes-5.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
comptypes-6.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
comptypes-7.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
comptypes-8.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
comptypes-9.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
comptypes-a.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
conditional-expr-2.m Improve type-checking of ?: for Objective-C types. 2008-09-03 17:53:25 +00:00
conditional-expr-3.m Improve type-checking of ?: for Objective-C types. 2008-09-03 17:53:25 +00:00
conditional-expr-4.m Iterate on sema for :? in Objective-C: 2008-09-11 23:12:46 +00:00
conditional-expr.m Improve type-checking of ?: for Objective-C types. 2008-09-03 17:53:25 +00:00
conflicting-ivar-test-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
const-id.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
enhanced-proto-2.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
foreach-1.m Objective-C foreach selector elements must be lvalues. 2008-08-25 18:16:36 +00:00
format-strings-objc.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
forward-class-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
gcc-cast-ext.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
id_builtin.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
incompatible-protocol-qualified-types.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
interface-1.m proper grammar n stuph 2008-08-18 22:51:28 +00:00
interface-layout.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
invalid-code.m Fix rdar://6124613 a crash on invalid code. 2008-08-05 06:19:09 +00:00
invalid-objc-decls-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
ivar-lookup.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
ivar-sem-check-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
legacy-implementation-1.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
message.m Fix two bugs exposed by array passing assert: 2008-09-11 00:50:25 +00:00
method-def-1.m Fix a FIXME by not creating an invalid AST on erroneous input. Also 2008-08-23 01:48:03 +00:00
method-def-2.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
method-encoding-2.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
method-lookup-2.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
method-lookup.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
method-not-defined.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
method-undef-category-warn-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
method-undefined-warn-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
missing-method-context.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
objc-gc-attr.m Fix silly bug in objc_gc attribute parsing and add test case 2008-08-24 16:33:25 +00:00
property-1.m Update test case (we were missing a warning here) 2008-08-27 05:41:04 +00:00
property-2.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
property-3.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
property-4.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
property-5.m Add ObjCPropertyDecl::isReadOnly. 2008-08-26 07:16:44 +00:00
property-6.m Restore Objective-C dot-syntax access of methods. 2008-09-03 01:05:41 +00:00
property-7.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
property-8.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
property-9-impl-method.m Restore Objective-C dot-syntax access of methods. 2008-09-03 01:05:41 +00:00
props-on-prots.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
protocol-archane.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
protocol-expr-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
protocol-expr-neg-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
protocol-id-test-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
protocol-id-test-2.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
protocol-id-test-3.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
protocol-implementation-inherited.m Fix unintended use of doxygen comment strings. 2008-09-04 21:54:53 +00:00
protocol-test-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
protocol-test-2.m simplify some code. 2008-07-26 03:47:43 +00:00
rdr-6211479-array-property.m Add XFAIL test case for: 2008-09-10 23:11:23 +00:00
selector-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
selector-overload.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
static-ivar-ref-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
string.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
synchronized.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
try-catch.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
typedef-class.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
undef-protocol-methods-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
undef-superclass-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
undefined-protocol-type-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00
unused.m remove objc prefixes from these tests. 2008-07-26 01:04:40 +00:00
va-method-1.m move all objc sema tests into a new SemaObjC directory. Next step is to 2008-07-26 00:57:24 +00:00