Chris Lattner
f95894c1d2
fix two error paths out of ParseBlockLiteralExpression to
...
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
2009-04-18 20:05:34 +00:00
Chris Lattner
3318e86541
refactor some code, adding a new getLabelMap() accessor method
...
so that clients can't poke the function-local one when they really
want the current block label. No functionality change.
llvm-svn: 69463
2009-04-18 20:01:55 +00:00
Chris Lattner
36dec99d12
Improve switch diagnostic to emit the "jump" message on the
...
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
2009-04-18 19:50:02 +00:00
Chris Lattner
7535f41c66
first step to getting switches giving "jump into vla scope" errors.
...
llvm-svn: 69461
2009-04-18 19:42:37 +00:00
Chris Lattner
8560addfa6
add some block goto test cases.
...
llvm-svn: 69460
2009-04-18 19:32:54 +00:00
Chris Lattner
ca4dc2e1ea
fix error recovery in the case of a jump to a label with no definition
...
to create a well formed AST instead of a dangling pointer. This resolves
several fixme's.
llvm-svn: 69459
2009-04-18 19:30:02 +00:00
Chris Lattner
61639745b6
glibc plays some weird games with multiple different definitions of
...
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
2009-04-18 19:11:11 +00:00
Chris Lattner
a2ac7aab6e
make sure to verify that the "non pch" runs worked.
...
llvm-svn: 69457
2009-04-18 18:45:36 +00:00
Chris Lattner
07f62f1881
improve wording of scope violation error messages.
...
llvm-svn: 69456
2009-04-18 18:42:55 +00:00
Chris Lattner
e227091199
rename test
...
llvm-svn: 69455
2009-04-18 18:41:40 +00:00
Chris Lattner
d66f172ab1
more fun with line markers: the digit string is required to be interpreted
...
as decimal, even if it starts with 0. Also, since things like 0x1 are
completely illegal, don't even bother using numericliteralparser for them.
llvm-svn: 69454
2009-04-18 18:35:15 +00:00
Nick Lewycky
13590cb204
Generalize to support more ARM types.
...
Configure was not actually regenerated, but the change last time only touched
this one line, so I'm being lazy and cheating by fixing it manually.
llvm-svn: 69453
2009-04-18 18:11:26 +00:00
Dan Gohman
31efa3098f
Add a ScalarEvolution::getCouldNotCompute() function, and use it
...
instead of allocating and leaking new SCEVCouldNotCompute objects.
llvm-svn: 69452
2009-04-18 17:58:19 +00:00
Dan Gohman
927e90c716
More const qualifiers.
...
llvm-svn: 69451
2009-04-18 17:57:20 +00:00
Dan Gohman
056857aa21
Use more const qualifiers with SCEV interfaces.
...
llvm-svn: 69450
2009-04-18 17:56:28 +00:00
Douglas Gregor
13d190ffbc
Don't emit name-lookup tables for functions or methods in the PCH files
...
llvm-svn: 69449
2009-04-18 15:49:20 +00:00
Douglas Gregor
f21701b70c
Fix test to output LLVM to a temporary file, which we grep as part of the test
...
llvm-svn: 69448
2009-04-18 15:48:37 +00:00
Nick Lewycky
19fac3cf3c
Regenerate.
...
llvm-svn: 69447
2009-04-18 15:41:38 +00:00
Nick Lewycky
3a33c705ef
Detect beagleboard as ARM. The $target is "armv7l".
...
llvm-svn: 69446
2009-04-18 15:34:25 +00:00
Duncan Sands
10961cd40a
Make it clearer that llvm-gcc is not needed for
...
building llvm.
llvm-svn: 69441
2009-04-18 12:40:19 +00:00
Bill Wendling
02b47d9958
Temporarily revert r69438 and r69439. These were causing failures during a
...
release build of llvm.
llvm-svn: 69440
2009-04-18 11:20:33 +00:00
Mikhail Glushenkov
4308aa5272
Regenerate.
...
llvm-svn: 69439
2009-04-18 09:59:26 +00:00
Mikhail Glushenkov
e078105a89
Add a configure check for llvm-gcc.
...
llvm-svn: 69438
2009-04-18 09:57:58 +00:00
Chris Lattner
960cc525ec
rewrite the goto scope checking code to be more efficient, simpler,
...
produce better diagnostics, and be more correct in ObjC cases (fixing
rdar://6803963).
An example is that we now diagnose:
int test1(int x) {
goto L;
int a[x];
int b[x];
L:
return sizeof a;
}
with:
scope-check.c:15:3: error: illegal goto into protected scope
goto L;
^
scope-check.c:17:7: note: scope created by variable length array
int b[x];
^
scope-check.c:16:7: note: scope created by variable length array
int a[x];
^
instead of just saying "invalid jump". An ObjC example is:
void test1() {
goto L;
@try {
L: ;
} @finally {
}
}
t.m:6:3: error: illegal goto into protected scope
goto L;
^
t.m:7:3: note: scope created by @try block
@try {
^
There are a whole ton of fixme's for stuff to do, but I believe that this
is a monotonic improvement over what we had.
llvm-svn: 69437
2009-04-18 09:36:27 +00:00
Chris Lattner
33b9cb2eec
add accessor.
...
llvm-svn: 69436
2009-04-18 09:27:30 +00:00
Daniel Dunbar
41595d43d5
Use getAsPointerType instead of using getCanonicalType directly.
...
- <rdar://problem/6803995>
llvm-svn: 69435
2009-04-18 08:54:40 +00:00
Evan Cheng
b685be0c1e
Add a new LiveInterval::overlaps(). It checks if the live interval overlaps a range specified by [Start, End).
...
llvm-svn: 69434
2009-04-18 08:52:15 +00:00
Daniel Dunbar
508a7dda4a
Fix a bug found by inspection, class/meta references could be emitted
...
into the wrong section (they shared the same lookup table).
llvm-svn: 69433
2009-04-18 08:51:00 +00:00
Chris Lattner
9f3e711503
add another testcase
...
llvm-svn: 69432
2009-04-18 07:54:11 +00:00
Chris Lattner
7a845306aa
don't evaluate ->child_end() every time through the loop, or *i frequently within it.
...
llvm-svn: 69431
2009-04-18 07:53:55 +00:00
Chris Lattner
9512c2fb77
split code out into a new CheckFunctionJumpScopes routine,
...
add some comments, change type from void* -> Stmt*, use
smallvector instead of vector.
llvm-svn: 69430
2009-04-18 07:47:21 +00:00
Chris Lattner
40cc0044e7
make scope checking be static functions instead of sema methods.
...
llvm-svn: 69429
2009-04-18 07:36:39 +00:00
Chris Lattner
c2e868fd14
fix incorrect lowering of __builtin_ia32_shufpd, rdar://6803924
...
llvm-svn: 69428
2009-04-18 07:01:54 +00:00
Chris Lattner
032f7665d0
rename file.
...
llvm-svn: 69427
2009-04-18 07:00:54 +00:00
Chris Lattner
85e4dd4055
don't dump .ll file in this dir.
...
llvm-svn: 69426
2009-04-18 07:00:06 +00:00
Chris Lattner
24ad8621a4
__builtin_prefetch should be declared as "void __builtin_prefetch(const void *)",
...
not "const void __builtin_prefetch(void *)". This fixes PR3912.
llvm-svn: 69425
2009-04-18 06:51:21 +00:00
Chris Lattner
974e1f40b3
rename test
...
llvm-svn: 69424
2009-04-18 06:49:47 +00:00
Chris Lattner
35dd5056fc
fix PR3927 by being more careful about the pp test for identifier.
...
llvm-svn: 69423
2009-04-18 06:44:18 +00:00
Chris Lattner
5ca5d40cf4
second half of PR3940: #line requires simple digit sequence.
...
llvm-svn: 69422
2009-04-18 06:38:24 +00:00
Douglas Gregor
652d82a096
Store the type ID for __builtin_va_list in the PCH file, so that the
...
AST context's __builtin_va_list type will be set when the PCH file is
loaded. This fixes the crash when CodeGen'ing a va_arg expression
pulled in from a PCH file.
llvm-svn: 69421
2009-04-18 05:55:16 +00:00
Mon P Wang
6c8bcf9da1
Fixed a few 64 bit cases in X86InstrInfo::commuteInstruction
...
llvm-svn: 69417
2009-04-18 05:16:01 +00:00
Chris Lattner
751f045e32
this is really just a recommendation, not a requirement.
...
llvm-svn: 69416
2009-04-18 02:25:14 +00:00
Chris Lattner
2425bcb49a
enforce requirements imposed by C90 6.8 TC1, fixing PR3919.
...
llvm-svn: 69415
2009-04-18 02:23:25 +00:00
Dale Johannesen
2f6263fea3
Adjust XFAIL syntax, maybe that will help. The other
...
way worked for me...
llvm-svn: 69414
2009-04-18 02:01:23 +00:00
Chris Lattner
bc63de144f
Fix PR3938 by taking into account C99 6.10p4.
...
llvm-svn: 69413
2009-04-18 01:34:22 +00:00
Chris Lattner
b547394ba5
convert test to -verify style.
...
llvm-svn: 69412
2009-04-18 01:33:54 +00:00
Chris Lattner
c17925da61
Substantially restructure function-like macro argument parsing.
...
Highlights: PP::isNextPPTokenLParen() no longer eats the (
when present. We now simplify slightly the logic parsing
macro arguments. We now handle PR3937 and other related cases
correctly.
llvm-svn: 69411
2009-04-18 01:13:56 +00:00
Douglas Gregor
111af7d7b4
Preliminary PCH support in the driver
...
llvm-svn: 69410
2009-04-18 00:34:01 +00:00
Dale Johannesen
e34fb6b5ce
patch 69408 breaks this by removing the opportunity
...
for the optimization it's testing to kick in (although
it improves the code, getting rid of all spills).
I don't understand the optimization well enough to
rescue the test, so XFAILing.
llvm-svn: 69409
2009-04-18 00:11:50 +00:00
Dale Johannesen
ad968ee286
Inline asm's were still introducing bogus dependencies;
...
my earlier patch to this code only fixed half of it.
llvm-svn: 69408
2009-04-18 00:09:40 +00:00