Anders Carlsson
76180ea456
Misc fixes to the cleanup stack code.
...
llvm-svn: 64096
2009-02-08 22:13:37 +00:00
Mike Stump
a6dbd7b25a
When we're at the stack depth we want, there isn't anything to do.
...
llvm-svn: 64095
2009-02-08 22:00:53 +00:00
Mikhail Glushenkov
a6435d48bc
Add Emacs hints to Alarm.inc.
...
Also removes some trailing whitespace and fixes one 80-column violation.
llvm-svn: 64094
2009-02-08 21:10:57 +00:00
Chris Lattner
1aca40e349
add a note.
...
llvm-svn: 64093
2009-02-08 20:44:19 +00:00
Chris Lattner
cd2b504d5f
add another crazy idea :)
...
llvm-svn: 64092
2009-02-08 20:41:34 +00:00
Chris Lattner
c9e1b48449
fix typo
...
llvm-svn: 64091
2009-02-08 20:00:15 +00:00
Chris Lattner
04c57c5bae
fix typo
...
llvm-svn: 64090
2009-02-08 19:59:51 +00:00
Chris Lattner
412f626b96
reject void pointers with a nice error:
...
llvm-as: t.ll:2:15: pointers to void are invalid, use i8* instead
%X = type void*
^
instead of asserting and dying.
llvm-svn: 64089
2009-02-08 19:56:22 +00:00
Chris Lattner
4a67c91d0b
document pointer type constraints, PR3513
...
llvm-svn: 64088
2009-02-08 19:53:29 +00:00
Chris Lattner
f7ae0d1fb2
just remove this insane testcase :)
...
llvm-svn: 64087
2009-02-08 19:44:51 +00:00
Sebastian Redl
c9ab3d430b
Teach the constant evaluator about C++ const integral variables.
...
llvm-svn: 64086
2009-02-08 15:51:17 +00:00
Sebastian Redl
df0913ba70
Fix redundant errors with missing default arguments in member declarations.
...
llvm-svn: 64085
2009-02-08 14:56:26 +00:00
Mikhail Glushenkov
cc4c8e848a
The 'false.c' test must depend on llvm-g++.
...
Also, turn on Objective-C/C++ tests.
This should fix http://llvm.org/bugs/show_bug.cgi?id=3499 .
llvm-svn: 64084
2009-02-08 11:44:37 +00:00
Evan Cheng
b3783639cb
Fix PR3486. Fix a bug in code that manually patch physical register live interval after its sub-register is coalesced with a virtual register.
...
llvm-svn: 64082
2009-02-08 11:04:35 +00:00
Sebastian Redl
95ea38fa1a
Fix redundant errors for redefinitions with multiple existing definitions.
...
llvm-svn: 64081
2009-02-08 10:49:44 +00:00
Sebastian Redl
aa400d83e6
Make the test cases failing due to exact diagnostic matching XFAIL.
...
llvm-svn: 64080
2009-02-08 10:28:44 +00:00
Mike Stump
284d177c7f
Wire up break and continue processing to the new stack depth adjuster.
...
If people could beat on it and let me know if there are any new
semantics required by newer language standards or DRs or any little
details I goofed on, I'd be happy to fix any issues found.
llvm-svn: 64079
2009-02-08 09:22:19 +00:00
Evan Cheng
942519306e
Strengthen the previous check.
...
llvm-svn: 64076
2009-02-08 08:24:28 +00:00
Evan Cheng
fe014df914
r64073 commit message is lost. Here it is:
...
Right now if the coalesced copy def is dead and its src is a kill, and that
there are now other uses within the live range, the coalescer would mark the
def of the source register as dead. But it should also check if there are
other kills which means the value has other uses not in the live range.
llvm-svn: 64075
2009-02-08 08:00:36 +00:00
Mike Stump
f876bc9388
Fixup expected errors.
...
llvm-svn: 64074
2009-02-08 07:59:54 +00:00
Evan Cheng
e5e95f7717
(no commit message)
...
llvm-svn: 64073
2009-02-08 07:48:37 +00:00
Anders Carlsson
66c384ac2e
More cleanup stack work, PopCleanupBlock now returns a struct with the switch block and end block.
...
llvm-svn: 64072
2009-02-08 07:46:24 +00:00
Ted Kremenek
beb1ce6504
Updated checker build.
...
llvm-svn: 64071
2009-02-08 05:05:02 +00:00
Bill Wendling
fd2bd720da
Fixes from feedback.
...
llvm-svn: 64070
2009-02-08 04:04:40 +00:00
Anders Carlsson
ae91d9b140
Split some functions up
...
llvm-svn: 64069
2009-02-08 03:55:35 +00:00
Anders Carlsson
a586ad7f85
CleanupScope needs to push the cleanup block in its destructor
...
llvm-svn: 64068
2009-02-08 03:22:36 +00:00
Bill Wendling
f4d70628a3
Document the 'llvm.OP.with.overflow' intrinsics.
...
llvm-svn: 64066
2009-02-08 01:40:31 +00:00
Bill Wendling
415515077b
Mistakenly turned this on.
...
llvm-svn: 64065
2009-02-08 01:32:00 +00:00
Anders Carlsson
3c21dd5a80
Implement support for branch fixups.
...
llvm-svn: 64064
2009-02-08 01:23:05 +00:00
Chris Lattner
24c911e25a
use some references to simplify code.
...
llvm-svn: 64063
2009-02-08 01:00:10 +00:00
Bill Wendling
5469ec1072
Revert r63999. It was breaking self-hosting builds.
...
llvm-svn: 64062
2009-02-08 00:58:05 +00:00
Chris Lattner
bf20a9a57d
Genericize the existing logic for removing duplicate header dirs to apply
...
the "system dirs win over user dirs" logic to framework and headermap
search locations as well as normal directories. This means that
clang t.m -F/System/Library/Frameworks will treat /System/Library/Frameworks
as a system directory not a user directory. If you use -v, the difference is:
Before:
ignoring nonexistent directory "/usr/libdata/gcc41"
ignoring duplicate framework "/System/Library/Frameworks"
#include "..." search starts here:
#include <...> search starts here:
After:
ignoring nonexistent directory "/usr/libdata/gcc41"
ignoring duplicate directory "/System/Library/Frameworks"
as it is a non-system directory that duplicates a system directory
#include "..." search starts here:
#include <...> search starts here:
This fixes rdar://6566429.
llvm-svn: 64060
2009-02-08 00:55:22 +00:00
Anders Carlsson
7d70fd27a4
More cleanup stack work.
...
llvm-svn: 64059
2009-02-08 00:50:42 +00:00
Douglas Gregor
9fc4c68380
Add public placement-delete operators. These are automatically used if the allocation throws
...
llvm-svn: 64056
2009-02-08 00:29:56 +00:00
Anders Carlsson
fbfb5e6530
When emitting blocks, keep track of which cleanup scope they have. Minor fixes and cleanup.
...
llvm-svn: 64053
2009-02-08 00:16:35 +00:00
Anders Carlsson
cadb9a6a34
Emit a cleanup block for the cleanup attribute
...
llvm-svn: 64052
2009-02-07 23:51:38 +00:00
Anders Carlsson
be0f76a712
Add support for emitting cleanup blocks. Make EmitCompoundStatement emit cleanup blocks if necessary
...
llvm-svn: 64051
2009-02-07 23:50:39 +00:00
Chris Lattner
4f8542f31d
testcase for r64049 of llvm-gcc.
...
llvm-svn: 64050
2009-02-07 23:37:03 +00:00
Anders Carlsson
2cf8c44e43
Add a simple RAII object, to be used for pushing a cleanup entry and make the insertion point be the cleanup block.
...
llvm-svn: 64048
2009-02-07 23:30:41 +00:00
Anders Carlsson
723f55d697
Improve Sema of the cleanup attribute somewhat.
...
llvm-svn: 64047
2009-02-07 23:16:50 +00:00
Mike Stump
0509d9635b
Ensure we track all the stack depths for all break and continue points
...
correctly. This should lay the ground work to throw the big switch
and start code gening break and continue in the presense of vlas.
llvm-svn: 64046
2009-02-07 23:02:10 +00:00
Ted Kremenek
394dfeb37b
Update test case.
...
llvm-svn: 64045
2009-02-07 22:55:48 +00:00
Ted Kremenek
eae2a0eb8f
Fix null dereference.
...
llvm-svn: 64044
2009-02-07 22:54:59 +00:00
Anders Carlsson
15cb75a20c
Add plumbing for the cleanup stack.
...
llvm-svn: 64043
2009-02-07 22:53:43 +00:00
Ted Kremenek
0aadcd4179
Commit header.
...
llvm-svn: 64042
2009-02-07 22:46:46 +00:00
Ted Kremenek
2a4028b728
For retain/release leaks, have the BugReport description indicate the allocation site and initial bindings.
...
llvm-svn: 64041
2009-02-07 22:38:00 +00:00
Chris Lattner
d8f0786c31
Add missing break statements, fixing PR3503.
...
llvm-svn: 64040
2009-02-07 22:37:06 +00:00
Ted Kremenek
79f955bfed
Tidy up bug descriptions.
...
llvm-svn: 64039
2009-02-07 22:37:02 +00:00
Ted Kremenek
252b90ece6
Use BugReport::getDescription() for the compiler warning text.
...
llvm-svn: 64038
2009-02-07 22:36:41 +00:00
Chris Lattner
4293c8935a
C++ really shouldn't check these #defines, thanks to Howard
...
for pointing this out!
llvm-svn: 64037
2009-02-07 22:21:31 +00:00