Commit Graph

81643 Commits

Author SHA1 Message Date
Fariborz Jahanian 60462098d4 Patch to implement gcc's cstyle arguments in objc
methods. wip.

llvm-svn: 100734
2010-04-08 00:30:06 +00:00
Chris Lattner 79f67a7495 refactor out a function.
llvm-svn: 100733
2010-04-08 00:23:06 +00:00
John McCall 3a65ef4504 Fix a (bogus) uninitialized-member-of-local warning.
llvm-svn: 100732
2010-04-08 00:13:37 +00:00
Chris Lattner 3c65a8324d convert a report_fatal_error that I was able to trigger into a nice error
so the user at least knows what inline asm is a problem.  For example:

error: inline asm not supported yet: don't know how to handle tied indirect register inputs
pr8788-1.c:14:10: note: generated from here
    asm ("\n" : "+r" (stack->regs)
         ^

Instead of:
fatal error: error in backend: Don't know how to handle tied indirect register inputs yet!

llvm-svn: 100731
2010-04-08 00:09:16 +00:00
Ted Kremenek 465dffa736 Use SmallVector instead of an std::queue.
llvm-svn: 100730
2010-04-08 00:05:00 +00:00
Jeffrey Yasskin 823015d627 When a template (without arguments) is passed as a template type
parameter, explicitly ask the user to give it arguments.  We used to
complain that it wasn't a type and expect the user to figure it out.

llvm-svn: 100729
2010-04-08 00:03:06 +00:00
Evan Cheng 81fd35fd76 Fix typo.
llvm-svn: 100726
2010-04-07 23:51:38 +00:00
Chris Lattner 94ef52824b minor tidying.
llvm-svn: 100725
2010-04-07 23:50:38 +00:00
Chris Lattner cd92718a0f use assertions instead of unreachable for logic errors.
llvm-svn: 100724
2010-04-07 23:47:51 +00:00
Chris Lattner 1e45789ee0 introduce a new recoverable error handling API to LLVMContext
and use it in one place in inline asm handling stuff.  Before
we'd generate this for an invalid modifier letter:

$ clang asm.c -c -o t.o
fatal error: error in backend: Invalid operand found in inline asm: 'abc incl    ${0:Z}'
INLINEASM <es:abc incl    ${0:Z}>, 10, %EAX<def>, 2147483657, %EAX, 14, %EFLAGS<earlyclobber,def,dead>, <!-1>


Now we generate this:

$ clang asm.c -c -o t.o
error: invalid operand in inline asm: 'incl    ${0:Z}'
asm.c:3:12: note: generated from here
  __asm__ ("incl    %Z0" : "+r" (X));
           ^
1 error generated.

This is much better but still admittedly not great ("why" is the operand 
invalid??), codegen should try harder with its diagnostics :)

llvm-svn: 100723
2010-04-07 23:40:44 +00:00
Jeffrey Yasskin 4e150f8d35 Fix some redundant errors by changing CXXScopeSpec::isSet calls into
isNotEmpty calls.

llvm-svn: 100722
2010-04-07 23:29:58 +00:00
Dan Gohman eb7111b98f Say bitcast instead of bitconvert.
llvm-svn: 100720
2010-04-07 23:22:42 +00:00
Dan Gohman 4a3c07dfb0 Add svn:ignore.
llvm-svn: 100719
2010-04-07 23:19:41 +00:00
Chris Lattner 1f054ecca2 update for api change.
llvm-svn: 100718
2010-04-07 23:12:35 +00:00
Chris Lattner 59c5753174 rename llvm_install_error_handler -> install_fatal_error_handler
and friends.

llvm-svn: 100717
2010-04-07 23:12:29 +00:00
Alexis Hunt 7dd2617e9c Implement checking for template literal operator functions. This
code won't actually get used yet because we don't handle non-type
parameter packs, but when we do, this code should jump in and work.

llvm-svn: 100716
2010-04-07 23:11:06 +00:00
Ted Kremenek 4b1b4205ed Update CMake build.
llvm-svn: 100714
2010-04-07 23:05:23 +00:00
Benjamin Kramer 33f6413c58 Update cmake build.
llvm-svn: 100713
2010-04-07 23:01:37 +00:00
Eric Christopher 75553d9de5 Add support for stpncpy_chk.
llvm-svn: 100711
2010-04-07 23:00:44 +00:00
Eric Christopher e8b281c3c3 Add support for stpncpy_chk.
llvm-svn: 100710
2010-04-07 23:00:07 +00:00
Chris Lattner 2104b8d36e rename llvm::llvm_report_error -> llvm::report_fatal_error
llvm-svn: 100709
2010-04-07 22:58:41 +00:00
Chris Lattner 4b73cfabac rename llvm::llvm_report_error -> llvm::report_fatal_error
llvm-svn: 100708
2010-04-07 22:58:06 +00:00
Alexis Hunt 079a6f7fe5 Updated comment to reflect changes made in the most recent draft.
llvm-svn: 100707
2010-04-07 22:57:35 +00:00
Chris Lattner 5109d3e55d add newlines at end of files.
llvm-svn: 100706
2010-04-07 22:54:55 +00:00
Chris Lattner 3ae2dd2ba5 add newlines at the end of files.
llvm-svn: 100705
2010-04-07 22:53:17 +00:00
Alexis Hunt a0c80c55c3 Fixed 80-cols violation
llvm-svn: 100704
2010-04-07 22:52:07 +00:00
Chris Lattner cc7bb24fe2 remove some unneeded errorhandling stuff.
llvm-svn: 100703
2010-04-07 22:44:07 +00:00
Chris Lattner b6166b372e minor tidying up
llvm-svn: 100702
2010-04-07 22:41:29 +00:00
Chris Lattner b50e795369 tidy up
llvm-svn: 100700
2010-04-07 22:29:10 +00:00
Dan Gohman d006ab90dd Generalize IVUsers to track arbitrary expressions rather than expressions
explicitly split into stride-and-offset pairs. Also, add the
ability to track multiple post-increment loops on the same expression.

This refines the concept of "normalizing" SCEV expressions used for
to post-increment uses, and introduces a dedicated utility routine for
normalizing and denormalizing expressions.

This fixes the expansion of expressions which are post-increment users
of more than one loop at a time. More broadly, this takes LSR another
step closer to being able to reason about more than one loop at a time.

llvm-svn: 100699
2010-04-07 22:27:08 +00:00
Johnny Chen 85ce9f4f30 Missed this one line for the previous checkin to fix build warnings.
llvm-svn: 100697
2010-04-07 22:21:03 +00:00
Johnny Chen 8b04b550df Fixed warnings pointed out by clang.
llvm-svn: 100696
2010-04-07 22:03:27 +00:00
Johnny Chen 80f8c3d533 Fixed warnings pointed out by clang.
Next to work on is ARMDisassemblerCore.cpp.

llvm-svn: 100695
2010-04-07 21:52:48 +00:00
Sean Callanan 1efe661b46 Fixed a bug where the disassembler would allow an immediate
argument that had to be between 0 and 7 to have any value,
firing an assert later in the AsmPrinter.  Now, the
disassembler rejects instructions with out-of-range values
for that immediate.

llvm-svn: 100694
2010-04-07 21:42:19 +00:00
Johnny Chen 3f253e2cb1 Fixed 3 warnings pointed out by clang.
llvm-svn: 100693
2010-04-07 21:23:48 +00:00
Benjamin Kramer f812ff6f2e unXFAIL, arm disassembler was reenabled.
llvm-svn: 100692
2010-04-07 21:19:41 +00:00
Eric Christopher 978d33a937 Fix typo and correct comment somewhat.
llvm-svn: 100691
2010-04-07 20:58:16 +00:00
Johnny Chen 4e2f8722c4 Re-enable ARM/Thumb disassembler and add a workaround for a memcpy() call in
ARMDecoderEmitter.cpp, with FIXME comment.

llvm-svn: 100690
2010-04-07 20:53:12 +00:00
Chris Lattner b35583df52 add a new driver-level -ferror-limit=412 option, which causes clang to stop
emitting diagnostics after it has produced that many errors.  Give this a
default value of 20 which produces plenty of errors for people to fix before
recompiling but not so many that their entire console scrolls away when the
compiler gets confused.  The experience looks like this:

$ clang foo.c
<tons of crap>
foo.c:102:3: error: unknown type name 'somethingbad'
  somethingbad x;
  ^
fatal error: too many errors emitted, stopping now
36 warnings and 20 errors generated.

llvm-svn: 100689
2010-04-07 20:49:23 +00:00
Dale Johannesen f118f9788b Split big test into multiple directories to cater to
those who don't build all targets.

llvm-svn: 100688
2010-04-07 20:43:35 +00:00
Chris Lattner dec49e77e5 add clang -cc1 level support for "-ferror-limit 42"
llvm-svn: 100687
2010-04-07 20:37:06 +00:00
Douglas Gregor fd27fed584 Return early from Sema::MarkDeclarationReferenced when we know there
isn't any extra work to perform. Also, don't check for unused
parameters when the warnings will be suppressed anyway. Improves
performance of -fsyntax-only on 403.gcc's combine.c by ~2.5%. 
<rdar://problem/7836787>

llvm-svn: 100686
2010-04-07 20:29:57 +00:00
Sean Callanan 643a55708f Added an AsmLexer for the ARM target, which uses
a simple mapping of register names to IDs to
identify register tokens.

llvm-svn: 100685
2010-04-07 20:29:34 +00:00
Chris Lattner 75a0393eb5 add capabilities to stop emitting errors after some limit.
Right now the limit is 0 (aka disabled)

llvm-svn: 100684
2010-04-07 20:21:58 +00:00
Dale Johannesen 27c786bcf9 Test that DEBUG_VALUE comments come out on a variety of targets.
llvm-svn: 100682
2010-04-07 20:01:24 +00:00
Dale Johannesen 60b289709e Educate GetInstrSizeInBytes implementations that
DBG_VALUE does not generate code.

llvm-svn: 100681
2010-04-07 19:51:44 +00:00
Gabor Greif 08d85da6cc fix 80-col violations
llvm-svn: 100677
2010-04-07 18:59:26 +00:00
Ted Kremenek 43a9c9626f Don't emit an 'unused expression' warning for '||' and '&&' expressions that contain assignments
or similar side-effects.

llvm-svn: 100676
2010-04-07 18:49:21 +00:00
Chris Lattner 198cb4df6e Instead of counting totally diagnostics, split the count into a count
of errors and warnings.  This allows us to emit something like this:

2 warnings and 1 error generated.

instead of:

3 diagnostics generated.

This also stops counting 'notes' because they are just follow-on information
about the previous diag, not a diagnostic in themselves.

llvm-svn: 100675
2010-04-07 18:47:42 +00:00
Chris Lattner a503f7c9d2 convert to -verify mode.
llvm-svn: 100674
2010-04-07 18:43:41 +00:00