- Jun 28, 2008
-
-
Eli Friedman authored
integers which have the same width and different signedness work correctly. (The testcase in PR2501 uses a comparison between long and unsigned int). llvm-svn: 52853
-
- Jun 24, 2008
-
-
Ted Kremenek authored
Update serialization for ObjCMessageExpr to handle additional bit-swizziling of receiver information. llvm-svn: 52679
-
Ted Kremenek authored
ObjCMessageExpr objects that represent messages to class methods now can contain the ObjCInterfaceDecl* of the target class if it was available when the ObjCMessageExpr object was constructed. The original interfaces of the class has been preserved (requiring no functionality changes from clients), but now a "getClasSInfo" method returns both the ObjCInterfaceDecl* and IdentifierInfo* of the target class. llvm-svn: 52676
-
- Jun 21, 2008
-
-
Chris Lattner authored
llvm-svn: 52581
-
Chris Lattner authored
Patch by David Chisnall with objc rewriter and stmtdumper updates from me. llvm-svn: 52580
-
- Jun 20, 2008
-
-
Ted Kremenek authored
llvm-svn: 52553
-
- Jun 17, 2008
-
-
Chris Lattner authored
Patch by David Chisnall! llvm-svn: 52422
-
Ted Kremenek authored
Fix indentation of class declarations in ExprCXX.h llvm-svn: 52380
-
Ted Kremenek authored
clang as a Release build. The big change is that all AST nodes (subclasses of Stmt) whose children are Expr* store their children as Stmt* or arrays of Stmt*. This is to remove strict-aliasing warnings when using StmtIterator. None of the interfaces of any of the classes have changed (except those with arg_iterators, see below), as the accessor methods introduce the needed casts (via cast<>). While this extra casting may seem cumbersome, it actually adds some important sanity checks throughout the codebase, as clients using StmtIterator can potentially overwrite children that are expected to be Expr* with Stmt* (that aren't Expr*). The casts provide extra sanity checks that are operational in debug builds to catch invariant violations such as these. For classes that have arg_iterators (e.g., CallExpr), the definition of arg_iterator has been replaced. Instead of it being Expr**, it is an actual class (called ExprIterator) that wraps a Stmt**, and provides the necessary operators for iteration. The nice thing about this class is that it also uses cast<> to type-checking, which introduces extra sanity checks throughout the codebase that are useful for debugging. A few of the CodeGen functions that use arg_iterator (especially from OverloadExpr) have been modified to take begin and end iterators instead of a base Expr** and the number of arguments. This matches more with the abstraction of iteration. This still needs to be cleaned up a little bit, as clients expect that ExprIterator is a RandomAccessIterator (which we may or may not wish to allow for efficiency of representation). This is a fairly large patch. It passes the tests (except CodeGen/bitfield.c, which was already broken) on both a Debug and Release build, but it should obviously be reviewed. llvm-svn: 52378
-
Ted Kremenek authored
llvm-svn: 52376
-
Ted Kremenek authored
llvm-svn: 52375
-
- Jun 12, 2008
-
-
Argyrios Kyrtzidis authored
llvm-svn: 52227
-
- Jun 10, 2008
-
-
Argyrios Kyrtzidis authored
-ScopedDecls get chained to their DeclContext. -DeclContext's DeclChain replaces FunctionDecl's DeclChain and EnumDecl's ElementList. llvm-svn: 52164
-
Argyrios Kyrtzidis authored
llvm-svn: 52161
-
Argyrios Kyrtzidis authored
Added TagKind enum. Added getTagKind() method. Added convenience methods: isEnum(), isStruct(), isUnion(), isClass(). -RecordDecl/CXXRecordDecl::Create() accept a TagKind enum instead of a DeclKind one. llvm-svn: 52160
-
- Jun 09, 2008
-
-
Argyrios Kyrtzidis authored
llvm-svn: 52155
-
- Jun 08, 2008
-
-
Chris Lattner authored
Patch by Mike Stump! llvm-svn: 52081
-
Chris Lattner authored
long double X() { return 1.0L; } as: long double X() (CompoundStmt 0xb06a00 <t.c:2:17, col:32> (ReturnStmt 0xb068d0 <col:19, col:26> (FloatingLiteral 0xb02cf0 <col:26> 'long double' 1.000000))) llvm-svn: 52080
-
- Jun 07, 2008
-
-
Eli Friedman authored
llvm-svn: 52075
-
- Jun 06, 2008
-
-
Ted Kremenek authored
llvm-svn: 52063
-
Ted Kremenek authored
Implement "Destroy" and destructor for ObjCClassDecl, allowing us to reclaim its memory and the memory of the Decls it owns. llvm-svn: 52059
-
Ted Kremenek authored
Implement "Destroy" and destructor for ObjCProtocolDecl, allowing us to reclaim its memory and the memory of the Decls it owns. llvm-svn: 52055
-
Ted Kremenek authored
ObjCPropertyDecls, have TranslationUnit destroy ObjCPropertyDecls. This is a horrible hack, and must be removed eventually. llvm-svn: 52051
-
Ted Kremenek authored
have Destroy methods of ObjcMethodDecl and ObjCInterfaceDecl which recursively destroy their owned Decls and Stmts. There are a few cases where it is not clear what to do (FIXMEs included in the patch). llvm-svn: 52050
-
Devang Patel authored
llvm-svn: 52035
-
Devang Patel authored
llvm-svn: 52034
-
Devang Patel authored
llvm-svn: 52033
-
- Jun 05, 2008
-
-
rdar://problem/5987482Steve Naroff authored
In addition to fixing the crasher, this commit fixes further improves property lookup (by searching protocols of qualified interfaces..."NSObject <prot>"). llvm-svn: 52001
-
- Jun 04, 2008
-
-
Devang Patel authored
Reuse RecordLayout. llvm-svn: 51968
-
Devang Patel authored
Move field layout code in a ASTRecordLayout member fn. llvm-svn: 51966
-
Ted Kremenek authored
Moved LangOptions from TranslationUnit to ASTContext. This induced a variety of cleanups in some ASTConsumers. llvm-svn: 51943
-
Steve Naroff authored
llvm-svn: 51939
-
Argyrios Kyrtzidis authored
llvm-svn: 51936
-
Steve Naroff authored
Fixes <rdar://problem/5984338> clang on xcode: property implementation must have its declaration in interface 'PBXOpenQuicklyModule' llvm-svn: 51925
-
Steve Naroff authored
llvm-svn: 51920
-
- Jun 03, 2008
-
-
Eli Friedman authored
moves the check for the invalid construct to a point where it doesn't affect other uses of isIntegerConstantExpr, and we can warn properly when the extension is used. This makes it a bit more complicated, but it's a lot cleaner. Steve, please tell me if this check is sufficient to handle the relevant system header. I know it's enough to handle the testcase, but I don't know what exactly the original looks like. llvm-svn: 51918
-
Steve Naroff authored
Change Expr::isIntegerConstantExpr() to allow for pointer types (for GCC compatibility). Note FIXME. Fix <rdar://problem/5977870> clang on xcode: error: arrays with static storage duration must have constant integer length llvm-svn: 51907
-
-
- Jun 02, 2008
-
-
Nuno Lopes authored
this plugs the leak of attributes and also fixes a crash in the test llvm-svn: 51862
-
- May 31, 2008
-
-
Ted Kremenek authored
TranslationUnit object instead of an ASTContext. By default it calls Initialize(ASTConstext& Context) (to match with the current interface used by most ASTConsumers). Modified the ObjC-Rewriter to use InitializeTU, and to tell the TranslationUnit to not free its Decls. This is a workaround for: <rdar://problem/5966749> llvm-svn: 51825
-