- Feb 28, 2012
-
-
Eli Friedman authored
Prefer bitcast+GEP over ptrtoint+sub+inttoptr: it's semantically equivalent here, and generally nicer to the optimizer. llvm-svn: 151659
-
- Feb 26, 2012
-
-
Richard Smith authored
- variant members with nontrivial destructors make the containing class's destructor deleted - check for a virtual destructor after checking for overridden methods in the base class(es) - check for an inaccessible operator delete for a class with a virtual destructor. Do not try to call an anonymous union field's destructor from the destructor of the containing class. llvm-svn: 151483
-
- Feb 25, 2012
-
-
Eli Friedman authored
Work-in-progress for lambda conversion-to-block operator. Still need to implement the retain+autorelease outside of ARC, and there's a bug that causes the generated code to crash in ARC (which I think is unrelated to my code, although I'm not completely sure). llvm-svn: 151428
-
- Feb 19, 2012
-
-
Sebastian Redl authored
llvm-svn: 150931
-
Sebastian Redl authored
llvm-svn: 150930
-
- Feb 17, 2012
-
-
John McCall authored
optional argument passed through the variadic ellipsis) potentially affects how we need to lower it. Propagate this information down to the various getFunctionInfo(...) overloads on CodeGenTypes. Furthermore, rename those overloads to clarify their distinct purposes, and make sure we're calling the right one in the right place. This has a nice side-effect of making it easier to construct a function type, since the 'variadic' bit is no longer separable. This shouldn't really change anything for our existing platforms, with one minor exception --- we should now call variadic ObjC methods with the ... in the "right place" (see the test case), which I guess matters for anyone running GNUStep on MIPS. Mostly it's just a substantial clean-up. llvm-svn: 150788
-
Douglas Gregor authored
conversion to function pointer. Rather than having IRgen synthesize the body of this function, we instead introduce a static member function "__invoke" with the same signature as the lambda's operator() in the AST. Sema then generates a body for the conversion to function pointer which simply returns the address of __invoke. This approach makes it easier to evaluate a call to the conversion function as a constant, makes the linkage of the __invoke function follow the normal rules for member functions, and may make life easier down the road if we ever want to constexpr'ify some of lambdas. Note that IR generation is responsible for filling in the body of __invoke (Sema just adds a dummy body), because the body can't generally be expressed in C++. Eli, please review! llvm-svn: 150783
-
- Feb 16, 2012
-
-
Eli Friedman authored
llvm-svn: 150660
-
Eli Friedman authored
llvm-svn: 150649
-
- Feb 14, 2012
-
-
Eli Friedman authored
llvm-svn: 150452
-
Eli Friedman authored
Refactor out new function EmitInitializerForField from EmitMemberInitializer. The new function will be used to initialize the fields of lambda expressions. llvm-svn: 150451
-
- Feb 07, 2012
-
-
Chris Lattner authored
llvm-svn: 149943
-
- Feb 01, 2012
-
-
Eric Christopher authored
llvm-svn: 149543
-
- Jan 26, 2012
-
-
Peter Collingbourne authored
around, in the process cleaning up the various gcc/msvc compiler workarounds. llvm-svn: 149036
-
- Dec 03, 2011
-
-
Eli Friedman authored
llvm-svn: 145753
-
Eli Friedman authored
llvm-svn: 145741
-
Eli Friedman authored
Track alignment in AggValueSlot. No functional change in this patch, but I'll be introducing uses of the specified alignment soon. llvm-svn: 145736
-
- Oct 13, 2011
-
-
Eric Christopher authored
Start handling debug line and scope information better: Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the existing file/scope change machinery in UpdateLineDirectiveRegion and replace it with DILexicalBlockFile usage. Finishes off the rest of rdar://10246360 after fixing a few bugs that were exposed in gdb testsuite testing. llvm-svn: 141893
-
- Oct 12, 2011
-
-
Eric Christopher authored
llvm-svn: 141796
-
Jim Goodnow II authored
llvm-svn: 141773
-
Eric Christopher authored
Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the existing file/scope change machinery in UpdateLineDirectiveRegion and replace it with DILexicalBlockFile usage. Finishes off the rest of rdar://10246360 llvm-svn: 141732
-
- Sep 29, 2011
-
-
Eric Christopher authored
exist anymore. llvm-svn: 140739
-
- Sep 26, 2011
-
-
Peter Collingbourne authored
llvm-svn: 140506
-
Peter Collingbourne authored
llvm-svn: 140504
-
Peter Collingbourne authored
llvm-svn: 140502
-
- Sep 22, 2011
-
-
Douglas Gregor authored
generation when we're dealing with an implicitly-defined copy or move constructor. And, actually set the implicitly-defined bit for implicitly-defined constructors and destructors. Should fix self-host. llvm-svn: 140334
-
Douglas Gregor authored
they still need the logic to cope with array member initialization. Fixes PR10720. llvm-svn: 140302
-
- Sep 18, 2011
-
-
Richard Smith authored
has no effect since any such destructors must be trivial, and in C++11 such destructors must not be called. llvm-svn: 139997
-
- Sep 15, 2011
-
-
John McCall authored
llvm-svn: 139770
-
John McCall authored
we don't need to. llvm-svn: 139769
-
- Aug 30, 2011
-
-
Sebastian Redl authored
This makes the code duplication of implicit special member handling even worse, but the cleanup will have to come later. For now, this works. Follow-up with tests for explicit defaulting and enabling the __has_feature flag to come. llvm-svn: 138821
-
- Aug 26, 2011
-
-
John McCall authored
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
-
- Aug 25, 2011
-
-
John McCall authored
creators to tell us whether something needs GC barriers. No functionality change. llvm-svn: 138581
-
- Aug 09, 2011
-
-
Eli Friedman authored
llvm-svn: 137126
-
- Jul 23, 2011
-
-
Chris Lattner authored
them into the clang namespace. llvm-svn: 135852
-
- Jul 18, 2011
-
-
Chris Lattner authored
llvm-svn: 135370
-
- Jul 13, 2011
-
-
John McCall authored
llvm-svn: 135036
-
John McCall authored
partial destruction. llvm-svn: 135033
-
John McCall authored
llvm-svn: 135029
-
- Jul 12, 2011
-
-
John McCall authored
of flags. No functionality change. llvm-svn: 134997
-