Benjamin Kramer
337e3a5fea
Remove remaining VISIBILITY_HIDDEN from anonymous namespaces.
...
llvm-svn: 90044
2009-11-28 19:45:26 +00:00
Eli Friedman
7eb0ccaa58
Add case for CK_DerivedToBaseMemberPointer cast kind to
...
AggExprEmitter::VisitCastExpr.
llvm-svn: 89988
2009-11-27 04:46:20 +00:00
Anders Carlsson
0a66c26191
Fix lifetime of conditional temporaries. Patch by Victor Zverovich!
...
llvm-svn: 89467
2009-11-20 17:27:56 +00:00
Mike Stump
5bbbb13765
Fix one last gotcha with typeid.
...
llvm-svn: 89172
2009-11-18 00:40:12 +00:00
Fariborz Jahanian
038374f887
Add Code gen support for '->*' operator which fell
...
through the crack.
llvm-svn: 85160
2009-10-26 21:58:25 +00:00
Douglas Gregor
4bd90e53c2
Eliminate QualifiedDeclRefExpr, which captured the notion of a
...
qualified reference to a declaration that is not a non-static data
member or non-static member function, e.g.,
namespace N { int i; }
int j = N::i;
Instead, extend DeclRefExpr to optionally store the qualifier. Most
clients won't see or care about the difference (since
QualifierDeclRefExpr inherited DeclRefExpr). However, this reduces the
number of top-level expression types that clients need to cope with,
brings the implementation of DeclRefExpr into line with MemberExpr,
and simplifies and unifies our handling of declaration references.
Extended DeclRefExpr to (optionally) store explicitly-specified
template arguments. This occurs when naming a declaration via a
template-id (which will be stored in a TemplateIdRefExpr) that,
following template argument deduction and (possibly) overload
resolution, is replaced with a DeclRefExpr that refers to a template
specialization but maintains the template arguments as written.
llvm-svn: 84962
2009-10-23 18:54:35 +00:00
Fariborz Jahanian
ffba662dd2
Complete code gen for '.*' binary expression for
...
both scalar and aggregates.
llvm-svn: 84910
2009-10-22 22:57:31 +00:00
Anders Carlsson
9500ad13b0
Use CK_BitCast for member function pointer casts. Fixes PR5138.
...
llvm-svn: 84438
2009-10-18 20:31:03 +00:00
Nuno Lopes
ff3507b951
add support for codegening CXXZeroInitValueExprs
...
llvm-svn: 84418
2009-10-18 15:18:11 +00:00
Daniel Dunbar
1d4172c52b
Suppress -Asserts warning.
...
llvm-svn: 84329
2009-10-17 09:39:30 +00:00
Benjamin Kramer
abd5b90e4c
Simplify pointer creation with the new Type::getInt*Ptr methods.
...
llvm-svn: 83964
2009-10-13 10:07:13 +00:00
Anders Carlsson
2bb27f53e0
Move the vtable builder to CGVtable.cpp, general cleanup.
...
llvm-svn: 83798
2009-10-11 22:13:54 +00:00
Anders Carlsson
d5931cd2b7
Pass the canonical method decl to GetVtableIndex. Fixes PR5120.
...
llvm-svn: 83272
2009-10-03 19:56:56 +00:00
Anders Carlsson
c46bf276e1
Teach AggExprEmitter about pointers to member functions.
...
llvm-svn: 83266
2009-10-03 15:43:24 +00:00
Anders Carlsson
32bfb1ce8f
Move some functions from CodeGenFunctions to CodeGenModule so they can be used by CGExprConstant.
...
llvm-svn: 83263
2009-10-03 14:56:57 +00:00
Anders Carlsson
9150a2a8c0
Handle CK_BaseToDerivedMemberPointer for member function pointers. Fixes PR5091.
...
llvm-svn: 83041
2009-09-29 03:13:20 +00:00
Anders Carlsson
b05a3e551b
Improve support for member function pointers.
...
llvm-svn: 83039
2009-09-29 02:09:01 +00:00
Anders Carlsson
1fb7ae9e3c
Use a switch statement in VisitCastExpr.
...
llvm-svn: 83038
2009-09-29 01:23:39 +00:00
John McCall
8ccfcb51ee
Refactor the representation of qualifiers to bring ExtQualType out of the
...
Type hierarchy. Demote 'volatile' to extended-qualifier status. Audit our
use of qualifiers and fix a few places that weren't dealing with qualifiers
quite right; many more remain.
llvm-svn: 82705
2009-09-24 19:53:00 +00:00
Anders Carlsson
e9766d559b
If a cast expression needs either a conversion function or a constructor to be called, generate implicit child expressions that call them.
...
llvm-svn: 81383
2009-09-09 21:33:21 +00:00
Mike Stump
11289f4280
Remove tabs, and whitespace cleanups.
...
llvm-svn: 81346
2009-09-09 15:08:12 +00:00
Fariborz Jahanian
879d726608
Re-implemented generation of objc_memmove_collectable
...
API for copying GC'able aggregates (Next runtime only).
llvm-svn: 80607
2009-08-31 19:33:16 +00:00
Fariborz Jahanian
3df8767869
Patch for code gen. for c-style cast which ends in
...
using class's conversion functions [12.3.2-p2]
llvm-svn: 80433
2009-08-29 19:15:16 +00:00
Fariborz Jahanian
c71f094c08
ir-gen for type convesion of class objects. WIP.
...
llvm-svn: 80178
2009-08-26 23:31:30 +00:00
Fariborz Jahanian
9a84665921
Using "ObjCImplicitSetterGetterRefExpr" instead of "ObjCImplctSetterGetterRefExpr".
...
A field rename and more comments.
llvm-svn: 79537
2009-08-20 17:02:02 +00:00