- May 22, 2010
-
-
Daniel Dunbar authored
llvm-svn: 104452
-
Anders Carlsson authored
llvm-svn: 104447
-
Anders Carlsson authored
llvm-svn: 104446
-
Douglas Gregor authored
llvm-svn: 104445
-
Douglas Gregor authored
enum contexts (along with block contexts, which we already did). Fixes PR7196. llvm-svn: 104444
-
Douglas Gregor authored
in several important ways: - VLAs of non-POD types are not permitted. - VLAs cannot be used in conjunction with C++ templates. These restrictions are intended to keep VLAs out of the parts of the C++ type system where they cause the most trouble. Fixes PR5678 and <rdar://problem/8013618>. llvm-svn: 104443
-
Chris Lattner authored
llvm-svn: 104436
-
Daniel Dunbar authored
llvm-svn: 104435
-
Douglas Gregor authored
temporaries. There are actually several interrelated fixes here: - When converting an object to a base class, it's only an lvalue cast when the original object was an lvalue and we aren't casting pointer-to-derived to pointer-to-base. Previously, we were misclassifying derived-to-base casts of class rvalues as lvalues, causing various oddities (including problems with reference binding not extending the lifetimes of some temporaries). - Teach the code for emitting a reference binding how to look through no-op casts and parentheses directly, since Expr::IgnoreParenNoOpCasts is just plain wrong for this. Also, make sure that we properly look through multiple levels of indirection from the temporary object, but destroy the actual temporary object; this fixes the reference-binding issue mentioned above. - Teach Objective-C message sends to bind the result as a temporary when needed. This is actually John's change, but it triggered the reference-binding problem above, so it's included here. Now John can actually test his return-slot improvements. llvm-svn: 104434
-
John Mosby authored
llvm-svn: 104433
-
Daniel Dunbar authored
llvm-svn: 104432
-
Chandler Carruth authored
'-fasm' and explicitly map from that flag to -fgnu-keywords in the driver. Turn off the driver in the lexer test for this madness and add a test to the driver that the translation actually works. llvm-svn: 104428
-
John McCall authored
critical for ObjC++ correctness; hard to test independently of various required Sema changes, though. llvm-svn: 104422
-
-
Jim Grosbach authored
Followups: docs patch for the builtin and eh.sjlj.setjmp cleanup to match longjmp. llvm-svn: 104419
-
Eric Christopher authored
llvm-svn: 104418
-
Daniel Dunbar authored
short name of the tool in use, instead of the name of the action that created the command. The practical impact is we now get: clang: error: clang frontend command failed due to signal 6 (use -v to see invocation) instead of: clang: error: assembler command failed due to signal 6 (use -v to see invocation) when clang crashes on a job that uses the integrated assembler. llvm-svn: 104417
-
Daniel Dunbar authored
llvm-svn: 104416
-
Bob Wilson authored
copying VFP subregs. This exposed a bunch of dead code in the *spill-q.ll tests, so I tweaked those tests to keep that code from being optimized away. Radar 7872877. llvm-svn: 104415
-
Eric Christopher authored
llvm-svn: 104414
-
Ted Kremenek authored
llvm-svn: 104413
-
Devang Patel authored
llvm-svn: 104412
-
Eric Christopher authored
llvm-svn: 104411
-
Bob Wilson authored
llvm-svn: 104410
-
Douglas Gregor authored
the required "template" keyword, using the same heuristics we do for dependent template names in member access expressions, e.g., test/SemaTemplate/dependent-template-recover.cpp:11:8: error: use 'template' keyword to treat 'getAs' as a dependent template name T::getAs<U>(); ^ template Fixes PR5404. llvm-svn: 104409
-
Eric Christopher authored
Evan please verify! llvm-svn: 104408
-
Fariborz Jahanian authored
for variable arguments list methods. (radar 8006060). llvm-svn: 104407
-
Douglas Gregor authored
that is missing the 'template' keyword, e.g., t->getAs<T>() where getAs is a member of an unknown specialization. C++ requires that we treat "getAs" as a value, but that would fail to parse since T is the name of a type. We would then fail at the '>', since a type cannot be followed by a '>'. This is a very common error for C++ programmers to make, especially since GCC occasionally allows it when it shouldn't (as does Visual C++). So, when we are in this case, we use tentative parsing to see if the tokens starting at "<" can only be parsed as a template argument list. If so, we produce a diagnostic with a fix-it that states that the 'template' keyword is needed: test/SemaTemplate/dependent-template-recover.cpp:5:8: error: 'template' keyword is required to treat 'getAs' as a dependent template name t->getAs<T>(); ^ template This is just a start of this patch; I'd like to apply the same approach to everywhere that a template-id with dependent template name can be parsed. llvm-svn: 104406
-
Chris Lattner authored
llvm-svn: 104404
-
Nick Lewycky authored
whitespace at the end of lines since I'm already touching the whole file anyways. llvm-svn: 104403
-
Eric Christopher authored
llvm-svn: 104396
-
Kevin Enderby authored
llvm-svn: 104394
-
Eric Christopher authored
llvm-svn: 104392
-
Chris Lattner authored
llvm-svn: 104391
-
Anders Carlsson authored
llvm-svn: 104390
-
- May 21, 2010
-
-
Ted Kremenek authored
in the ASTs. Fixes <rdar://problem/8015556>. llvm-svn: 104389
-
Ted Kremenek authored
in the Objective-C memory checker. llvm-svn: 104388
-
Anders Carlsson authored
Rename CodeGenFunction::EmitMemSetToZero to EmitNullInitialization. Handle setting null data member pointers correctly. Fixes PR7139. llvm-svn: 104387
-
Douglas Gregor authored
be sure to merge its parameter scope with its parent's scope. Fixes PR7184. llvm-svn: 104386
-
Evan Cheng authored
Allow machine cse to cse instructions which define physical registers. Controlled by option -machine-cse-phys-defs. llvm-svn: 104385
-