summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX
Commit message (Collapse)AuthorAgeFilesLines
* Treat list-initialization of scalars as a first-class citizen in C++11.Sebastian Redl2011-09-241-0/+7
| | | | | | | | | Allow empty initializer lists for scalars, which mean value-initialization. Constant evaluation for single-element and empty initializer lists for scalars. Codegen for empty initializer lists for scalars. Test case comes in next commit. llvm-svn: 140459
* Explicitly-defaulted copy/move constructors are not "implicit", butDouglas Gregor2011-09-221-1/+73
| | | | | | | they still need the logic to cope with array member initialization. Fixes PR10720. llvm-svn: 140302
* Enforce access control for conversion operators used in contextualJohn McCall2011-09-211-1/+1
| | | | | | conversions (rather than just call-arguments). llvm-svn: 140244
* Throw the switch to convert clang to the new exception handling model!Bill Wendling2011-09-198-32/+49
| | | | | | | | | | | | | This model uses the 'landingpad' instruction, which is pinned to the top of the landing pad. (A landing pad is defined as the destination of the unwind branch of an invoke instruction.) All of the information needed to generate the correct exception handling metadata during code generation is encoded into the landingpad instruction. The new 'resume' instruction takes the place of the llvm.eh.resume intrinsic call. It's lowered in much the same way as the intrinsic is. llvm-svn: 140049
* In apple-kext mode, use external linkage for explicit template instantiationsJohn McCall2011-09-191-2/+10
| | | | | | instead of internal linkage. llvm-svn: 140030
* PR10304: Do not call destructors for data members from union destructors. ↵Richard Smith2011-09-181-0/+42
| | | | | | | | | Prior to C++11, this has no effect since any such destructors must be trivial, and in C++11 such destructors must not be called. llvm-svn: 139997
* Fix PR10531. Attach an initializer to anonymous unions, since the default ↵Richard Smith2011-09-182-11/+35
| | | | | | constructor might not be trivial (if there is an in-class initializer for some member) and might be deleted. llvm-svn: 139991
* Emit debug info for c++0x nullptr.Devang Patel2011-09-142-2/+11
| | | | llvm-svn: 139752
* Re-commit r139643.Eli Friedman2011-09-131-3/+1
| | | | | | Make clang use Acquire loads and Release stores where necessary. llvm-svn: 139650
* Revert r139643 while I look into it; it's breaking selfhost.Eli Friedman2011-09-131-1/+3
| | | | llvm-svn: 139648
* Make clang use Acquire loads and Release stores where necessary.Eli Friedman2011-09-131-3/+1
| | | | llvm-svn: 139643
* Update test to fix windows buildbot.Devang Patel2011-09-121-1/+4
| | | | llvm-svn: 139513
* Fix debug info encodings for char16_t and char32_t.Devang Patel2011-09-121-0/+5
| | | | llvm-svn: 139502
* Emit debug info for wchar_t.Devang Patel2011-09-101-0/+5
| | | | llvm-svn: 139443
* When extracting the callee declaration from a call expression, be sureDouglas Gregor2011-09-061-0/+12
| | | | | | | | | | to look through SubstNonTypeTemplateParmExprs. Then, update the IR generation of CallExprs to actually use CallExpr::getCalleeDecl() rather than attempting to mimick its behavior (badly). Fixes <rdar://problem/10063539>. llvm-svn: 139185
* Rearrange code so that we pass the right pointer to delete[] when an ↵Eli Friedman2011-09-061-0/+18
| | | | | | exception is thrown constructing the array elements in an array new expression. Fixes PR10870. llvm-svn: 139158
* PR10506: Extend test for temporary cleanups in range-based for loop to cover ↵Richard Smith2011-09-041-1/+9
| | | | | | the dependent case. llvm-svn: 139109
* Don't try to emit unsupported templated friend declarations. They're unsupportedNick Lewycky2011-09-011-0/+12
| | | | | | | and may very well be dependent-types, triggering an assertion in debug info codegen. llvm-svn: 138970
* The size of struct UnwindException varies by platform with noJohn McCall2011-08-301-0/+28
| | | | | | | apparent general rule. Just special-case it as appropriate. PR10789. llvm-svn: 138792
* Be sure to emit lvalue-to-rvalue casts for loads from x-values.John McCall2011-08-301-0/+18
| | | | | | | Doing this happens to disrupt the pattern that ARC was looking for for move optimizations, so we need to fix that simultaneously. llvm-svn: 138789
* The lvalue-to-rvalue on structs in C++ is actually partJohn McCall2011-08-271-10/+36
| | | | | | | of default argument promotion and needs to happen unconditionally. This is particularly semantically important in C++0x. llvm-svn: 138691
* Since the 'is aliased' bit is critical for correctness in C++, itJohn McCall2011-08-261-0/+13
| | | | | | | | | really shouldn't be optional. Fix the remaining place where a temporary was being passed as potentially-aliased memory. Fixes PR10756. llvm-svn: 138627
* An initialization does not alias.John McCall2011-08-261-0/+4
| | | | llvm-svn: 138624
* The allocated exception slot does not alias anything; should fix self-host.John McCall2011-08-261-0/+13
| | | | llvm-svn: 138615
* Track whether an AggValueSlot is potentially aliased, and do notJohn McCall2011-08-252-7/+7
| | | | | | | | | | emit call results into potentially aliased slots. This allows us to properly mark indirect return slots as noalias, at the cost of requiring an extra memcpy when assigning an aggregate call result into a l-value. It also brings us into compliance with the x86-64 ABI. llvm-svn: 138599
* Remove this test. It requires C++ standard library headers, which we'dChandler Carruth2011-08-201-13/+0
| | | | | | | | | | | like to avoid within the Clang test suite, it doesn't verify the output at all so it only servers as a test that Clang doesn't crash, and finally all it does is declare a function that returns a vector and call it. Probably the biggest thing being tested here is Clang's parsing of the vector template, and we have lots of good template parsing tests. We don't need another in codegen. llvm-svn: 138197
* test/CodeGenCXX/2003-11-25-ReturningOpaqueByValue.cpp: Mark XFAIL: win32.NAKAMURA Takumi2011-08-201-0/+2
| | | | | FIXME: Avoid using system headers. clang cannot handle MS <vector> yet. llvm-svn: 138190
* Remove this file, it's not much of a test and string headers causeEric Christopher2011-08-201-13/+0
| | | | | | problems on windows. llvm-svn: 138166
* Migrate, FileCheckize and update:Eric Christopher2011-08-207-0/+124
| | | | | | | | | | | | | | 2003-11-02-WeakLinkage.cpp 2003-11-18-PtrMemConstantInitializer.cpp 2003-11-25-ReturningOpaqueByValue.cpp 2003-11-27-MultipleInheritanceThunk.cpp 2003-11-29-DuplicatedCleanupTest.cpp 2003-12-08-ArrayOfPtrToMemberFunc.cpp 2004-01-11-DynamicInitializedConstant.cpp from llvm/test/FrontendC++. llvm-svn: 138162
* Migrate, FileCheckize and update:Eric Christopher2011-08-209-0/+127
| | | | | | | | | | | | | | | | 2004-03-08-ReinterpretCastCopy.cpp 2004-03-09-UnmangledBuiltinMethods.cpp 2004-03-15-CleanupsAndGotos.cpp 2004-06-08-LateTemplateInstantiation.cpp 2004-09-27-CompilerCrash.cpp 2004-09-27-DidntEmitTemplate.cpp 2004-11-27-ExceptionCleanupAssertion.cpp 2004-11-27-FriendDefaultArgCrash.cpp 2005-01-03-StaticInitializers.cpp from llvm/test/FrontendC++. llvm-svn: 138157
* Modify the check line to be happier on windows.Eric Christopher2011-08-191-1/+1
| | | | llvm-svn: 138152
* Remove dead file.Eric Christopher2011-08-191-29/+0
| | | | llvm-svn: 138150
* Migrate, FileCheckize and update:Eric Christopher2011-08-1913-0/+240
| | | | | | | | | | | | | | | | | | | | 2005-02-11-AnonymousUnion.cpp 2005-02-13-BadDynamicInit.cpp 2005-02-14-BitFieldOffset.cpp 2005-02-19-BitfieldStructCrash.cpp 2005-02-19-UnnamedVirtualThunkArgument.cpp 2005-02-20-BrokenReferenceTest.cpp 2006-03-01-GimplifyCrash.cpp 2006-03-06-C++RecurseCrash.cpp 2006-09-12-OpaqueStructCrash.cpp 2006-10-30-ClassBitfield.cpp 2006-11-20-GlobalSymbols.cpp 2006-11-20-GlobalSymbols.ll 2006-11-30-ConstantExprCrash.cpp from llvm/test/FrontendC++. llvm-svn: 138148
* Try removing xfail and xtarget to see if this brings back a couple of bots.Eric Christopher2011-08-191-2/+1
| | | | llvm-svn: 138139
* Migrate 2007-01-02-UnboundedArray.cpp from llvm/test/FrontendC++.Eric Christopher2011-08-191-0/+14
| | | | llvm-svn: 138138
* Migrate:Eric Christopher2011-08-1912-0/+361
| | | | | | | | | | | | | | | | | | | 2007-01-06-PtrMethodInit.cpp 2007-04-05-PackedBitFields-1.cpp 2007-04-05-PackedBitFieldsOverlap-2.cpp 2007-04-05-PackedBitFieldsOverlap.cpp 2007-04-05-PackedBitFieldsSmall.cpp 2007-04-05-StructPackedFieldUnpacked.cpp 2007-04-10-PackedUnion.cpp 2007-04-14-FNoBuiltin.cpp 2007-05-03-VectorInit.cpp 2007-07-29-RestrictPtrArg.cpp 2007-07-29-RestrictRefArg.cpp 2007-09-10-RecursiveTypeResolution.cpp from llvm/test/FrontendC++ and FileCheckize where appropriate. llvm-svn: 138134
* Remove 2008-10-29-WrongOffset.cpp since it requires a header file on allEric Christopher2011-08-191-489/+0
| | | | | | platforms. llvm-svn: 138118
* Migrate 2007-10-01-StructResize.cpp from llvm/test/FrontendC++.Eric Christopher2011-08-191-0/+13
| | | | llvm-svn: 138117
* Migrate 2008-01-12-VecInit.cpp from llvm/test/FrontendC++.Eric Christopher2011-08-191-0/+5
| | | | llvm-svn: 138114
* Migrate 2008-05-07-CrazyOffsetOf.cpp from llvm/test/FrontendC++.Eric Christopher2011-08-191-0/+8
| | | | llvm-svn: 138113
* Migrate 2008-10-29-WrongOffset.cpp from llvm/test/FrontendC++.Eric Christopher2011-08-191-0/+489
| | | | llvm-svn: 138112
* Migrate 2009-03-17-dbg.cpp from llvm/test/FrontendC++.Eric Christopher2011-08-191-0/+16
| | | | llvm-svn: 138111
* Migrate 2009-04-23-bool2.cpp from llvm/test/FrontendC++.Eric Christopher2011-08-191-0/+15
| | | | llvm-svn: 138110
* Remove this test. It's failing and it's not that good of a test.Eric Christopher2011-08-191-15/+0
| | | | llvm-svn: 138106
* Migrate 2009-06-16-DebugInfoCrash.cpp from llvm/test/FrontendC++.Eric Christopher2011-08-191-0/+10
| | | | llvm-svn: 138099
* Migrate 2009-07-16-PrivateCopyConstructor.cpp from llvm/test/FrontendC++.Eric Christopher2011-08-191-0/+15
| | | | llvm-svn: 138098
* Migrate 2009-08-05-ZeroInitWidth.cpp from llvm/test/FrontendC++.Eric Christopher2011-08-191-0/+11
| | | | llvm-svn: 138097
* Migrate 2009-07-16-Using.cpp from llvm/test/FrontendC++.Eric Christopher2011-08-191-0/+8
| | | | llvm-svn: 138096
* Migrate 2009-08-11-VectorRetTy.cpp from llvm/test/FrontendC++.Eric Christopher2011-08-191-0/+13
| | | | llvm-svn: 138095
* Migrate 2009-09-09-packed-layout.cpp test from llvm/test/FrontendC++.Eric Christopher2011-08-191-0/+18
| | | | llvm-svn: 138090
OpenPOWER on IntegriCloud