summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Bring member pointer operands of the conditional operator to a common type. ↵Sebastian Redl2009-04-191-2/+55
| | | | | | We're getting there ... llvm-svn: 69548
* basic support for -Wunknown-pragmas, more coming.Chris Lattner2009-04-191-1/+4
| | | | llvm-svn: 69547
* Forward -fno-diagnostics-fixit-info to clang-cc.Daniel Dunbar2009-04-191-0/+5
| | | | llvm-svn: 69546
* PR3853: Add CodeGen support for __thread.Eli Friedman2009-04-192-11/+6
| | | | llvm-svn: 69545
* move token paste poisoning diagnostics to after the instantiation locChris Lattner2009-04-191-11/+16
| | | | | | | for a token is set, this makes the diagnostic "expanded from stack" work for this diagnostic. Add a testcase for PR3918. llvm-svn: 69544
* Add more thorough/correct checking for invalid __thread specifiers.Eli Friedman2009-04-192-19/+30
| | | | llvm-svn: 69542
* Silence gcc warning.Eli Friedman2009-04-191-1/+1
| | | | llvm-svn: 69541
* Fix PR3918: Invalid use of __VA_ARGS__ not diagnosed,Chris Lattner2009-04-191-2/+13
| | | | | | | by rejecting invalid poisoned tokens in the token pasting path. llvm-svn: 69536
* Another piece of the conditional operator puzzle. We'll want to use ↵Sebastian Redl2009-04-192-13/+94
| | | | | | FindCompositePointerType in some other places, too. llvm-svn: 69534
* Fix PR4006, incorrect handling of __VA_ARGS__ when it was the first tokenChris Lattner2009-04-191-9/+9
| | | | | | | in a function-like macro body. This has the added bonus of moving some function-like macro specific code out of the object-like macro codepath. llvm-svn: 69530
* actually just do this on all x86 targets, it won't hurtChris Lattner2009-04-191-10/+5
| | | | | | non-glibc ones. llvm-svn: 69528
* Define __NO_MATH_INLINES on linux/x86 so that we don't get inlineChris Lattner2009-04-191-0/+10
| | | | | | | | | | functions in glibc header files that use FP Stack inline asm which the backend can't deal with (PR879). This "fixes" PR3970 for linux. Other affected systems should do similar things. Maybe this should just go to the general i386/x86-64 sections? llvm-svn: 69527
* implement compiler support for -fno-diagnostics-fixit-info,Chris Lattner2009-04-191-3/+2
| | | | | | rdar://6805442 llvm-svn: 69525
* silence a warning, it isn't clear what the right answer is here,Chris Lattner2009-04-191-1/+1
| | | | | | will talk to steve. llvm-svn: 69519
* silence a warning, I need to talk to Devang about this code.Chris Lattner2009-04-191-1/+1
| | | | llvm-svn: 69517
* Fix rdar://6804402 - crash on objc implementations declared withChris Lattner2009-04-192-10/+23
| | | | | | | @class but no implementation. This was broken in all 3 runtime impls. llvm-svn: 69512
* rearrange #include order.Chris Lattner2009-04-191-2/+2
| | | | llvm-svn: 69511
* run the jump checker on blocks, even though they don't have gotos,Chris Lattner2009-04-192-1/+13
| | | | | | they do allow switches. llvm-svn: 69510
* add a new Sema::CurFunctionNeedsScopeChecking bool that is used to avoid Chris Lattner2009-04-194-9/+26
| | | | | | | calling into the jump checker when a function or method is known to contain no VLAs or @try blocks. llvm-svn: 69509
* move jump scope checking and related code out into its own file, SemaDecl.cpp isChris Lattner2009-04-194-267/+293
| | | | | | already too large. llvm-svn: 69505
* Fix bug in computation of ivar offsets for (adjacent) bitfields.Daniel Dunbar2009-04-191-10/+13
| | | | | | | | - The confusing IRgen bitfield interface is partly to blame here; fixing the functional error for now, cleanups to the interface to follow. llvm-svn: 69503
* revert david's patch, which causes a testsuite failure.Chris Lattner2009-04-191-3/+2
| | | | llvm-svn: 69501
* rewrite an O(N^2) algorithm to be O(n).Chris Lattner2009-04-191-19/+18
| | | | llvm-svn: 69500
* second half of indirect jump checking: make sure that any Chris Lattner2009-04-191-10/+32
| | | | | | address taken labels are in function scope llvm-svn: 69499
* First half of jump scope checking for indirect goto.Chris Lattner2009-04-191-7/+21
| | | | llvm-svn: 69498
* Add location info for indirect goto.Chris Lattner2009-04-194-3/+5
| | | | llvm-svn: 69497
* Reuse ObjcIvarOffsetVariable instead of duplicating code.Daniel Dunbar2009-04-191-22/+9
| | | | | | - No functionality change (but added a FIXME). llvm-svn: 69496
* Remove some unnecessary complexity.Daniel Dunbar2009-04-191-11/+5
| | | | | | - No functionality change. llvm-svn: 69495
* "This patch fixes message sends to super in class methods for the GNU ↵Chris Lattner2009-04-181-2/+3
| | | | | | | | runtime (currently an instance method lookup is being performed)." Patch by David Chisnall! llvm-svn: 69493
* reimplement DeclStmt handling so that we correctly handle intermixed Chris Lattner2009-04-181-47/+30
| | | | | | VLA's and statement expressions. llvm-svn: 69491
* the scope checker does work with objc methods, add testcase.Chris Lattner2009-04-181-5/+0
| | | | llvm-svn: 69487
* I didn't understand how @catches were chained. Now that I get it, fixChris Lattner2009-04-181-11/+10
| | | | | | | the scope checker to not think @catches are nested in each other, eliminating some bogus notes. llvm-svn: 69486
* Fix PR3917: the location of a #line directive is the location of the first _.Chris Lattner2009-04-181-0/+4
| | | | llvm-svn: 69485
* Change Preprocessor::AdvanceToTokenCharacter to stop atChris Lattner2009-04-181-12/+21
| | | | | | | | | | the first real character of a token. For example, advancing to byte 3 of foo\ bar should stop at the b, not the \. llvm-svn: 69484
* add a new Lexer::SkipEscapedNewLines method.Chris Lattner2009-04-181-0/+23
| | | | llvm-svn: 69483
* factor escape newline measuring out into its own helper function.Chris Lattner2009-04-181-40/+45
| | | | llvm-svn: 69482
* remove unneeded scopes.Chris Lattner2009-04-181-45/+41
| | | | llvm-svn: 69481
* forgot to commit this before.Chris Lattner2009-04-181-1/+1
| | | | llvm-svn: 69480
* fix typoChris Lattner2009-04-181-1/+1
| | | | llvm-svn: 69479
* reject invalid jumps among pieces of @try blocks. This seems to workChris Lattner2009-04-181-3/+24
| | | | | | | reasonably well except for the problem that @catches are nested within each other in the AST, giving the ugly diagnostics in L8. llvm-svn: 69477
* unconditionally check for goto correctness. This is because switchChris Lattner2009-04-181-4/+2
| | | | | | | | | statements don't end up in the LabelMap so we don't have a quick way to filter them. We could add state to Sema (a "has vla" and "has jump" bit) to try to filter this out, but that would be sort of gross and I'm not convinced it is the best way. Thoughts welcome. llvm-svn: 69476
* Use EmitCallArgs in EmitObjCMessageExpr.Anders Carlsson2009-04-181-4/+1
| | | | llvm-svn: 69471
* Make CodeGenFunction::EmitCallArgs a template function that takes a generic ↵Anders Carlsson2009-04-182-38/+38
| | | | | | "Type Info" parameter. The type info parameter knows how to iterate over its arguments. llvm-svn: 69469
* abstract the SwitchStack for blocks just like we do the goto labels.Chris Lattner2009-04-182-8/+21
| | | | | | This fixes a crash on invalid (test10). rdar://6805469 llvm-svn: 69465
* fix two error paths out of ParseBlockLiteralExpression toChris Lattner2009-04-182-1/+3
| | | | | | | | call ActOnBlockError so that CurBlock gets popped. This fixes a crash on test/block-syntax-error.c when this new assertion is enabled. llvm-svn: 69464
* refactor some code, adding a new getLabelMap() accessor methodChris Lattner2009-04-184-40/+50
| | | | | | | so that clients can't poke the function-local one when they really want the current block label. No functionality change. llvm-svn: 69463
* Improve switch diagnostic to emit the "jump" message on theChris Lattner2009-04-181-17/+20
| | | | | | | | | | | | | | | specific bad case instead of on the switch. Putting it on the switch means you don't know what case is the problem. For example: scope-check.c:54:3: error: illegal switch case into protected scope case 2: ^ scope-check.c:53:9: note: jump bypasses initialization of variable length array int a[x]; ^ llvm-svn: 69462
* first step to getting switches giving "jump into vla scope" errors.Chris Lattner2009-04-181-2/+7
| | | | llvm-svn: 69461
* fix error recovery in the case of a jump to a label with no definitionChris Lattner2009-04-181-25/+27
| | | | | | | to create a well formed AST instead of a dangling pointer. This resolves several fixme's. llvm-svn: 69459
* glibc plays some weird games with multiple different definitions ofChris Lattner2009-04-181-3/+12
| | | | | | | | int8_t and games it with strange *_defined macros. Emulate its weirdness for better compatibility with linux etc. Problem pointed out by anders johnson. llvm-svn: 69458
OpenPOWER on IntegriCloud