"llvm/git@repo.hca.bsc.es:lalbano/llvm-bpevl.git" did not exist on "a64bd44fd8269bdd246fb21a7ca645e957bc9501"
- 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
-
- Jan 31, 2010
-
-
Eli Friedman authored
llvm-svn: 94965
-
Douglas Gregor authored
(necessarily simultaneous) changes: - CXXBaseOrMemberInitializer now contains only a single initializer rather than a set of initialiation arguments + a constructor. The single initializer covers all aspects of initialization, including constructor calls as necessary but also cleanup of temporaries created by the initializer (which we never handled before!). - Rework + simplify code generation for CXXBaseOrMemberInitializers, since we can now just emit the initializer as an initializer. - Switched base and member initialization over to the new initialization code (InitializationSequence), so that it - Improved diagnostics for the new initialization code when initializing bases and members, to match the diagnostics produced by the previous (special-purpose) code. - Simplify the representation of type-checked constructor initializers in templates; instead of keeping the fully-type-checked AST, which is rather hard to undo at template instantiation time, throw away the type-checked AST and store the raw expressions in the AST. This simplifies instantiation, but loses a little but of information in the AST. - When type-checking implicit base or member initializers within a dependent context, don't add the generated initializers into the AST, because they'll look like they were explicit. - Record in CXXConstructExpr when the constructor call is to initialize a base class, so that CodeGen does not have to infer it from context. This ensures that we call the right kind of constructor. There are also a few "opportunity" fixes here that were needed to not regress, for example: - Diagnose default-initialization of a const-qualified class that does not have a user-declared default constructor. We had this diagnostic specifically for bases and members, but missed it for variables. That's fixed now. - When defining the implicit constructors, destructor, and copy-assignment operator, set the CurContext to that constructor when we're defining the body. llvm-svn: 94952
-
Anders Carlsson authored
When performing a derived-to-base cast that we know will not change the offset, we don't need to null check the input pointer. Fixes PR5965. llvm-svn: 94942
-
Anders Carlsson authored
When doing a base-to-derived cast we don't need to null check the derived value if the class offset is 0. llvm-svn: 94939
-
Anders Carlsson authored
llvm-svn: 94938
-
- Jan 29, 2010
-
-
Anders Carlsson authored
llvm-svn: 94800
-
Anders Carlsson authored
Add a new EmitLValueForFieldInitialization that will be used for initializing fields (and reference type fields in particular). llvm-svn: 94799
-
Anders Carlsson authored
Simplify EmitLValueForField - we can get whether the field is part of a union or not from the FieldDecl (through its DeclContext). llvm-svn: 94798
-
- Jan 15, 2010
-
-
Eli Friedman authored
llvm-svn: 93546
-
- Jan 02, 2010
-
-
Anders Carlsson authored
llvm-svn: 92420
-
Anders Carlsson authored
Correctly pass VTT parameters to constructors and destructors. The VTTs aren't yet used in the ctors/dtors, but that will follow. llvm-svn: 92409
-
- Jan 01, 2010
-
-
Anders Carlsson authored
llvm-svn: 92399
-
- Dec 24, 2009
-
-
Anders Carlsson authored
llvm-svn: 92148
-
- Dec 03, 2009
-
-
Anders Carlsson authored
llvm-svn: 90401
-
- Nov 28, 2009
-
-
Eli Friedman authored
llvm-svn: 90026
-
Eli Friedman authored
GetCXXBaseClassOffset to actually pass the test. llvm-svn: 90025
-
- Nov 24, 2009
-
-
Anders Carlsson authored
llvm-svn: 89742
-
- Nov 23, 2009
-
-
Anders Carlsson authored
llvm-svn: 89678
-
- Nov 13, 2009
-
-
Mike Stump authored
but this is necessary to continue work on virtual vtables. We don't want to penalize virtual table building testcases, just because complex virtual conversions don't yet work. llvm-svn: 88676
-
- Nov 10, 2009
-
-
Eli Friedman authored
llvm-svn: 86745
-
Eli Friedman authored
necessary. llvm-svn: 86741
-
- Oct 13, 2009
-
-
Benjamin Kramer authored
llvm-svn: 83964
-
- Oct 07, 2009
-
-
Anders Carlsson authored
Change GetAddressCXXOfBaseClass to use CXXBasePaths for calculating base class offsets. Fix the code to handle virtual bases as well. llvm-svn: 83426
-
- Oct 03, 2009
-
-
Anders Carlsson authored
llvm-svn: 83263
-
- Sep 29, 2009
-
-
Anders Carlsson authored
llvm-svn: 83041
-