summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* PR5863: Don't erase unreachable BBs which have an associated cleanup size.Benjamin Kramer2010-05-232-1/+14
| | | | | | | This works around a crash where malloc reused the memory of an erased BB for a new BB leaving old cleanup information pointing at the new block. llvm-svn: 104472
* It turns out that people love using VLAs in templates, too. Weaken ourDouglas Gregor2010-05-236-28/+25
| | | | | | | | VLA restrictions so that one can use VLAs in templates (even accidentally), but not as part of a non-type template parameter (which would be very bad). llvm-svn: 104471
* Complain about sizeof(overloaded function) rather than crashing.Douglas Gregor2010-05-233-0/+15
| | | | llvm-svn: 104470
* Move OverloadExpr over to a ASTContext-allocated pointer for itsDouglas Gregor2010-05-233-24/+48
| | | | | | storage, rather than an UnresolvedSet. llvm-svn: 104469
* Provide the overloaded functions for UnresolvedLookupExpr andDouglas Gregor2010-05-235-35/+45
| | | | | | | UnresolvedMemberExpr in their constructors, rather than adding them after the fact. No functionality change. llvm-svn: 104468
* llvm-mc: Use EmitIntValue where possible, which makes the API calls from the ↵Daniel Dunbar2010-05-231-3/+6
| | | | | | AsmParser and CodeGen line up better. llvm-svn: 104467
* llvm-mc: Use AddBlankLine in asm parser. This makes transliteration match ↵Daniel Dunbar2010-05-231-0/+9
| | | | | | the input much more closely, and also makes the API calls from the AsmParser and CodeGen line up better. llvm-svn: 104466
* Keep track of all of the class and function template's "common"Douglas Gregor2010-05-234-4/+42
| | | | | | | | pointers in the ASTContext, so that the folding sets stored inside them will be deallocated when the ASTContext is destroyed (under -disable-free). <rdar://problem/7998824>. llvm-svn: 104465
* When recording empty subobjects we should always look at the primary virtual ↵Anders Carlsson2010-05-232-0/+25
| | | | | | base. llvm-svn: 104464
* MC: Add an MCLoggingStreamer, for use in debugging integrated-as mismatches.Daniel Dunbar2010-05-235-2/+229
| | | | llvm-svn: 104463
* Put the VLA-is-an-extension warning into its own warning group (-Wvla)Douglas Gregor2010-05-233-8/+11
| | | | | | so that it can be selectively enabled/disabled. llvm-svn: 104462
* Even though we don't unique VLA types, we still need to build aDouglas Gregor2010-05-232-2/+20
| | | | | | canonical type where the element type is canonical. Fixes PR7206. llvm-svn: 104461
* VDUP doesn't support vectors with 64-bit elements.Bob Wilson2010-05-231-2/+2
| | | | llvm-svn: 104455
* Re-teach IR gen to perform GC moves on rvalues resulting from various ObjCJohn McCall2010-05-221-17/+54
| | | | | | | expressions. Essentially, GC breaks a certain form of the return-value optimization. llvm-svn: 104454
* MC/X86: Subdivide immediates a bit more, so that we properly recognize ↵Daniel Dunbar2010-05-224-38/+195
| | | | | | | | | | | immediates based on the width of the target instruction. For example: addw $0xFFFF, %ax should match the same as addw $-1, %ax but we used to match it to the longer encoding. llvm-svn: 104453
* tblgen/AsmMatcher: Change AsmOperandClass to allow a list of superclasses ↵Daniel Dunbar2010-05-223-15/+19
| | | | | | instead of just one. llvm-svn: 104452
* Really fix PR7139. There was one boost test that we still failed, and my ↵Anders Carlsson2010-05-222-3/+25
| | | | | | first fix broke self-host. llvm-svn: 104447
* Re-land the fix for PR7139.Anders Carlsson2010-05-227-12/+56
| | | | llvm-svn: 104446
* Don't look for a destructor in a dependent type. Fixes PR7198.Douglas Gregor2010-05-222-1/+17
| | | | llvm-svn: 104445
* When determining whether we can use "this", make sure to look throughDouglas Gregor2010-05-222-1/+13
| | | | | | | enum contexts (along with block contexts, which we already did). Fixes PR7196. llvm-svn: 104444
* Implement support for variable length arrays in C++. VLAs are limitedDouglas Gregor2010-05-2211-38/+187
| | | | | | | | | | | | | 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
* minor updatesChris Lattner2010-05-221-2/+4
| | | | llvm-svn: 104436
* MC/X86: Add alias for setz, setnz, jz, jnz.Daniel Dunbar2010-05-222-1/+22
| | | | llvm-svn: 104435
* Improve our handling of reference binding for subobjects ofDouglas Gregor2010-05-225-26/+57
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Trivial change to dump() function for SparseBitVectorJohn Mosby2010-05-221-6/+10
| | | | llvm-svn: 104433
* Attempt to make MSVC happy.Daniel Dunbar2010-05-221-1/+1
| | | | llvm-svn: 104432
* Daniel re-educated me about what Alias does and does not do. Turn that off forChandler Carruth2010-05-224-12/+18
| | | | | | | | '-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
* Push a return-value slot throughout ObjC message-send codegen. Will beJohn McCall2010-05-226-33/+66
| | | | | | | critical for ObjC++ correctness; hard to test independently of various required Sema changes, though. llvm-svn: 104422
* Implement @llvm.returnaddress. rdar://8015977.Evan Cheng2010-05-2222-32/+185
| | | | llvm-svn: 104421
* Implement eh.sjlj.longjmp for ARM. Clean up the intrinsic a bit.Jim Grosbach2010-05-228-3/+63
| | | | | | | Followups: docs patch for the builtin and eh.sjlj.setjmp cleanup to match longjmp. llvm-svn: 104419
* This test is darwin only. Make it so(tm).Eric Christopher2010-05-221-1/+1
| | | | llvm-svn: 104418
* Driver: When printing a "command was signalled" type of diagnostic, use theDaniel Dunbar2010-05-221-19/+22
| | | | | | | | | | | 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
* Driver: Add Tool::ShortName, intended to be a human readable name for the tool.Daniel Dunbar2010-05-223-26/+49
| | | | llvm-svn: 104416
* Recognize more BUILD_VECTORs and VECTOR_SHUFFLEs that can be implemented byBob Wilson2010-05-224-31/+119
| | | | | | | | 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
* Add full bss data support for darwin tls variables.Eric Christopher2010-05-223-3/+53
| | | | llvm-svn: 104414
* Make crashreport data in libclang a compile-time option.Ted Kremenek2010-05-221-2/+1
| | | | llvm-svn: 104413
* Collect variable information during endFunction() instead of beginFunction().Devang Patel2010-05-221-12/+12
| | | | llvm-svn: 104412
* Add a new section and accessor for TLS data.Eric Christopher2010-05-221-0/+7
| | | | llvm-svn: 104411
* Clean up extra whitespace.Bob Wilson2010-05-211-1/+0
| | | | llvm-svn: 104410
* Improve recovery when we see a dependent template name that is missingDouglas Gregor2010-05-216-3/+37
| | | | | | | | | | | | | | | 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
* Make this LookAheadLimit, not the uninitialized LookAheadLeft.Eric Christopher2010-05-211-1/+1
| | | | | | Evan please verify! llvm-svn: 104408
* Clang missing warning about conflicting declaration vs. definition Fariborz Jahanian2010-05-213-0/+17
| | | | | | for variable arguments list methods. (radar 8006060). llvm-svn: 104407
* Improve parser recovery when we encounter a dependent template nameDouglas Gregor2010-05-2112-20/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* add a noteChris Lattner2010-05-211-0/+15
| | | | llvm-svn: 104404
* Outdent this file by 2 spaces per the coding standards, and also clean upNick Lewycky2010-05-211-569/+569
| | | | | | | whitespace at the end of lines since I'm already touching the whole file anyways. llvm-svn: 104403
* Expand on comment.Eric Christopher2010-05-211-1/+2
| | | | llvm-svn: 104396
* Added retl for 32-bit x86 and added retq for 64-bit x86.Kevin Enderby2010-05-213-0/+12
| | | | llvm-svn: 104394
* Fix comment and whitespace.Eric Christopher2010-05-211-2/+2
| | | | llvm-svn: 104392
* expand on the llvm ir bitcode dox. Patch by Peter Housel!Chris Lattner2010-05-211-7/+339
| | | | llvm-svn: 104391
* Unbreak self-host.Anders Carlsson2010-05-218-58/+14
| | | | llvm-svn: 104390
OpenPOWER on IntegriCloud