summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGCXXExpr.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Get rid of the ugly CGCXX names and replace them with CGClass, CGExprCXX and ↵Anders Carlsson2009-11-241-525/+0
| | | | | | CGTemporaries. llvm-svn: 89742
* Use EmitStoreOfScalar when copying the scalar to the space allocated by 'new'.Anders Carlsson2009-11-221-2/+3
| | | | llvm-svn: 89613
* Simplify rtti building code a little. Prep for reuse for throw rttiMike Stump2009-11-201-2/+2
| | | | | | generation. llvm-svn: 89416
* Refactor emitting call to delete operator into common function EmitDeleteCall.Eli Friedman2009-11-181-26/+29
| | | | llvm-svn: 89173
* Add rtti support for pointer to data members.Mike Stump2009-11-171-3/+3
| | | | llvm-svn: 89155
* Fix typo. Thanks Ted.Mike Stump2009-11-171-1/+1
| | | | llvm-svn: 89031
* Add typeid for the builtin types. WIP.Mike Stump2009-11-171-8/+7
| | | | llvm-svn: 89028
* Ensure we peer through () when handling typeid(*p).Mike Stump2009-11-171-1/+1
| | | | llvm-svn: 89015
* Since we always have 2 edges, we don't need to reserve 3 slot for theMike Stump2009-11-171-1/+1
| | | | | | PHI node. llvm-svn: 89005
* Minor CFG refinements for typeid and dynamic_cast.Mike Stump2009-11-171-4/+1
| | | | llvm-svn: 89004
* Implement dynamic_cast<void*>(E).Mike Stump2009-11-161-51/+64
| | | | llvm-svn: 88988
* Audit done, all the required casts are already done.Mike Stump2009-11-161-2/+0
| | | | llvm-svn: 88966
* Implement most of dynamic_cast. WIP.Mike Stump2009-11-161-1/+110
| | | | llvm-svn: 88901
* Implement two-argument form of delete operator.Eli Friedman2009-11-161-0/+8
| | | | llvm-svn: 88890
* Peer through refernces for typeid. WIP.Mike Stump2009-11-151-0/+2
| | | | llvm-svn: 88871
* Finish off zero check for typeid(*p) so that it will do a __cxa_bad_typeid.Mike Stump2009-11-151-2/+25
| | | | llvm-svn: 88852
* Implement typeid for class types.Mike Stump2009-11-151-0/+36
| | | | llvm-svn: 88843
* Code gen. For virtual destructor call on array objectsFariborz Jahanian2009-11-131-1/+0
| | | | | | (still part of pr5472). llvm-svn: 88712
* Fixes a code gen. bug for array delete operator callFariborz Jahanian2009-11-131-3/+6
| | | | | | | | | | int 32bit abi (pr5472 related). -This line, and those below, will be ignored-- M lib/CodeGen/CGCXXExpr.cpp llvm-svn: 88695
* Code gen for arrady delete operator. Fixes pr5472.Fariborz Jahanian2009-11-131-6/+28
| | | | llvm-svn: 88680
* Add a special BuildVirtualCall that's going to be used for building calls to ↵Anders Carlsson2009-11-131-16/+23
| | | | | | | | | | | | | | | | destructors. This is needed because when compiling: struct A { virtual ~A(); }; void f(A* a) { delete a; } A's deleting destructor should be called. llvm-svn: 87083
* Fix for PR5454: make sure to use the right block as the predecessor in theEli Friedman2009-11-101-0/+1
| | | | | | generated PHI node for the null check of a new operator. llvm-svn: 86738
* Fix a lame regression in IR gen for C++ delete expressions. PR5102Douglas Gregor2009-10-011-0/+2
| | | | llvm-svn: 83195
* Handle C++ delete expressions when the overloaded delete operator is aDouglas Gregor2009-09-291-3/+11
| | | | | | | | | | | "usual deallocation function" with two arguments. CodeGen will have to handle this case specifically, since the value for the second argument (the size of the allocated object) may have to be computed at run time. Fixes the Sema part of PR4782. llvm-svn: 83080
* Emit new[] cookie when needed.Anders Carlsson2009-09-231-6/+19
| | | | llvm-svn: 82642
* Basic support for new[].Anders Carlsson2009-09-231-26/+104
| | | | llvm-svn: 82628
* Move codegen of new and delete to CGCXXExpr.cppAnders Carlsson2009-09-221-0/+203
llvm-svn: 82585
OpenPOWER on IntegriCloud