- Mar 02, 2012
-
-
Jay Foad authored
types of the pointer arguments. llvm-svn: 151927
-
Daniel Dunbar authored
Revert r151879, r151880, "PR12145: Avoid emitting loads of constexpr variables in contexts where there" and "Fix buildbot: make this test less dependent on the value names in the produced IR." They broke bootstrap. llvm-svn: 151922
-
Richard Smith authored
is no odr-use of the variable. Go slightly beyond what the standard requires for variables of reference type. llvm-svn: 151879
-
- Mar 01, 2012
-
-
Eli Friedman authored
llvm-svn: 151853
-
Kostya Serebryany authored
This flag enables ThreadSanitizer instrumentation committed to llvm as r150423. The patch includes one test for -fthread-sanitizer and one similar test for -faddress-sanitizer. This patch does not modify the linker flags (as we do it for -faddress-sanitizer) because the run-time library is not yet committed and it's structure in compiler-rt is not 100% clear. The users manual wil be changed in a separate commit. llvm-svn: 151846
-
Eric Christopher authored
correctly. Still rdar://10900684 llvm-svn: 151838
-
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 29, 2012
-
-
Chad Rosier authored
by the BAA pass, which uses the default TargetLibraryInfo constructor. Unfortunately, the default TargetLibraryInfo constructor assumes all library calls are available and thus ignores -fno-builtin. rdar://10947759 llvm-svn: 151745
-
Daniel Dunbar authored
info.", which broke some -O0 -g tests. llvm-svn: 151730
-
Eric Christopher authored
This currently doesn't handle capturing the 'this' pointer for any enclosing class. Steal the lambda-expressions.cpp testcase and debugify it and try to use more variables to proof it against random changes. Part of rdar://10900684 llvm-svn: 151702
-
Eric Christopher authored
llvm-svn: 151700
-
Eli Friedman authored
llvm-svn: 151674
-
- 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
-
Daniel Dunbar authored
llvm-svn: 151631
-
Eli Friedman authored
Implement IRGen for the retain-autorelease in the lambda conversion-to-block-pointer outside of ARC. Testcases coming up soon. llvm-svn: 151603
-
Sebastian Redl authored
llvm-svn: 151586
-
- Feb 27, 2012
-
-
-
Eric Christopher authored
Fixes rdar://10934887 llvm-svn: 151519
-
- 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
-
-
Sebastian Redl authored
This emits a backing array with internal linkage and fills it with data, then has the initializer_list point at the array. Dynamic initialization and global destructors are correctly supported. What doesn't work is nested initializer_lists. I have no idea how to get them to work, either. However, these should be very rare, and so I'll just call it a known bug and declare generalized initializers DONE! llvm-svn: 151457
-
Sebastian Redl authored
llvm-svn: 151456
-
Chad Rosier authored
rdar://10921594 llvm-svn: 151430
-
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
-
Douglas Gregor authored
llvm-svn: 151414
-
Douglas Gregor authored
llvm-svn: 151412
-
Eli Friedman authored
llvm-svn: 151407
-
- Feb 24, 2012
-
-
Douglas Gregor authored
enumeration type with a fixed underlying type is complete. Fixes <rdar://problem/10916155>. llvm-svn: 151403
-
Chad Rosier authored
test case that only runs on debug builds. llvm-svn: 151311
-
- Feb 23, 2012
-
-
Douglas Gregor authored
isTrivial() call. llvm-svn: 151259
-
Richard Smith authored
forget the vptrs. llvm-svn: 151245
-
Eli Friedman authored
Try to handle qualifiers more consistently for array InitListExprs. Fixes <rdar://problem/10907510>, and makes the ASTs a bit more self-consistent. (I've chosen to keep the qualifiers, but it isn't a strong preference; if anyone prefers removing them, please yell.) llvm-svn: 151229
-
Eric Christopher authored
llvm-svn: 151217
-
Eric Christopher authored
llvm-svn: 151216
-
- Feb 22, 2012
-
-
Chad Rosier authored
llvm-svn: 151203
-
Sebastian Redl authored
llvm-svn: 151172
-
Sebastian Redl authored
llvm-svn: 151171
-
Bill Wendling authored
llvm-svn: 151150
-
-
Douglas Gregor authored
block pointer that returns a block literal which captures (by copy) the lambda closure itself. Some aspects of the block literal are left unspecified, namely the capture variable (which doesn't actually exist) and the body (which will be filled in by IRgen because it can't be written as an AST). Because we're switching to this model, this patch also eliminates tracking the copy-initialization expression for the block capture of the conversion function, since that information is now embedded in the synthesized block literal. -1 side tables FTW. llvm-svn: 151131
-
Aaron Ballman authored
llvm-svn: 151122
-