summaryrefslogtreecommitdiffstats
path: root/clang/Sema/SemaExpr.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* rename IntegerConstant->IntegerLiteralSteve Naroff2007-02-211-6/+6
| | | | | | | rename FloatingConstant->FloatingLiteral rename StringExpr->StringLiteral llvm-svn: 39341
* C++: Added support for bool types.Bill Wendling2007-02-131-1/+1
| | | | llvm-svn: 39338
* Add support for target-independent builtin functions (like __builtin_abs),Chris Lattner2007-01-281-7/+3
| | | | | | | | | | | | | | | | | | whose decl objects are lazily created the first time they are referenced. Builtin functions are described by the clang/AST/Builtins.def file, which makes it easy to add new ones. This is missing two important pieces: 1. Support for the rest of the gcc builtins. 2. Support for target-specific builtins (e.g. __builtin_ia32_emms). Just adding this builtins reduces the number of implicit function definitions by 6, reducing the # diagnostics from 550 to 544 when parsing carbon.h. I need to add all the i386-specific ones to eliminate several hundred more. ugh. llvm-svn: 39327
* rename some classes, no functionality changes.Chris Lattner2007-01-261-1/+1
| | | | llvm-svn: 39307
* Diagnose invalid sizeof/alignof operands.Chris Lattner2007-01-231-1/+19
| | | | llvm-svn: 39291
* Add support for C90 implicitly defined functions, e.g.:Chris Lattner2006-11-201-4/+23
| | | | | | | | int A() { return X(); } llvm-svn: 39194
* remember referenced decls in our AST'sChris Lattner2006-11-201-2/+1
| | | | llvm-svn: 39193
* parse identifier expressions properly. This allows us diagnose this:Chris Lattner2006-11-201-12/+24
| | | | | | | | | | | | | | | | | | | | | | | typedef int X; int A() { return X; } int B() { return Y; } as: /Users/sabre/test.c:5:10: error: unexpected type name 'X': expected expression return X; ^ /Users/sabre/test.c:9:10: error: use of undeclared 'Y' value return Y; ^ llvm-svn: 39192
* remember and pretty-print cast typesChris Lattner2006-11-201-3/+5
| | | | llvm-svn: 39191
* Parse and remember types enough that we can pretty print:Chris Lattner2006-11-191-1/+3
| | | | | | | | | | | | | | void foo(int X) { X = __alignof(int); X = sizeof(const int** restrict ** volatile*); } as: x = __alignof(int) x = sizeof(int const **restrict **volatile *) llvm-svn: 39181
* Let ASTContext hold target info, since it's usefulChris Lattner2006-11-101-2/+1
| | | | llvm-svn: 39162
* introduce a new ASTContext class to hold long-lived ast nodes.Chris Lattner2006-11-101-11/+12
| | | | llvm-svn: 39161
* move the rest of the expr sema to SemaExpr.cpp and the decl processing stuffChris Lattner2006-11-101-0/+167
| | | | | | to SemaDecl.cpp llvm-svn: 39159
* split semantic analysis of expressions out to its own fileChris Lattner2006-11-101-0/+239
llvm-svn: 39155
OpenPOWER on IntegriCloud