- Dec 14, 2012
-
-
Eli Friedman authored
llvm-svn: 170160
-
- Nov 08, 2012
-
-
Richard Smith authored
at whether the *selected* constructor would be trivial rather than considering whether the array's element type has *any* non-trivial constructors of the relevant kind. llvm-svn: 167562
-
- Nov 01, 2012
-
-
Richard Smith authored
llvm-svn: 167261
-
- Oct 23, 2012
-
-
Douglas Gregor authored
llvm-svn: 166497
-
- Oct 10, 2012
-
-
Bill Wendling authored
Have 'addFnAttr' take the attribute enum value. Then have it build the attribute object and add it appropriately. No functionality change. llvm-svn: 165596
-
- Oct 09, 2012
-
-
Richard Smith authored
llvm-svn: 165536
-
- Aug 08, 2012
-
-
Eli Friedman authored
member of reference type in an anonymous struct. PR13154. llvm-svn: 161473
-
- Aug 01, 2012
-
-
John McCall authored
don't explode if the offset we get is zero. This can happen if you have an empty virtual base class. While I'm at it, remove an unnecessary block from the IR-generation of the null-check, mark the eventual GEP as inbounds, and generally prettify. llvm-svn: 161100
-
- Jul 07, 2012
-
-
John McCall authored
in the ABI arrangement, and leave a hook behind so that we can easily tweak CCs on platforms that use different CCs by default for C++ instance methods. llvm-svn: 159894
-
- Jun 06, 2012
-
-
David Blaikie authored
In addition, I've made the pointer and reference typedef 'void' rather than T* just so they can't get misused. I would've omitted them entirely but std::distance likes them to be there even if it doesn't use them. This rolls back r155808 and r155869. Review by Doug Gregor incorporating feedback from Chandler Carruth. llvm-svn: 158104
-
- Apr 30, 2012
-
-
David Blaikie authored
filter_decl_iterator had a weird mismatch where both op* and op-> returned T* making it difficult to generalize this filtering behavior into a reusable library of any kind. This change errs on the side of value, making op-> return T* and op* return T&. (reviewed by Richard Smith) llvm-svn: 155808
-
- Apr 27, 2012
-
-
Alexey Samsonov authored
llvm-svn: 155697
-
- Apr 20, 2012
-
-
Timur Iskhodzhanov authored
Fix bug 12574 - Avoid infinite recursion in constructors and destructors when using Microsoft C++ ABI llvm-svn: 155189
-
- Apr 16, 2012
-
-
Eli Friedman authored
llvm-svn: 154789
-
- Mar 30, 2012
-
-
John McCall authored
inheritance. llvm-svn: 153722
-
- Mar 29, 2012
-
-
Chad Rosier authored
llvm-svn: 153660
-
John McCall authored
a complete object, the memcpy needs to use the data size of the structure instead of its sizeof() value. Fixes PR12204. llvm-svn: 153613
-
- Mar 26, 2012
-
-
Kostya Serebryany authored
llvm-svn: 153447
-
- Mar 11, 2012
-
-
David Blaikie authored
The member variable is always "LangOpts" and the member function is always "getLangOpts". Reviewed by Chris Lattner llvm-svn: 152536
-
- Mar 01, 2012
-
-
Eli Friedman authored
Implement "optimization" for lambda-to-block conversion which inlines the generated block literal for lambdas which are immediately converted to block pointer type. This simplifies the AST, avoids an unnecessary copy of the lambda and makes it much easier to avoid copying the result onto the heap. Note that this transformation has a substantial semantic effect outside of ARC: it gives the converted lambda lifetime semantics similar to a block literal. With ARC, the effect is much less obvious because the lifetime of blocks is already managed. llvm-svn: 151797
-
- 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
-