| #
4d78cf0f |
| 17-Jan-2009 |
Nuno Lopes <[email protected]> |
add support for usage of cast to union thing with static vars
llvm-svn: 62387
|
| #
62db95e8 |
| 12-Jan-2009 |
Daniel Dunbar <[email protected]> |
(LLVM up) Match TargetData API change in LLVM TOT.
llvm-svn: 62101
|
| #
c7acfdfe |
| 06-Jan-2009 |
Douglas Gregor <[email protected]> |
Add QualifiedDeclRefExpr, which retains additional source-location information for declarations that were referenced via a qualified-id, e.g., N::C::value. We keep track of the location of the start
Add QualifiedDeclRefExpr, which retains additional source-location information for declarations that were referenced via a qualified-id, e.g., N::C::value. We keep track of the location of the start of the nested-name-specifier. Note that the difference between QualifiedDeclRefExpr and DeclRefExpr does have an effect on the semantics of function calls in two ways: 1) The use of a qualified-id instead of an unqualified-id suppresses argument-dependent lookup 2) If the name refers to a virtual function, the qualified-id version will call the function determined statically while the unqualified-id version will call the function determined dynamically (by looking up the appropriate function in the vtable).
Neither of these features is implemented yet, but we do print out qualified names for QualifiedDeclRefExprs as part of the AST printing.
llvm-svn: 61789
show more ...
|
| #
2eedc3aa |
| 20-Dec-2008 |
Douglas Gregor <[email protected]> |
Add support for member references (E1.E2, E1->E2) with C++ semantics, which can refer to static data members, enumerators, and member functions as well as to non-static data members.
Implement corre
Add support for member references (E1.E2, E1->E2) with C++ semantics, which can refer to static data members, enumerators, and member functions as well as to non-static data members.
Implement correct lvalue computation for member references in C++. Compute the result type of non-static data members of reference type properly.
llvm-svn: 61294
show more ...
|
| #
b4396f40 |
| 12-Dec-2008 |
Chris Lattner <[email protected]> |
add codegen support for __func__ and friends, producing the same output that GCC does. rdar://6440297
llvm-svn: 60922
|
| #
91f84216 |
| 11-Dec-2008 |
Douglas Gregor <[email protected]> |
Unifies the name-lookup mechanisms used in various parts of the AST and separates lexical name lookup from qualified name lookup. In particular: * Make DeclContext the central data structure for st
Unifies the name-lookup mechanisms used in various parts of the AST and separates lexical name lookup from qualified name lookup. In particular: * Make DeclContext the central data structure for storing and looking up declarations within existing declarations, e.g., members of structs/unions/classes, enumerators in C++0x enums, members of C++ namespaces, and (later) members of Objective-C interfaces/implementations. DeclContext uses a lazily-constructed data structure optimized for fast lookup (array for small contexts, hash table for larger contexts).
* Implement C++ qualified name lookup in terms of lookup into DeclContext.
* Implement C++ unqualified name lookup in terms of qualified+unqualified name lookup (since unqualified lookup is not purely lexical in C++!)
* Limit the use of the chains of declarations stored in IdentifierInfo to those names declared lexically.
* Eliminate CXXFieldDecl, collapsing its behavior into FieldDecl. (FieldDecl is now a ScopedDecl).
* Make RecordDecl into a DeclContext and eliminates its Members/NumMembers fields (since one can just iterate through the DeclContext to get the fields).
llvm-svn: 60878
show more ...
|
| #
38eef1de |
| 01-Dec-2008 |
Anders Carlsson <[email protected]> |
Change more code over to using the new Expr::Evaluate
llvm-svn: 60323
|
| #
9f77f606 |
| 25-Nov-2008 |
Anders Carlsson <[email protected]> |
Remove the #ifdeffed out code.
llvm-svn: 60032
|
| #
20e11f8f |
| 22-Nov-2008 |
Anders Carlsson <[email protected]> |
Use tryEvaluate for constant exprs.
llvm-svn: 59857
|
| #
dcbcbb82 |
| 17-Nov-2008 |
Eli Friedman <[email protected]> |
A few corrections to the expr constant work. Not enabled at the moment.
llvm-svn: 59435
|
| #
4425d8e3 |
| 17-Nov-2008 |
Anders Carlsson <[email protected]> |
More expr constant work. (Off by default).
llvm-svn: 59433
|
| #
67d7b920 |
| 16-Nov-2008 |
Chris Lattner <[email protected]> |
rename Expr::tryEvaluate to Expr::Evaluate.
llvm-svn: 59426
|
| #
43088774 |
| 16-Nov-2008 |
Anders Carlsson <[email protected]> |
More constant expr work.
llvm-svn: 59405
|
| #
ee0d90fe |
| 15-Nov-2008 |
Anders Carlsson <[email protected]> |
Check in code that uses tryEvaluate for emitting constant exprs (not used yet).
llvm-svn: 59375
|
| #
c9dacf4f |
| 15-Nov-2008 |
Anders Carlsson <[email protected]> |
Use IgnoreParenCasts. No functionality change.
llvm-svn: 59371
|
| #
6f28289a |
| 11-Nov-2008 |
Sebastian Redl <[email protected]> |
Introduce a single AST node SizeOfAlignOfExpr for all sizeof and alignof expressions, both of values and types.
llvm-svn: 59057
|
|
Revision tags: llvmorg-2.4.0 |
|
| #
084bc32e |
| 26-Oct-2008 |
Chris Lattner <[email protected]> |
make codegen reject initializes with designators, like this:
t.c:1:13: error: cannot codegen this designators yet int a[10] = {2, 4, [8]=9, 10}; ^~~~~~~~~~~~~~~~~
llvm-svn: 58220
|
| #
5251f1b2 |
| 21-Oct-2008 |
Douglas Gregor <[email protected]> |
Preliminary support for function overloading
llvm-svn: 57909
|
| #
5d3e26a4 |
| 12-Oct-2008 |
Chris Lattner <[email protected]> |
silence release-assert warnings.
llvm-svn: 57392
|
| #
a97132a9 |
| 06-Oct-2008 |
Chris Lattner <[email protected]> |
Make sema and codegen allow __builtin___CFStringMakeConstantString as a valid constant lvalue. Implement this in codegen by moving the code out of CGBuiltin into EmitConstantExpr.
llvm-svn: 57163
|
| #
e50e9014 |
| 06-Oct-2008 |
Chris Lattner <[email protected]> |
instead of making codegen try to know about all of the builtins to generate constants for them, just use the constant evaluator to do the job. This also fixes crashes on 'unknown constant builtins'.
instead of making codegen try to know about all of the builtins to generate constants for them, just use the constant evaluator to do the job. This also fixes crashes on 'unknown constant builtins'.
llvm-svn: 57155
show more ...
|
| #
ab55d9cd |
| 25-Aug-2008 |
Anders Carlsson <[email protected]> |
Handle emitting __builtin_huge_valf as a constant expr.
llvm-svn: 55299
|
| #
ce4528f0 |
| 23-Aug-2008 |
Argyrios Kyrtzidis <[email protected]> |
Add CodeGen support for CXXZeroInitValueExpr.
llvm-svn: 55249
|
| #
3bab3d21 |
| 18-Aug-2008 |
Argyrios Kyrtzidis <[email protected]> |
Add ExplicitCastExpr to replace the current CastExpr, and have ImplicitCastExpr and ExplicitCastExpr derive from a common base class (CastExpr):
Expr -> CastExpr -> ExplicitCastExpr -> I
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
show more ...
|
| #
8bc821ae |
| 16-Aug-2008 |
Daniel Dunbar <[email protected]> |
Add CodeGen support for AddrLabelExpr in initializers.
llvm-svn: 54837
|