Abramo Bagnara
1339223186
Added warning about invalid register specification for local variables.
...
llvm-svn: 123236
2011-01-11 15:16:52 +00:00
Rafael Espindola
478abcab3d
Produce a better error message for invalid register names.
...
llvm-svn: 122670
2011-01-01 21:47:03 +00:00
Anders Carlsson
2d5f8b4201
When setting a tied check if it's already tied. If it's tied to another constraint it's invalid. Fixes PR3905.
...
llvm-svn: 118146
2010-11-03 02:54:51 +00:00
Anders Carlsson
da1f5fc881
A number in an input constraint can't point to a read-write ('+') constraint. Fixes PR3904.
...
llvm-svn: 118145
2010-11-03 02:22:29 +00:00
Chris Lattner
53fa04909c
make clang print types as "const int *" instead of "int const*",
...
which is should have done from the beginning. As usual, the most
fun with this sort of change is updating all the testcases.
llvm-svn: 113090
2010-09-05 00:04:01 +00:00
John McCall
9dfb16210e
Warn on top-level 'asm volatile' (instead of misparsing it).
...
"Fixes" rdar://problem/7574870
llvm-svn: 94458
2010-01-25 22:27:48 +00:00
Daniel Dunbar
8fbe78f6fc
Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.
...
- This is designed to make it obvious that %clang_cc1 is a "test variable"
which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it
can be useful to redefine what gets run as 'clang -cc1' (for example, to set
a default target).
llvm-svn: 91446
2009-12-15 20:14:24 +00:00
Eli Friedman
45966b4671
Remove the -arch option from clang-cc: for all practical purposes, it's
...
redundant with -triple.
llvm-svn: 72108
2009-05-19 11:12:40 +00:00
Chris Lattner
cb66c73a48
If we have mismatched integer tied operands, but the operand
...
number is not mentioned in the asm string, let it past sema.
Right now these are currently rejected by the llvm code generator
but this will be fixed next.
llvm-svn: 70670
2009-05-03 07:04:21 +00:00
Chris Lattner
574428e4db
implement PR4077: [Linux kernel] inscrutable error on inline asm input/output constraint mismatch
...
Before we emitted:
$ clang t.c -S -m64
llvm: error: Unsupported asm: input constraint with a matching output constraint of incompatible type!
Now we produce:
$ clang t.c -S -m64
t.c:5:40: error: unsupported inline asm: input with type 'unsigned long' matching output with type 'int'
asm volatile("foo " : "=a" (a) :"0" (b));
~~~ ~^~
llvm-svn: 70142
2009-04-26 18:22:24 +00:00
Daniel Dunbar
a45cf5b6b0
Rename clang to clang-cc.
...
Tests and drivers updated, still need to shuffle dirs.
llvm-svn: 67602
2009-03-24 02:24:46 +00:00
Chris Lattner
14311925f2
fix PR3258 by rejecting invalid numeric operands.
...
llvm-svn: 66618
2009-03-11 00:23:13 +00:00
Chris Lattner
3fa25c683f
checking for symbolic operands as well as % at end of string.
...
llvm-svn: 66614
2009-03-11 00:06:36 +00:00
Chris Lattner
a41b847401
reject invalid escape characters in extended-asm strings with a nice diagnostic.
...
llvm-svn: 66605
2009-03-10 23:51:40 +00:00
Anders Carlsson
570c357ded
If an input constraint refers to an output constraint, it should have the same constraint info as the output constraint. Fixes PR3417
...
llvm-svn: 63127
2009-01-27 20:38:24 +00:00
Anders Carlsson
a0b892113a
Handle the 'e' constraint. Fixes PR3385
...
llvm-svn: 62923
2009-01-24 18:03:09 +00:00
Anders Carlsson
dc6ceca4ba
Fix an inline asm sema bug that I introduced.
...
llvm-svn: 62666
2009-01-21 06:27:20 +00:00
Anders Carlsson
224fca8982
Improvements to Sema of asm statements. Fixes <rdar://problem/6156893>
...
llvm-svn: 62609
2009-01-20 20:49:22 +00:00
Anders Carlsson
a79203be85
Add sema support for symbolic names in inline asm statements.
...
llvm-svn: 62441
2009-01-18 01:56:57 +00:00
Chris Lattner
070968957e
Fix rdar://6094010 various asserts happening with wide strings in inline asm.
...
llvm-svn: 53947
2008-07-23 06:46:56 +00:00
Anders Carlsson
290aa8560b
Check that the clobber registers are valid.
...
llvm-svn: 44311
2007-11-25 00:25:21 +00:00
Anders Carlsson
80a5ea3552
Check asm input and output expressions.
...
llvm-svn: 44289
2007-11-23 19:43:50 +00:00