aboutsummaryrefslogtreecommitdiff
path: root/test/Sema
AgeCommit message (Collapse)Author
2008-07-25fix diagnostics.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54079 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-25Fix rdar://6095136, various crashes with incomplete enum types.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54074 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-25c89 does not perform array -> pointer promotion unless the array is an ↵Chris Lattner
lvalue. This is different than C99. This fixes the rest of rdar://6095180. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54064 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-25In c99 mode, comma does do function/array promotion even though Chris Lattner
it does not do unary promotions (like short->int). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54058 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-25Comma does not perform unary promotions, rdar://6095180Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54045 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-25gcc requires a semicolon at the end of an interface, unlike its extension ↵Chris Lattner
for structs. rdar://6095245. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54044 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-25Cleaunup Sema::ActOnClassMessage(). This commit:Steve Naroff
(a) removes a bogus warning. (b) removes an undesirable usage of the ObjCMessageExpr constructor that takes an IdentifierInfo * (which I will abolish). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54042 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-25Reject typedef redefinitions when the underlying types are not identical,Chris Lattner
even if in a system header etc. rdar://6079937 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54038 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-25Add support for __extension__ as an lvalue. rdar://6097308Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54033 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-23Fix rdar://6094010 various asserts happening with wide strings in inline asm.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53947 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-21Implement nans, prefetch, and trap builtins. Daniel Dunbar
This closes <rdar://problem/6080720>, support for __builtin_constant_p has been filed separately. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53885 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-21Add test case for nonnull attribute.Ted Kremenek
Fix indexing bug. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53882 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-21Switch initialization of the protocol list for an interface decl to useChris Lattner
the standard "set these as the list of protocols" interface instead of a strange "set this as the size and then set each one to the value" interface. The problem with the later is that it a) is completely different from everything else, b) is awkward, and c) doesn't handle the case when a referenced protocol is invalid: it set it to null. This meant that all clients downstream would have to handle null protocols in the protocol list, and empirically they didn't. Fix this by not setting invalid protocols in the referenced protocol list, fixing the crash on test/Sema/objc-interface-1.m While I'm at it, clean up some locations so that we produce: t.m:1:25: error: cannot find interface declaration for 'NSObject', superclass of 'NSWhatever' @interface NSWhatever : NSObject <NSCopying> ~~~~~~~~~~~~~~~~~~~~~ ^ instead of: t.m:1:1: error: cannot find interface declaration for 'NSObject', superclass of 'NSWhatever' @interface NSWhatever : NSObject <NSCopying> ^ git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53846 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-21when in the context of an @implementation, look for private methods in theChris Lattner
@implementation to resolve nullary selector references. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53845 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-16When in C++, make EnumConstant names hide tag names in the same scope, ↵Argyrios Kyrtzidis
instead of colliding with them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53702 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-16When checking for name collision between a tag and a previously defined ↵Argyrios Kyrtzidis
namespace, the collision occured even when the tag was in a different nested scope. Fix it by taking into account the scope when checking for namespace-tag name collisions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53667 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-14http://llvm.org/bugs/show_bug.cgi?id=2523Nate Begeman
Add some code to handle vector comparisons, which is the language side of the llvm vicmp/vfcmp instructions. Also make the vector-vector and vector-scalar asign checks a bit more sane under the presence of lax vector conversions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53565 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-07fix CheckForConstantInitializer() for Compound LiteralsNuno Lopes
also fix the correspondent test (it was expecting more errors than it should. please confirm my fix is correct (at least gcc agrees with me) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53174 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-04'&&' commands together so that the test status reflects the results of all ↵Argyrios Kyrtzidis
the commands, otherwise the test status will be the result of only the last command. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53135 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-03new testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53071 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-03Fix PR2020 by recovering by defining an anonymous enum, instead of recoveringChris Lattner
by filling in the body of a union with enum constants. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53069 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-01Add Sema support for C++ classes.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52956 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-29Make ProcessDeclAttributes walk the declarator structure pulling Chris Lattner
decl attributes out of the various places they can hide. This makes us correctly reject things like this: t.c:2:22: error: mode attribute only supported for integer and floating-point types int **__attribute((mode(HI)))* i32; ^ because you can't make a pointer be HImode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52876 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-28Fix for PR2501; this patch makes usual arithmetic conversions for Eli Friedman
integers which have the same width and different signedness work correctly. (The testcase in PR2501 uses a comparison between long and unsigned int). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52853 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-26rename some attr tests for consistency.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52770 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-21"this patch adds code generation hooks for Objective-C constant strings. It ↵Chris Lattner
also modifies Sema so that Objective-C constant strings are treated as untyped objects if the interface for the constant string class can not be found. This is consistent with Apple GCC. I thought it was consistent with GNU GCC, since this was causing failures when trying to compile GNUstep with (GNU) GCC, but it appears that this is not the case when attempting to produce a simple test case to demonstrate it. Possibly there is a way of making the error go away, but I haven't found out what it is yet." Patch by David Chisnall! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52599 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-21"This moves built-in Objective-C types up the scope chains to where they can ↵Chris Lattner
be replaced by versions included from the runtime library's headers." This makes it ok to use @"foo" without a declaration for NSConstantString. Patch by David Chisnall! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52593 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-21add parser and sema support for the funny ObjC '@defs' thing.Chris Lattner
Patch by David Chisnall! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52586 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16Add test case for NSString format-string checking.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52337 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-11Don't crash if we can't find FileEntry info for a typedef, since one Eli Friedman
isn't guaranteed to exist. This fixes a crash with conflicting typedefs coming from stdin. This also fixes the crash in PR2406, but doesn't completely fix the issue; it appears there's something strange about the physical location for the definition of int64_t in stdlib.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52209 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-09For struct initialization, check compatibility with the unqualified Eli Friedman
type; this isn't explicitly stated in the standard, but it doesn't really make sense for them to have an effect here. Fixes the included testcase, sent to me by Steve Naroff. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52113 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05Second half of "fix" for <rdar://problem/5986085> clang on xcode: error: ↵Steve Naroff
redefinition of 'XCElementToggler' as different kind of symbol git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52024 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05Fix <rdar://problem/5986833> clang on xcode: incompatible type returning ↵Steve Naroff
'void', expected 'int'. - Changed Sema::ObjCActOnStartOfMethodDef() to more accurately type "self" in factory methods. - Changed Sema::ActOnInstanceMessage() to use the new type to restrict the lookup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52005 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05Fix <rdar://problem/5987482> clang on xcode: null dereference in ↵Steve Naroff
Sema::ActOnMemberReferenceExpr. In addition to fixing the crasher, this commit fixes further improves property lookup (by searching protocols of qualified interfaces..."NSObject <prot>"). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52001 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05Fix trivial crasher and downgrade an error to warning (to match GCC).Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51976 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05Support "<p>" as a short-hand for "id<p>". Here's a comment from GCC (the ↵Steve Naroff
only documentation I could find on it). /* Make "<SomeProtocol>" equivalent to "id <SomeProtocol>" - nisse@lysator.liu.se. */ This commit adds the parser magic. The type associated with <p> is still incorrect. Will discuss with Chris. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51972 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-04Fix crash identified by <rdar://problem/5986085>.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51969 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-04Add ObjCInterface layout support.Devang Patel
Reuse RecordLayout. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51968 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-04Update a test and add a FIXME.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51967 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-04Added fixmes.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51964 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-04Parser::ParseObjCSynchronizedStmt() needs to Enter/Exit a decl scope.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51963 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-04fix type of ?: operator. If one of the operator is void, the type should be ↵Nuno Lopes
void as well. Please confirm this is safe git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51957 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-04Fix a gcc compatibility issue which allows more protocol-qualified id on RHS ↵Fariborz Jahanian
to be assigned to less protocol qualified object on LHS. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51956 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-04ASTContext::typesAreCompatible(): id is compatible with all qualified id types.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51939 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-04Sema::ActOnClassMessage() needs to look through it's local implementation ↵Steve Naroff
for private class methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51938 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-04Make sure we look through categories when searching for a classes property.Steve Naroff
Fixes <rdar://problem/5984338> clang on xcode: property implementation must have its declaration in interface 'PBXOpenQuicklyModule' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51925 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-03Put back my temporary hack until Eli addresses this in a more complete fashion.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51920 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-03Change Expr::isIntegerConstantExpr() to allow for pointer types (for GCC ↵Steve Naroff
compatibility). Note FIXME. Fix <rdar://problem/5977870> clang on xcode: error: arrays with static storage duration must have constant integer length git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51907 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-03Allow implicit pointer/int conversions on ObjCQualifiedIdTypes in ↵Steve Naroff
Sema::CheckCompareOperands() and Sema::CheckAssignmentConstraints(). Fixes <rdar://problem/5980804> clang on xcode: error: incompatible type sending 'id<XDUMLType>', expected 'NSCellType'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51902 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-03Finish up r51900.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51901 91177308-0d34-0410-b5e6-96231b3b80d8