- Aug 23, 2008
-
-
Anders Carlsson authored
llvm-svn: 55255
-
Argyrios Kyrtzidis authored
llvm-svn: 55249
-
Anders Carlsson authored
llvm-svn: 55245
-
- Aug 22, 2008
-
-
Argyrios Kyrtzidis authored
-The Parser calls a new "ActOnCXXTypeConstructExpr" action. -Sema, depending on the type and expressions number: -If the type is a class, it will treat it as a class constructor. [TODO] -If there's only one expression (i.e. "int(0.5)" ), creates a new "CXXFunctionalCastExpr" Expr node -If there are no expressions (i.e "int()" ), creates a new "CXXZeroInitValueExpr" Expr node. llvm-svn: 55177
-
- Aug 19, 2008
-
-
Argyrios Kyrtzidis authored
Add ExplicitCastExpr to replace the current CastExpr, and have ImplicitCastExpr and ExplicitCastExpr derive from a common base class (CastExpr): Expr -> CastExpr -> ExplicitCastExpr -> ImplicitCastExpr llvm-svn: 54955
-
- Aug 14, 2008
-
-
Daniel Dunbar authored
getIntegerConstantExprValue where appropriate. llvm-svn: 54771
-
- Aug 11, 2008
-
-
Daniel Dunbar authored
- Kill unnecessary #includes in .cpp files. This is an automatic sweep so some things removed are actually used, but happen to be included by a previous header. I tried to get rid of the obvious examples and this was the easiest way to trim the #includes in one fell swoop. - We now return to regularly scheduled development. llvm-svn: 54632
-
Daniel Dunbar authored
- Drop {Decl.h,DeclObjC.h,IdentifierTable.h} from Expr.h - Moved Sema::getCurMethodDecl() out of line (dependent on ObjCMethodDecl via dyn_cast). llvm-svn: 54629
-
Daniel Dunbar authored
- Drop Expr.h,RecordLayout.h from ASTContext.h (for DeclBase.h and SourceLocation.h) - Move ASTContext constructor into implementation llvm-svn: 54627
-
- Aug 10, 2008
-
-
Steve Naroff authored
llvm-svn: 54617
-
Chris Lattner authored
llvm-svn: 54605
-
Eli Friedman authored
now fixed in an alternate way. llvm-svn: 54598
-
- Aug 04, 2008
-
-
Chris Lattner authored
Finally fix PR2189. This makes a fairly invasive but important change to move getAsArrayType into ASTContext instead of being a method on type. This is required because getAsArrayType(const AT), where AT is a typedef for "int[10]" needs to return ArrayType(const int, 10). Fixing this greatly simplifies getArrayDecayedType, which is a good sign. llvm-svn: 54317
-
- Jul 26, 2008
-
-
Chris Lattner authored
of doing it directly. This is required for PR2189. llvm-svn: 54102
-
Chris Lattner authored
improve 'expression unused' diagnostics for stmtexprs. llvm-svn: 54098
-
Chris Lattner authored
llvm-svn: 54075
-
- Jul 25, 2008
-
-
- Jul 24, 2008
-
-
Ted Kremenek authored
llvm-svn: 53963
-
- Jul 08, 2008
-
-
Nuno Lopes authored
llvm-svn: 53248
-
- Jul 07, 2008
-
-
Nuno Lopes authored
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) llvm-svn: 53174
-
- Jul 03, 2008
-
-
Anders Carlsson authored
llvm-svn: 53074
-
- Jul 01, 2008
-
-
Argyrios Kyrtzidis authored
llvm-svn: 52956
-
- Jun 24, 2008
-
-
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 17, 2008
-
-
Chris Lattner authored
Patch by David Chisnall! llvm-svn: 52422
-
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
-
- Jun 08, 2008
-
-
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 04, 2008
-
-
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
-
-
- May 31, 2008
-
-
Steve Naroff authored
Teach Expr::isLvalue() about ObjC properties. For now, all properties are writable. Added a FIXME for another day. llvm-svn: 51800
-
- May 30, 2008
-
-
Steve Naroff authored
While it is far from complete, it does fix the following <rdar://problem/5967199> clang on xcode: error: member reference is not to a structure or union llvm-svn: 51719
-
- May 29, 2008
-
-
Steve Naroff authored
- #include ExprObjC.h in many places llvm-svn: 51703
-
- May 27, 2008
-
-
Eli Friedman authored
of extra warnings in the Python source. llvm-svn: 51594
-
- May 22, 2008
-
-
Dan Gohman authored
lib/CodeGen/CGExpr.cpp and to change include/clang/AST/Attr.h to use its own enum for visibility types instead of using llvm::GlobalValue::VisibilityTypes. These changes eliminate dependencies in the AST library on LLVM's VMCore library. llvm-svn: 51398
-
- May 21, 2008
-
-
Dan Gohman authored
llvm-svn: 51392
-
- May 19, 2008
-
-
Eli Friedman authored
code). llvm-svn: 51276
-
- May 16, 2008
-
-
Eli Friedman authored
llvm-svn: 51188
-
- May 15, 2008
-
-
Ted Kremenek authored
expressions. This appears to be a regression introduced in r51113 that caused many test cases to fail (there is still a test case in the Analysis directory that is failing): http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20080512/005706.html llvm-svn: 51164
-
- May 14, 2008
-
-
Eli Friedman authored
expressing the full flexibility of the LLVM shufflevector instruction. The expected immediate usage is in *mmintrin.h, so that they don't depend on the mess of gcc-inherited (and not completely implemented) shuffle builtins. llvm-svn: 51113
-