Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Rename CodeGenFunction::EmitMemSetToZero to EmitNullInitialization. Handle ↵ | Anders Carlsson | 2010-05-21 | 1 | -5/+1 | |
| | | | | | | setting null data member pointers correctly. Fixes PR7139. llvm-svn: 104387 | |||||
* | Copy construction of non-trivial properties must not | Fariborz Jahanian | 2010-05-20 | 1 | -2/+1 | |
| | | | | | | be turned into a setter call (fixes radar 8008649). llvm-svn: 104235 | |||||
* | Picky, picky | Douglas Gregor | 2010-05-20 | 1 | -1/+1 | |
| | | | | llvm-svn: 104230 | |||||
* | Fix a thinko | Douglas Gregor | 2010-05-20 | 1 | -1/+1 | |
| | | | | llvm-svn: 104229 | |||||
* | Assert that we do not try to memcpy a non-POD class type in C++. This | Douglas Gregor | 2010-05-20 | 1 | -1/+7 | |
| | | | | | | | | | | | | | | particular issue was the cause of the Boost.Interprocess failures, and in general will lead to horrendous, hard-to-diagnose miscompiles. The assertion itself has survives self-host and a full Boost build, so we are close to eradicating this problem in C++. Note that the assertion is *not* turned on for Objective-C++, where we still have problems with introducing memcpy's of non-POD class types. That part of the assertion will go away as soon as we fix the known issues in Objective-C++. llvm-svn: 104227 | |||||
* | Emit an lvalue dynamic_cast even if the result is not used. Another | Douglas Gregor | 2010-05-14 | 1 | -1/+15 | |
| | | | | | | part (or possibly all) of PR7132. llvm-svn: 103810 | |||||
* | Remove an unused function. | Anders Carlsson | 2010-05-14 | 1 | -6/+0 | |
| | | | | llvm-svn: 103793 | |||||
* | If we're generating code to create a pointer-to-member function | Douglas Gregor | 2010-05-03 | 1 | -0/+6 | |
| | | | | | | | aggregate and the result of the aggregate is unused, bail out early. Fixes PR7027. llvm-svn: 102942 | |||||
* | When computing the address of a virtual member function pointer, use the ↵ | Anders Carlsson | 2010-05-03 | 1 | -1/+6 | |
| | | | | | | pointer width instead of hardcoding for 64-bit. llvm-svn: 102921 | |||||
* | Don't copy or initialize empty classes. Fixes PR7012. | Anders Carlsson | 2010-05-03 | 1 | -0/+8 | |
| | | | | llvm-svn: 102891 | |||||
* | Get rid of the old GetNonVirtualBaseClassOffset and change all call sites to ↵ | Anders Carlsson | 2010-04-24 | 1 | -1/+1 | |
| | | | | | | use the new version. llvm-svn: 102274 | |||||
* | Vtable -> VTable renames across the board. | Anders Carlsson | 2010-04-17 | 1 | -1/+1 | |
| | | | | llvm-svn: 101666 | |||||
* | Reapply patch for adding support for address spaces and added a isVolatile ↵ | Mon P Wang | 2010-04-04 | 1 | -4/+19 | |
| | | | | | | field to memcpy, memmove, and memset. llvm-svn: 100305 | |||||
* | Revert r100193 since it causes failures in objc in clang | Mon P Wang | 2010-04-02 | 1 | -19/+4 | |
| | | | | llvm-svn: 100200 | |||||
* | Reapply patch for adding support for address spaces and added a isVolatile ↵ | Mon P Wang | 2010-04-02 | 1 | -4/+19 | |
| | | | | | | field to memcpy, memmove, and memset. llvm-svn: 100193 | |||||
* | Revert Mon Ping's 99930 due to broken llvm-gcc buildbots. | Bob Wilson | 2010-03-30 | 1 | -19/+4 | |
| | | | | llvm-svn: 99949 | |||||
* | Added support for address spaces and added a isVolatile field to memcpy, ↵ | Mon P Wang | 2010-03-30 | 1 | -4/+19 | |
| | | | | | | memmove, and memset llvm-svn: 99930 | |||||
* | Rename CGVtableInfo to CodeGenVTables in preparation of adding another ↵ | Anders Carlsson | 2010-03-23 | 1 | -2/+1 | |
| | | | | | | VTableInfo class. llvm-svn: 99250 | |||||
* | Fix PR6648 by not creating a temporary with the type of a | Rafael Espindola | 2010-03-21 | 1 | -4/+0 | |
| | | | | | | | | | | | CXXExprWithTemporaries. Not emitting the expression as an aggregate might be the right thing to do, but is orthogonal. Emitting it as an scalar expression will still try to create a temporary for the incomplete type of the CXXExprWithTemporaries and fail. llvm-svn: 99134 | |||||
* | add a codegen hack to work around an AST bug, allowing us to compile the | Chris Lattner | 2010-03-08 | 1 | -2/+12 | |
| | | | | | | code in PR6537. This should be reverted when the ast bug is fixed. llvm-svn: 97981 | |||||
* | Perform overload resolution when static_cast'ing from a | Douglas Gregor | 2010-03-07 | 1 | -0/+10 | |
| | | | | | | | pointer-to-member-to-derived to a pointer-to-member-to-base. Fixes PR6072. llvm-svn: 97923 | |||||
* | PR6386: Fix a recent regression in IRGen of cast-to-union constructs. | Eli Friedman | 2010-02-23 | 1 | -1/+1 | |
| | | | | llvm-svn: 96958 | |||||
* | IRgen: Add CreateMemTemp, for creating an temporary memory object for a ↵ | Daniel Dunbar | 2010-02-09 | 1 | -11/+10 | |
| | | | | | | | | | | particular type, and flood fill. - CreateMemTemp sets the alignment on the alloca correctly, which fixes a great many places in IRgen where we were doing the wrong thing. - This fixes many many more places than the test case, but my feeling is we need to audit alignment systematically so I'm not inclined to try hard to test the individual fixes in this patch. If this bothers you, patches welcome! PR6240. llvm-svn: 95648 | |||||
* | Use the right type when taking the address of a non-virtual member function ↵ | Anders Carlsson | 2010-02-07 | 1 | -2/+6 | |
| | | | | | | pointer. Fixes PR6258. llvm-svn: 95524 | |||||
* | IRgen: Factor out EmitAggExprToLValue. | Daniel Dunbar | 2010-02-05 | 1 | -0/+10 | |
| | | | | llvm-svn: 95416 | |||||
* | Rename StartConditionalBranch/FinishConditionalBranch to ↵ | Anders Carlsson | 2010-02-04 | 1 | -4/+4 | |
| | | | | | | BeginConditionalBranch/EndConditionalBranch. llvm-svn: 95308 | |||||
* | Calculate offset correctly when taking the address of a virtual member function. | Anders Carlsson | 2010-02-04 | 1 | -1/+5 | |
| | | | | llvm-svn: 95305 | |||||
* | Handle reference binding in aggregate initializers. Fixes another 47 tests. | Anders Carlsson | 2010-02-03 | 1 | -5/+5 | |
| | | | | llvm-svn: 95235 | |||||
* | Add a band-aid fix for clang self-hosting. A better fix will follow shortly. | Anders Carlsson | 2010-02-03 | 1 | -0/+3 | |
| | | | | llvm-svn: 95232 | |||||
* | More cleanup. | Anders Carlsson | 2010-02-03 | 1 | -10/+14 | |
| | | | | llvm-svn: 95226 | |||||
* | Some class related cleanup. | Anders Carlsson | 2010-01-31 | 1 | -2/+2 | |
| | | | | llvm-svn: 94938 | |||||
* | Simplify EmitLValueForField - we can get whether the field is part of a ↵ | Anders Carlsson | 2010-01-29 | 1 | -2/+2 | |
| | | | | | | union or not from the FieldDecl (through its DeclContext). llvm-svn: 94798 | |||||
* | When emitting member function pointers, use the canonical decl if the member ↵ | Anders Carlsson | 2010-01-05 | 1 | -1/+2 | |
| | | | | | | function is virtual. Fixes PR5940. llvm-svn: 92680 | |||||
* | Revert r92431, this code isn't dead and broke the ntfs build. | Daniel Dunbar | 2010-01-04 | 1 | -0/+1 | |
| | | | | llvm-svn: 92493 | |||||
* | Delete impossible case. | Eli Friedman | 2010-01-02 | 1 | -1/+0 | |
| | | | | llvm-svn: 92431 | |||||
* | Minor optimization; emit proper unsupported messages for a couple of cases. | Eli Friedman | 2009-12-25 | 1 | -2/+6 | |
| | | | | llvm-svn: 92153 | |||||
* | Fill in the return value slot in CGExprAgg::VisitCallExpr. This takes us ↵ | Anders Carlsson | 2009-12-24 | 1 | -0/+7 | |
| | | | | | | halfway towards fixing PR5824. llvm-svn: 92142 | |||||
* | Handle case when DestPtr is 0. | Mike Stump | 2009-12-18 | 1 | -3/+22 | |
| | | | | llvm-svn: 91658 | |||||
* | When value-initializing a class with no user-defined constructors but | Douglas Gregor | 2009-12-16 | 1 | -0/+5 | |
| | | | | | | | with a non-trivial default constructor, zero-initialize the storage and then call the default constructor. Fixes PR5800. llvm-svn: 91548 | |||||
* | Handle ImplicitValueInitExpr in AggExprEmitter. | Anders Carlsson | 2009-12-16 | 1 | -2/+8 | |
| | | | | llvm-svn: 91519 | |||||
* | Add throw support. WIP. | Mike Stump | 2009-12-09 | 1 | -1/+1 | |
| | | | | llvm-svn: 90982 | |||||
* | Update chunk of #if 0'ed code to remove fixed FIXME and make it compile. We | Eli Friedman | 2009-12-04 | 1 | -11/+6 | |
| | | | | | | | probably want to do some sort of performance assessment before enabling it, though. llvm-svn: 90510 | |||||
* | Remove remaining VISIBILITY_HIDDEN from anonymous namespaces. | Benjamin Kramer | 2009-11-28 | 1 | -2/+1 | |
| | | | | llvm-svn: 90044 | |||||
* | Add case for CK_DerivedToBaseMemberPointer cast kind to | Eli Friedman | 2009-11-27 | 1 | -6/+13 | |
| | | | | | | AggExprEmitter::VisitCastExpr. llvm-svn: 89988 | |||||
* | Fix lifetime of conditional temporaries. Patch by Victor Zverovich! | Anders Carlsson | 2009-11-20 | 1 | -4/+4 | |
| | | | | llvm-svn: 89467 | |||||
* | Fix one last gotcha with typeid. | Mike Stump | 2009-11-18 | 1 | -0/+1 | |
| | | | | llvm-svn: 89172 | |||||
* | Add Code gen support for '->*' operator which fell | Fariborz Jahanian | 2009-10-26 | 1 | -1/+2 | |
| | | | | | | through the crack. llvm-svn: 85160 | |||||
* | Eliminate QualifiedDeclRefExpr, which captured the notion of a | Douglas Gregor | 2009-10-23 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | | | 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 | |||||
* | Complete code gen for '.*' binary expression for | Fariborz Jahanian | 2009-10-22 | 1 | -1/+11 | |
| | | | | | | both scalar and aggregates. llvm-svn: 84910 | |||||
* | Use CK_BitCast for member function pointer casts. Fixes PR5138. | Anders Carlsson | 2009-10-18 | 1 | -0/+6 | |
| | | | | llvm-svn: 84438 |