summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* fix test. it now crashes, but thats another problem..Nuno Lopes2008-11-181-2/+2
| | | | llvm-svn: 59537
* Add some quick notes on the clang tests and running the LLVM testDaniel Dunbar2008-11-181-0/+19
| | | | | | suite with clang. llvm-svn: 59536
* Input files should be before link options.Daniel Dunbar2008-11-181-1/+1
| | | | | | | | - PR3094. - No test case, ccc is not really a supported product (llvmc2 already got this right). llvm-svn: 59535
* add testcase for PR3093Torok Edwin2008-11-181-0/+3
| | | | llvm-svn: 59534
* don't dereference a null pointerChris Lattner2008-11-181-0/+1
| | | | llvm-svn: 59533
* Whitespace cleanups.Dan Gohman2008-11-182-3/+3
| | | | llvm-svn: 59532
* Add svn:ignore for build directories.Dan Gohman2008-11-180-0/+0
| | | | llvm-svn: 59531
* LegalizeTypes support for splitting and scalarizingDuncan Sands2008-11-182-11/+27
| | | | | | | | SCALAR_TO_VECTOR. I didn't add the testcase, because once llc gets past scalar-to-vector it hits a SPU target lowering bug and explodes. llvm-svn: 59530
* Add a utility function that detects whether a loop is guaranteed to be finite.Nick Lewycky2008-11-184-31/+218
| | | | | | | | | | | Use it to safely handle less-than-or-equals-to exit conditions in loops. These also occur when the loop exit branch is exit on true because SCEV inverses the icmp predicate. Use it again to handle non-zero strides, but only with an unsigned comparison in the exit condition. llvm-svn: 59528
* As threatened previously: consolidate name lookup and the creation ofDouglas Gregor2008-11-185-84/+49
| | | | | | | | | | | | | | DeclRefExprs and BlockDeclRefExprs into a single function Sema::ActOnDeclarationNameExpr, eliminating a bunch of duplicate lookup-name-and-check-the-result code. Note that we still have the three parser entry points for identifiers, operator-function-ids, and conversion-function-ids, since the parser doesn't (and shouldn't) know about DeclarationNames. This is a Good Thing (TM), and there will be more entrypoints coming (e.g., for C++ pseudo-destructor expressions). llvm-svn: 59527
* Extend DeclarationName to support C++ overloaded operators, e.g.,Douglas Gregor2008-11-1818-105/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | operator+, directly, using the same mechanism as all other special names. Removed the "special" identifiers for the overloaded operators from the identifier table and IdentifierInfo data structure. IdentifierInfo is back to representing only real identifiers. Added a new Action, ActOnOperatorFunctionIdExpr, that builds an expression from an parsed operator-function-id (e.g., "operator +"). ActOnIdentifierExpr used to do this job, but operator-function-ids are no longer represented by IdentifierInfo's. Extended Declarator to store overloaded operator names. Sema::GetNameForDeclarator now knows how to turn the operator name into a DeclarationName for the overloaded operator. Except for (perhaps) consolidating the functionality of ActOnIdentifier, ActOnOperatorFunctionIdExpr, and ActOnConversionFunctionExpr into a common routine that builds an appropriate DeclRefExpr by looking up a DeclarationName, all of the work on normalizing declaration names should be complete with this commit. llvm-svn: 59526
* Fix 80-col violation.Zhongxing Xu2008-11-181-1/+1
| | | | llvm-svn: 59523
* Add test cast for struct array.Zhongxing Xu2008-11-181-0/+4
| | | | llvm-svn: 59522
* handle the case that the array element is of structure type when bind the ↵Zhongxing Xu2008-11-181-1/+4
| | | | | | whole array to a single value (for example, UnknownVal, UndefinedVal). llvm-svn: 59521
* Rename stackprotector_create intrinsic to stackprotector.Bill Wendling2008-11-183-7/+7
| | | | llvm-svn: 59519
* Cast to remove warning about comparing signed and unsigned.Bill Wendling2008-11-181-1/+1
| | | | llvm-svn: 59518
* Implement support for JIT exceptions on X86_64. Relative offsets areNicolas Geoffray2008-11-182-64/+37
| | | | | | | encoded on 32 bytes, and the personality function is not encoded as relative. llvm-svn: 59516
* Remove unused variable.Duncan Sands2008-11-181-3/+0
| | | | llvm-svn: 59515
* Reapply r59464, this time using the correct typeDuncan Sands2008-11-1811-13/+188
| | | | | | when softening FNEG. llvm-svn: 59513
* remove one more Preprocessor::Diag method.Chris Lattner2008-11-184-15/+16
| | | | llvm-svn: 59512
* Convert the lexer and start converting the PP over to using canonical Diag ↵Chris Lattner2008-11-186-39/+60
| | | | | | methods. llvm-svn: 59511
* remove the last couple obsolete forms of Parser::Diag.Chris Lattner2008-11-184-23/+8
| | | | llvm-svn: 59510
* Change a couple of the Parser::Diag methods to return DiagnosticInfoChris Lattner2008-11-188-115/+105
| | | | | | | | | and let the clients push whatever they want into the DiagnosticInfo instead of hard coding a few forms. Also switch various clients to use Diag(Tok, ...) instead of Diag(Tok.getLocation(), ...) as the canonical form to simplify the code a bit. llvm-svn: 59509
* The 'return Diag(...)' idiom should be treated as returning an Chris Lattner2008-11-181-0/+3
| | | | | | invalid expr/stmt, etc. llvm-svn: 59508
* Give DiagnosticInfo a real copy constructor, even though itChris Lattner2008-11-181-3/+3
| | | | | | is destructive. llvm-svn: 59507
* alphabeticalize.Chris Lattner2008-11-181-1/+1
| | | | llvm-svn: 59506
* A simple test for stack protectors. This should be valid on all platforms.Bill Wendling2008-11-181-0/+25
| | | | llvm-svn: 59505
* Remove the stackprotector_check intrinsic. Use a volatile load instead.Bill Wendling2008-11-183-24/+6
| | | | llvm-svn: 59504
* Updated checker build.Ted Kremenek2008-11-181-1/+1
| | | | llvm-svn: 59503
* This reworks some of the Diagnostic interfaces a bit to change how diagnosticsChris Lattner2008-11-1817-205/+241
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | are formed. In particular, a diagnostic with all its strings and ranges is now packaged up and sent to DiagnosticClients as a DiagnosticInfo instead of as a ton of random stuff. This has the benefit of simplifying the interface, making it more extensible, and allowing us to do more checking for things like access past the end of the various arrays passed in. In addition to introducing DiagnosticInfo, this also substantially changes how Diagnostic::Report works. Instead of being passed in all of the info required to issue a diagnostic, Report now takes only the required info (a location and ID) and returns a fresh DiagnosticInfo *by value*. The caller is then free to stuff strings and ranges into the DiagnosticInfo with the << operator. When the dtor runs on the DiagnosticInfo object (which should happen at the end of the statement), the diagnostic is actually emitted with all of the accumulated information. This is a somewhat tricky dance, but it means that the accumulated DiagnosticInfo is allowed to keep pointers to other expression temporaries without those pointers getting invalidated. This is just the minimal change to get this stuff working, but this will allow us to eliminate the zillions of variant "Diag" methods scattered throughout (e.g.) sema. For example, instead of calling: Diag(BuiltinLoc, diag::err_overload_no_match, typeNames, SourceRange(BuiltinLoc, RParenLoc)); We will soon be able to just do: Diag(BuiltinLoc, diag::err_overload_no_match) << typeNames << SourceRange(BuiltinLoc, RParenLoc)); This scales better to support arbitrary types being passed in (not just strings) in a type-safe way. Go operator overloading?! llvm-svn: 59502
* Attribute nonnull can be applied to block pointers.Ted Kremenek2008-11-181-3/+6
| | | | llvm-svn: 59499
* SourceManager::getLineNumber is logically const except for caching.Chris Lattner2008-11-182-8/+8
| | | | | | Use mutable to make it so. llvm-svn: 59498
* eliminate dependence of strange "Diagnostic::Report" method, Chris Lattner2008-11-181-4/+6
| | | | | | delete huge trailing whitespace to fit in 80 cols. llvm-svn: 59497
* - Use "moveAfter" instead of "remove/insert" of a basic block.Bill Wendling2008-11-181-103/+104
| | | | | | | | | - Use less indentation in coding. - Shorten description. - Update comments. - Move code around llvm-svn: 59496
* remove a helper method with only one call site.Chris Lattner2008-11-182-9/+1
| | | | llvm-svn: 59495
* Change the diagnostics interface to take an array of pointers to Chris Lattner2008-11-1814-34/+42
| | | | | | | | strings instead of array of strings. This reduces string copying in some not-very-important cases, but paves the way for future improvements. llvm-svn: 59494
* cleanups.Chris Lattner2008-11-181-2/+1
| | | | llvm-svn: 59493
* sort files.Chris Lattner2008-11-181-4/+4
| | | | llvm-svn: 59492
* cleanups and simplifications.Chris Lattner2008-11-181-11/+7
| | | | llvm-svn: 59491
* Preprocessor::PushIncludeMacroStack() should always zero out CurPPLexer.Ted Kremenek2008-11-181-0/+1
| | | | llvm-svn: 59490
* Fix a typo in a comment.Dan Gohman2008-11-181-1/+1
| | | | llvm-svn: 59489
* Change SUnit's dump method to take a ScheduleDAG* instead ofDan Gohman2008-11-185-25/+26
| | | | | | a SelectionDAG*. llvm-svn: 59488
* Revert r59464. It was causing this failure:Bill Wendling2008-11-1811-188/+13
| | | | | | | | | | | | | | | | | | Running /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/test/CodeGen/XCore/dg.exp ... FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/test/CodeGen/XCore/fneg.ll Failed with signal(SIGABRT) at line 1 while running: llvm-as < /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/test/CodeGen/XCore/fneg.ll | llc -march=xcore > fneg.ll.tmp1.s Assertion failed: (VT.isFloatingPoint() && "Cannot create integer FP constant!"), function getConstantFP, file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/lib/CodeGen/SelectionDAG/SelectionDAG.cpp, line 913. 0 llc 0x0092115c _ZN4llvm3sys18RemoveFileOnSignalERKNS0_4PathEPSs + 844 1 libSystem.B.dylib 0x9217809b _sigtramp + 43 2 ??? 0xffffffff 0x0 + 4294967295 3 libSystem.B.dylib 0x921f0ec2 raise + 26 4 libSystem.B.dylib 0x9220047f abort + 73 5 libSystem.B.dylib 0x921f2063 __assert_rtn + 101 6 llc 0x005a5b0a _ZN4llvm12SelectionDAG13getConmake[1]: *** [check-local] Error 1 make: *** [check] Error 2 llvm-svn: 59487
* - Add Lexer::isPragma() accessor for clients of Lexer that aren't friends.Ted Kremenek2008-11-182-8/+17
| | | | | | | | | - Add static method to test if the current lexer is a non-macro/non-pragma lexer. - Refactor some code in PPLexerChange to use this static method. - No performance change. llvm-svn: 59486
* minor cleanups and tidying, no functionality change.Chris Lattner2008-11-182-69/+71
| | | | llvm-svn: 59485
* implement a fixme by making warnings for ++/-- on non-modifiable-lvalues better.Chris Lattner2008-11-183-11/+4
| | | | llvm-svn: 59484
* factor some code out into a helper functionChris Lattner2008-11-181-34/+48
| | | | llvm-svn: 59483
* Replace more uses of 'CurLexer->' with 'CurPPLexer->'. No performance change.Ted Kremenek2008-11-182-5/+5
| | | | llvm-svn: 59482
* There is no InstrStage class.Dan Gohman2008-11-181-1/+0
| | | | llvm-svn: 59480
* Add hooks to use PTHLexer::Lex instead of Lexer::Lex when CurLexer is null.Ted Kremenek2008-11-182-3/+7
| | | | | | | Performance tests on Cocoa.h (using the regular Lexer) shows no performance difference. llvm-svn: 59479
OpenPOWER on IntegriCloud