llvm-project/clang/test/SemaObjC
Chris Lattner edfa8d4557 Change SemaType's "GetTypeForDeclarator" and "ConvertDeclSpecToType" to
always return a non-null QualType + error bit.  This fixes a bunch of 
cases that didn't check for null result (and could thus crash) and eliminates
some crappy code scattered throughout sema.

This also improves the diagnostics in the recursive struct case to eliminate
a bogus second error.  It also cleans up the case added to function.c by forming
a proper function type even though the declarator is erroneous, allowing the
parameter to be added to the function.  Before:

t.c:2:1: error: unknown type name 'unknown_type'
unknown_type f(void*P)
^
t.c:4:3: error: use of undeclared identifier 'P'
  P+1;
  ^

After:
t.c:2:1: error: unknown type name 'unknown_type'
unknown_type f(void*P)
^

llvm-svn: 70023
2009-04-25 08:47:54 +00:00
..
ContClassPropertyLookup.m Fix up lookup rules for properties declared in 2009-04-02 18:44:20 +00:00
DoubleMethod.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
access-property-getter.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
alias-test-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
alias-test-2.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
argument-checking.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
at-defs.m Force triple (test case fails for platforms with the non-fragile ABI). 2009-04-21 21:17:29 +00:00
attr-cleanup.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
attr-deprecated.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
attr-objc-exception.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
attr-objc-gc.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
bad-receiver-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
block-ivar.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
blocks.m Tighten up blocks type checking. This was discussed back in the 2009-04-21 22:51:42 +00:00
call-super-2.m Fix <rdar://problem/6770998> make cast of super illegal (again:-) 2009-04-08 23:52:26 +00:00
catch-stmt.m call objc interfaces just "interfaces" in diagnostics, not "Objective-C types" 2009-04-12 08:25:48 +00:00
category-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
category-method-lookup-2.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
category-method-lookup.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
check-dup-decl-methods-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
check-dup-objc-decls-1.m Sema::ActOnStartClassInterface(): Use PushOnScopeChains(). 2009-04-23 15:15:40 +00:00
class-bitfield.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
class-conforming-protocol-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
class-def-test-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
class-extension-dup-methods.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
class-impl-1.m Diagnose if an implementation implements a forward class 2009-04-23 21:49:04 +00:00
class-method-lookup.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
class-method-self.m ASTContext::mergeTypes(): Loosen up the type checking for 'Class' (treating it like 'id'). 2009-04-14 15:11:46 +00:00
class-property-access.m Fix http://llvm.org/bugs/show_bug.cgi?id=3907. 2009-04-02 18:37:59 +00:00
class-proto-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
cocoa-pth.m Add cocoa-pth.c test case, this got lost in shuffling PTH test cases. 2009-04-01 15:36:37 +00:00
cocoa.m Forgot to remove trailing && 2009-04-01 18:11:41 +00:00
compare-qualified-id.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
compatible-protocol-qualified-types.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
comptypes-1.m ASTContext::mergeTypes(): Loosen up the type checking for 'Class' (treating it like 'id'). 2009-04-14 15:11:46 +00:00
comptypes-2.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
comptypes-3.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
comptypes-4.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
comptypes-5.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
comptypes-6.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
comptypes-7.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
comptypes-8.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
comptypes-9.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
comptypes-a.m improve the 'conflicting types' diagnostics to include correct location info, now 2009-04-11 19:58:42 +00:00
comptypes-legal.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
conditional-expr-2.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
conditional-expr-3.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
conditional-expr-4.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
conditional-expr.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
conflicting-ivar-test-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
continuation-class-err.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
duplicate-ivar-check.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
enhanced-proto-2.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
error-property-gc-attr.m Force triple for a number of tests that rely on __weak. 2009-04-10 21:23:20 +00:00
exprs.m improve the string literal comparison warning to not call @encode's "string literals". 2009-04-03 21:11:28 +00:00
foreach.m rename test 2009-04-22 00:59:27 +00:00
format-strings-objc.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
forward-class-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
gcc-cast-ext.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
id.m rename test 2009-04-12 09:04:18 +00:00
id_builtin.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
incompatible-protocol-qualified-types.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
interface-1.m We don't accept this test anymore in a non-fragile ABI. 2009-04-24 02:11:35 +00:00
interface-layout-2.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
interface-layout.m force a 32-bit triple. 2009-04-21 21:42:41 +00:00
interface-scope-2.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
interface-scope.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
interface-tu-variable.m Change diagnostic as a result of researching <rdar://problem/6779809> missing interface name in "error: cannot declare variable inside a class, protocol or category ''. 2009-04-13 17:58:46 +00:00
invalid-code.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
invalid-objc-decls-1.m call objc interfaces just "interfaces" in diagnostics, not "Objective-C types" 2009-04-12 08:25:48 +00:00
invalid-receiver.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
invalid-typename.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
ivar-access-package.m Fix <rdar://problem/6697053> instance variable is protected. 2009-03-26 16:01:08 +00:00
ivar-access-tests.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
ivar-lookup.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
ivar-ref-misuse.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
ivar-sem-check-1.m Change SemaType's "GetTypeForDeclarator" and "ConvertDeclSpecToType" to 2009-04-25 08:47:54 +00:00
ivar-sem-check-2.m In objc2's None-Fragile ABI, one cannot use the super class ivar for 2009-04-13 19:30:37 +00:00
legacy-implementation-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
message.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
method-arg-decay.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
method-attributes.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
method-bad-param.m implement rdar://6780761, making sema reject some code that otherwise 2009-04-12 08:11:20 +00:00
method-conflict.m Fix rdar://6771034: don't warn on use of forward declared protocol in protocol 2009-04-12 08:43:13 +00:00
method-def-1.m improve the 'conflicting types' diagnostics to include correct location info, now 2009-04-11 19:58:42 +00:00
method-def-2.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
method-encoding-2.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
method-lookup-2.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
method-lookup-3.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
method-lookup-4.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
method-lookup.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
method-no-context.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
method-not-defined.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
method-typecheck-1.m improve the 'conflicting types' diagnostics to include correct location info, now 2009-04-11 19:58:42 +00:00
method-undef-category-warn-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
method-undef-extension-warn-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
method-undefined-warn-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
missing-method-context.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
newproperty-class-method-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
no-gc-weak-test.m Fix another fallout from defining __weak unconditionally. 2009-04-10 22:42:54 +00:00
no-warn-synth-protocol-meth.m Real corener case of a method declared in a protocol 2009-04-03 21:51:32 +00:00
nsobject-attribute.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
objc-string-constant.m Fix typo in newly added test case. 2009-04-07 14:22:40 +00:00
objc2-merge-gc-attribue-decl.m Fix decl type merges when they have 2009-04-15 21:54:48 +00:00
objc2-warn-weak-decl.m Force triple for a number of tests that rely on __weak. 2009-04-10 21:23:20 +00:00
property-2.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-3.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-4.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-5.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-6.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-7.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-8.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-9-impl-method.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-9.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-10.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-11.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-12.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-13.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-category-1.m Diagnose properties which have no implementations; 2009-04-14 23:15:21 +00:00
property-category-2.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-category-3.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-error-readonly-assign.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-impl-misuse.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-inherited.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-ivar-mismatch.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-method-lookup-impl.m Fixes method name lookup when method appears in 2009-04-07 18:28:06 +00:00
property-missing.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-nonfragile-abi.m fe support for objc2's nonfragile-abi synthesized ivars. 2009-03-31 00:06:29 +00:00
property-noprotocol-warning.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-redundant-decl-accessor.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-typecheck-1.m improve the 'conflicting types' diagnostics to include correct location info, now 2009-04-11 19:58:42 +00:00
property-user-setter.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property-weak.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
property.m Diagnose properties which have no implementations; 2009-04-14 23:15:21 +00:00
props-on-prots.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
protocol-archane.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
protocol-attribute.m fix typo in test name. 2009-04-12 08:37:16 +00:00
protocol-expr-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
protocol-expr-neg-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
protocol-id-test-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
protocol-id-test-2.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
protocol-id-test-3.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
protocol-implementation-inherited.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
protocol-lookup-2.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
protocol-lookup.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
protocol-qualified-class-unsupported.m Tweak Sema::ActOnInstanceMessage() to look for a class method when dealing with qualified id's. This change is motivated by our desire to not support the "Class<foo>" idiom. Note that the change makes perfect sense (since all ObjC classes are also id/instances). 2009-04-07 15:07:57 +00:00
protocol-typecheck.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
protocols.m rename test 2009-04-12 08:47:09 +00:00
rdr-6211479-array-property.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
scope-check.m add support for goto checking and @synchronized blocks, 2009-04-21 06:01:00 +00:00
selector-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
selector-overload.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
sizeof-interface.m reject explicit pointer arithmetic on interface pointers in 64-bit objc ABI 2009-04-24 23:50:08 +00:00
static-ivar-ref-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
stmts.m add some more coverage. 2009-04-12 23:29:27 +00:00
string.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
super-cat-prot.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
super-property-message-expr.m Fixed a problem using property syntax on a 'super' 2009-04-08 19:50:10 +00:00
super-property-notation.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
super.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
synchronized.m Diagnose if an implementation implements a forward class 2009-04-23 21:49:04 +00:00
synthesize-setter-contclass.m Patch to remove a bogus warning which pointed to underlying AST 2009-04-15 19:19:03 +00:00
synthesized-ivar.m fe support for objc2's nonfragile-abi synthesized ivars. 2009-03-31 00:06:29 +00:00
try-catch.m implement semantic analysis for @synchronized, fixing a crash on invalid 2009-04-21 06:11:25 +00:00
typedef-class.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
ucn-objc-string.m Tweak test (now that http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20090330/015001.html is fixed). 2009-04-03 01:25:18 +00:00
undef-class-messagin-error.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
undef-protocol-methods-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
undef-superclass-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
undefined-protocol-type-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
unused.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
va-method-1.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
warn-selector-selection.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
warn-weak-field.m Force triple for a number of tests that rely on __weak. 2009-04-10 21:23:20 +00:00
weak-attr-ivar.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
writable-property-in-superclass.m writable property in a category of class's superclass 2009-04-06 16:59:10 +00:00