summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* The middle operand in ?: is optional, really.Mike Stump2009-02-271-1/+1
| | | | llvm-svn: 65609
* Alignment values for i64 and f64 on ppc64 were wrong,Dale Johannesen2009-02-271-1/+3
| | | | | | | | possibly for the reason suggested by the comment. No wonder it didn't work very well. This unblocks bootstrap with assertions on ppc. llvm-svn: 65601
* Make sure this test passes on linux-ppc.Evan Cheng2009-02-271-1/+1
| | | | llvm-svn: 65600
* Update another test for the LoopInfo::print changes.Dan Gohman2009-02-271-1/+1
| | | | llvm-svn: 65598
* Update this test for the LoopInfo::print changes.Dan Gohman2009-02-271-1/+1
| | | | llvm-svn: 65597
* Make LoopInfo::print() identify header, exit, and latch blocks,Dan Gohman2009-02-271-2/+7
| | | | | | and print the loop depth. llvm-svn: 65593
* MachineLICM CSE should match destination register classes; avoid hoisting ↵Evan Cheng2009-02-272-3/+60
| | | | | | implicit_def's. llvm-svn: 65592
* Create a new TypeNodes.def file that enumerates all of the types,Douglas Gregor2009-02-2634-303/+417
| | | | | | | | | | | | | | | | | | | | | | | | | giving them rough classifications (normal types, never-canonical types, always-dependent types, abstract type representations) and making it far easier to make sure that we've hit all of the cases when decoding types. Switched some switch() statements on the type class over to using this mechanism, and filtering out those things we don't care about. For example, CodeGen should never see always-dependent or non-canonical types, while debug info generation should never see always-dependent types. More switch() statements on the type class need to be moved over to using this approach, so that we'll get warnings when we add a new type then fail to account for it somewhere in the compiler. As part of this, some types have been renamed: TypeOfExpr -> TypeOfExprType FunctionTypeProto -> FunctionProtoType FunctionTypeNoProto -> FunctionNoProtoType There shouldn't be any functionality change... llvm-svn: 65591
* make ASTContext::WCharTy a bit more sensical. In C++, it is a disctint type,Chris Lattner2009-02-262-16/+9
| | | | | | but in C99 it is just another int type. llvm-svn: 65590
* fix a bozobug.Chris Lattner2009-02-261-0/+1
| | | | llvm-svn: 65589
* rename testChris Lattner2009-02-261-0/+0
| | | | llvm-svn: 65587
* ok, not as broken as I thought, just confusing. This allows Chris Lattner2009-02-263-5/+12
| | | | | | | initialization of wchar_t arrays with wide strings, and generalizes wchar_size.c to work on all targets. llvm-svn: 65586
* allow wide strings to initialize arrays compatible with wchar_t. Chris Lattner2009-02-261-6/+25
| | | | | | | Unfortunately this doesn't work yet because wchar_t is completely broken in C. llvm-svn: 65585
* Pass -ffreestanding' to clang.Ted Kremenek2009-02-261-1/+2
| | | | llvm-svn: 65584
* Do not issue bogus error on __weak/__strong ivar access.Fariborz Jahanian2009-02-262-3/+76
| | | | llvm-svn: 65583
* fix some sema problems with wide strings and hook up basic codegen for them.Chris Lattner2009-02-266-22/+16
| | | | llvm-svn: 65582
* Add -emit-llvm-only option (generate LLVM IR & run passes, but discardDaniel Dunbar2009-02-263-2/+12
| | | | | | | output). - For timing IRgen phase. llvm-svn: 65580
* drop some un-edited text for pure and ldc in here.Chris Lattner2009-02-261-4/+65
| | | | llvm-svn: 65579
* Couple of meta-data segments were wrong. This patch fixes them.Fariborz Jahanian2009-02-261-2/+2
| | | | llvm-svn: 65578
* Make the type associated with a ClassTemplateSpecializationDecl be aDouglas Gregor2009-02-269-13/+53
| | | | | | | | nicely sugared type that shows how the user wrote the actual specialization. This sugared type won't actually show up until we start doing instantiations. llvm-svn: 65577
* PathDiagnosticPiece now automatically strips off trailing periods in ↵Ted Kremenek2009-02-262-7/+32
| | | | | | diagnostic messages. llvm-svn: 65574
* Add support to emit debug info for objective-c interfaces.Devang Patel2009-02-262-3/+121
| | | | | | (This is not yet used.) llvm-svn: 65573
* Refine some grammar in the retain/release diagnostics.Ted Kremenek2009-02-261-21/+15
| | | | llvm-svn: 65571
* Introduce code modification hints into the diagnostics system. When weDouglas Gregor2009-02-2622-42/+371
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | know how to recover from an error, we can attach a hint to the diagnostic that states how to modify the code, which can be one of: - Insert some new code (a text string) at a particular source location - Remove the code within a given range - Replace the code within a given range with some new code (a text string) Right now, we use these hints to annotate diagnostic information. For example, if one uses the '>>' in a template argument in C++98, as in this code: template<int I> class B { }; B<1000 >> 2> *b1; we'll warn that the behavior will change in C++0x. The fix is to insert parenthese, so we use code insertion annotations to illustrate where the parentheses go: test.cpp:10:10: warning: use of right-shift operator ('>>') in template argument will require parentheses in C++0x B<1000 >> 2> *b1; ^ ( ) Use of these annotations is partially implemented for HTML diagnostics, but it's not (yet) producing valid HTML, which may be related to PR2386, so it has been #if 0'd out. In this future, we could consider hooking this mechanism up to the rewriter to actually try to fix these problems during compilation (or, after a compilation whose only errors have fixes). For now, however, I suggest that we use these code modification hints whenever we can, so that we get better diagnostics now and will have better coverage when we find better ways to use this information. This also fixes PR3410 by placing the complaint about missing tokens just after the previous token (rather than at the location of the next token). llvm-svn: 65570
* Add Type::hasPointerRepresentation predicate.Daniel Dunbar2009-02-265-23/+17
| | | | | | | | | - For types whose native representation is a pointer. - Use to replace ExprConstant.cpp:HasPointerEvalType, CodeGenFunction::isObjCPointerType. llvm-svn: 65569
* Use Loc::IsLocType() instead of isPointerType() and isReferenceType().Ted Kremenek2009-02-261-2/+1
| | | | llvm-svn: 65568
* Remove PointerLikeType.Daniel Dunbar2009-02-263-53/+15
| | | | | | | - Having pointers and references share a base was not a useful notion. llvm-svn: 65567
* Change PointersToResolve to list the pointee type to resolve, not theDaniel Dunbar2009-02-262-6/+12
| | | | | | | | pointer type. - Drops use of PointerLikeType. - No intended functionality change. llvm-svn: 65566
* remove deleteNode definition, it is inherited in an identical fashionGabor Greif2009-02-261-4/+0
| | | | llvm-svn: 65565
* make sure that make fully evaluates variables when determining how compile_c andChris Lattner2009-02-261-3/+3
| | | | | | | friends should work. This fixes 2006-11-30-Pubnames.cpp and friends on darwin with the new -mmacosx-version-min change. llvm-svn: 65564
* Drop uses of getAsPointerLikeType.Daniel Dunbar2009-02-262-3/+7
| | | | | | - No functionality change. llvm-svn: 65563
* Fix <rdar://problem/6574319> clang issues error on 'readonly' property with ↵Steve Naroff2009-02-263-2/+84
| | | | | | | | a defaul setter attribute. Needed to make isPropertyReadonly() non-const (for this fix to compile). I imagine there's a way to retain the const-ness, however I have more important fish to fry. llvm-svn: 65562
* Fix universal builds to not use -XCClinker (a libtool thing) now thatChris Lattner2009-02-261-2/+2
| | | | | | libtool doesn't exist. llvm-svn: 65561
* Drop uses of isPointerLikeType.Daniel Dunbar2009-02-263-5/+5
| | | | | | - No functionality change. llvm-svn: 65560
* these utils don't need exports.Chris Lattner2009-02-262-0/+7
| | | | llvm-svn: 65559
* disable exports from a bunch more tools, those without plugins.Chris Lattner2009-02-268-0/+24
| | | | llvm-svn: 65558
* Add end of line at end.Mike Stump2009-02-261-1/+1
| | | | llvm-svn: 65557
* no really, use the right path.Chris Lattner2009-02-261-1/+1
| | | | llvm-svn: 65554
* this got moved to top levelChris Lattner2009-02-261-4/+0
| | | | llvm-svn: 65553
* Search for the export map in a place that it can be found.Chris Lattner2009-02-262-1/+5
| | | | llvm-svn: 65552
* use TOOL_NO_EXPORTS, this shrinks the llvm-as binary from 1825296 to Chris Lattner2009-02-261-0/+3
| | | | | | 1662184 bytes (~10%) llvm-svn: 65551
* Fix an inconsistance in objc2's meta-data related toFariborz Jahanian2009-02-261-5/+18
| | | | | | the symbol for the root meta-data. llvm-svn: 65548
* Fix <rdar://problem/6614945> method not found. Steve Naroff2009-02-262-3/+25
| | | | | | This was a fairly recent regression. llvm-svn: 65547
* move this makefile goop up to the top level llvm makefile.Chris Lattner2009-02-261-10/+3
| | | | llvm-svn: 65544
* strip exported symbols from tools that build with TOOL_NO_EXPORTS=1.Chris Lattner2009-02-261-0/+18
| | | | llvm-svn: 65543
* pass -mmacosx-version-min to the compiler and linker, which makes the buildChris Lattner2009-02-261-2/+5
| | | | | | substantially happier on some versions of Mac OS/X. llvm-svn: 65542
* Add test for enum typesAnders Carlsson2009-02-261-1/+7
| | | | llvm-svn: 65540
* For scan-build based analyses, use the '-analyzer-eargely-assume' setting by ↵Ted Kremenek2009-02-261-0/+1
| | | | | | default (turning it on to test how it impacts users). llvm-svn: 65535
* Set tab width to 2 on a number of CG related filesAnders Carlsson2009-02-261-7/+7
| | | | llvm-svn: 65534
* Classify enum types correctlyAnders Carlsson2009-02-261-0/+3
| | | | llvm-svn: 65533
OpenPOWER on IntegriCloud