- Apr 20, 2010
-
-
Anders Carlsson authored
llvm-svn: 101872
-
Anders Carlsson authored
Assert that the path from the derived to the base class in CodeGenFunction::GetAddressOfBaseClass is not ambiguous. llvm-svn: 101869
-
Douglas Gregor authored
function declaration, since it may end up being changed (e.g., "extern" can become "static" if a prior declaration was static). Patch by Enea Zaffanella and Paolo Bolzoni. llvm-svn: 101826
-
- Apr 12, 2010
-
-
Anders Carlsson authored
Have the CXXBaseOrMemberInitializer keep track of whether an initializer initializes a virtual base or not. llvm-svn: 101004
-
- Mar 30, 2010
-
-
Rafael Espindola authored
This introduces FunctionType::ExtInfo to hold the calling convention and the noreturn attribute. The next patch will extend it to include the regparm attribute and fix the bug. llvm-svn: 99920
-
Anders Carlsson authored
llvm-svn: 99869
-
Anders Carlsson authored
Use the new function in EmitClassAggrMemberwiseCopy, fixing the same assert as seen in PR6628 but for arrays this time. llvm-svn: 99867
-
Anders Carlsson authored
llvm-svn: 99866
-
Anders Carlsson authored
llvm-svn: 99865
-
Anders Carlsson authored
Handle default arguments when calling copy constructors for bases or members when synthesizing a copy constructor. Fixes PR6628. llvm-svn: 99864
-
- Mar 29, 2010
-
-
Anders Carlsson authored
Flip the switch to always get vtables from the VTT when necessary, I've verified that clang bootstraps with this. llvm-svn: 99800
-
Anders Carlsson authored
llvm-svn: 99798
-
Anders Carlsson authored
llvm-svn: 99791
-
Anders Carlsson authored
llvm-svn: 99790
-
Anders Carlsson authored
Use construction vtables when needed. This is currently guarded by -fdump-vtable-layouts since it doesn't work 100% yet :) llvm-svn: 99787
-
- Mar 28, 2010
-
-
Anders Carlsson authored
Reapply r99775 with a fix for a silly bug - we were setting the vtable pointer for all bases, even those without a vtable pointer :) llvm-svn: 99777
-
Anders Carlsson authored
llvm-svn: 99776
-
Anders Carlsson authored
More improvements to setting the vtable pointer. We now no longer set the vtable pointer for non-virtual primary bases. We also do a pre-order traversal of the class hierarchy; this is necessary in order to get the right vbase offset offsets in base ctors/dtors. llvm-svn: 99775
-
Anders Carlsson authored
llvm-svn: 99773
-
- Mar 26, 2010
-
-
Anders Carlsson authored
llvm-svn: 99614
-
Anders Carlsson authored
llvm-svn: 99612
-
Anders Carlsson authored
llvm-svn: 99609
-
- Mar 24, 2010
-
-
Anders Carlsson authored
llvm-svn: 99385
-
Anders Carlsson authored
llvm-svn: 99381
-
- Mar 23, 2010
-
-
Anders Carlsson authored
llvm-svn: 99250
-
- Mar 11, 2010
-
-
Anders Carlsson authored
llvm-svn: 98248
-
- Feb 23, 2010
-
-
John McCall authored
1) emit base destructors as aliases to their unique base class destructors under some careful conditions. This is enabled for the same targets that can support complete-to-base aliases, i.e. not darwin. 2) Emit non-variadic complete constructors for classes with no virtual bases as calls to the base constructor. This is enabled on all targets and in theory can trigger in situations that the alias optimization can't (mostly involving virtual bases, mostly not yet supported). These are bundled together because I didn't think it worthwhile to split them, not because they really need to be. llvm-svn: 96842
-
- Feb 19, 2010
-
-
John McCall authored
Fix some bugs with function-try-blocks and simplify normal try-block code generation. This implementation excludes a deleting destructor's call to operator delete() from the function-try-block, which I believe is correct but which I can't find straightforward support for at a moment's glance. llvm-svn: 96670
-
- Feb 18, 2010
-
-
John McCall authored
calling them as subroutines. This triggers whenever the alias optimization doesn't, i.e. when the dtor has linkonce linkage or there are virtual bases or it's the deleting dtor. llvm-svn: 96605
-
John McCall authored
change. llvm-svn: 96564
-
- Feb 16, 2010
-
-
John McCall authored
repeatedly reloading from an alloca. We still need to create the alloca for debug info purposes (although we currently create it in all cases because of some abstraction boundaries that're hard to break down). llvm-svn: 96403
-
John McCall authored
the offset to the virtual bases statically inside of relying on the virtual base offsets in the object's vtable(s). This is both more efficient and sound against the destructor's manipulation of the vtables. Also extract a few helper routines. Oh and we seem to pass all tests with an optimized clang now. llvm-svn: 96327
-
- Feb 07, 2010
-
-
Anders Carlsson authored
llvm-svn: 95525
-
- Feb 06, 2010
-
-
Anders Carlsson authored
llvm-svn: 95502
-
Anders Carlsson authored
If a constructor throws an exception we need to execute the destructors for all fully constructed members. Fixes ctor_dtor_count.cpp in the test suite. llvm-svn: 95501
-
Ted Kremenek authored
llvm-svn: 95476
-
John McCall authored
taken for non-trivial constructors. llvm-svn: 95457
-
- Feb 05, 2010
-
-
John McCall authored
follows (as conservatively as possible) gcc's current behavior: attributes written on return types that don't apply there are applied to the function instead, etc. Only parse CC attributes as type attributes, not as decl attributes; don't accepet noreturn as a decl attribute on ValueDecls, either (it still needs to apply to other decls, like blocks). Consistently consume CC/noreturn information throughout codegen; enforce this by removing their default values in CodeGenTypes::getFunctionInfo(). llvm-svn: 95436
-
- Feb 03, 2010
-
-
Anders Carlsson authored
Revert the new reference binding code; I came up with a way simpler solution for the reference binding bug that is preventing self-hosting. llvm-svn: 95223
-
- Feb 02, 2010
-
-
Anders Carlsson authored
Set the correct vtable pointers _before_ generating code for any member initializers. Fixes about ~2000 clang/LLVM tests in the clang-on-clang build. llvm-svn: 95116
-