Chris Lattner
0d70761cad
GCC supports the complex conjugate operator (an extension) on complex int
...
as well as complex float. rdar://6097730
llvm-svn: 54080
2008-07-25 23:52:49 +00:00
Chris Lattner
8c217a81ac
fix diagnostics.
...
llvm-svn: 54079
2008-07-25 23:41:08 +00:00
Chris Lattner
4591fd0aac
Fix rdar://6103124, the only dummy blocks are ones without names. Named blocks
...
are important part of control flow structures.
llvm-svn: 54078
2008-07-25 23:40:10 +00:00
Owen Anderson
54912b3e8d
Fix the issues originally addressed in r54070. After thinking about it some more, I realized that the right thing to do
...
is to have StrongPHIElimination use its knowledge of the PHIs before they're erased to update the intervals appropriate. This is
both simpler and more accurate than the alternative, which was having LIA figure it out when it renumbered things, plus it's just
the right thing to do!
llvm-svn: 54077
2008-07-25 23:38:08 +00:00
Ted Kremenek
0478105f7c
Added project idea for a doxygen-like tool built using clang
...
llvm-svn: 54076
2008-07-25 23:34:29 +00:00
Chris Lattner
2841fc0e7b
fix 80 col violation.
...
llvm-svn: 54075
2008-07-25 23:30:42 +00:00
Chris Lattner
903eb518e6
Fix rdar://6095136, various crashes with incomplete enum types.
...
llvm-svn: 54074
2008-07-25 23:18:17 +00:00
Chris Lattner
6bf59d82c8
minor cleanup
...
llvm-svn: 54073
2008-07-25 23:07:18 +00:00
Owen Anderson
7a45b168ac
Revert my previous patch. In retrospect, this is completely the wrong way to fix this problem.
...
llvm-svn: 54072
2008-07-25 23:06:59 +00:00
Daniel Dunbar
c9809a9d68
Remove unused ASTConsumer::HandleTopLevelDeclaration
...
llvm-svn: 54071
2008-07-25 22:39:30 +00:00
Owen Anderson
074f9db2fd
Special cases are needed in renumbering when dealing with renumbering after a PHI has been removed. The interval previously defined
...
by the PHI needs to be extended to the beginning of its basic block, and the intervals that were inputs need to be trimmed to the end
of their basic blocks.
llvm-svn: 54070
2008-07-25 22:32:01 +00:00
Chris Lattner
2ce500ffbe
move a method.
...
llvm-svn: 54069
2008-07-25 22:25:12 +00:00
Chris Lattner
bea82ff6ed
Fix a couple bugs in aggregate cast processing: 1) fix precedecence
...
problem with &&/||. 2) use canonical types for comparison instead
of raw types. 3) emit an ext-warn for a gnu extension.
Also simplify the code to make it less nested.
llvm-svn: 54068
2008-07-25 22:06:10 +00:00
Ted Kremenek
870f750434
Format string errors should underling the format string, not the function name.
...
llvm-svn: 54067
2008-07-25 22:03:03 +00:00
Chris Lattner
3f375d055e
make sizeof/alignof diagnostics highlight their operand with a sourcerange.
...
llvm-svn: 54066
2008-07-25 21:45:37 +00:00
Owen Anderson
0346aba5c2
In order to avoid reprocessing a register more than once, we need to add it
...
to the handled set so it will get filtered out in future iterations.
llvm-svn: 54065
2008-07-25 21:35:43 +00:00
Chris Lattner
61f60a05b2
c89 does not perform array -> pointer promotion unless the array is an lvalue. This
...
is different than C99. This fixes the rest of rdar://6095180.
llvm-svn: 54064
2008-07-25 21:33:13 +00:00
Chris Lattner
513165ecf3
move some code, no other change.
...
llvm-svn: 54063
2008-07-25 21:10:04 +00:00
Owen Anderson
d9c8711d70
Remove live interval entries for an interval if we're eliminating its only VN.
...
llvm-svn: 54062
2008-07-25 21:08:41 +00:00
Owen Anderson
88499a3503
Properly remap live ranges whose end indices are the end of the function.
...
llvm-svn: 54061
2008-07-25 21:07:13 +00:00
Ted Kremenek
e8f7bdc5cf
Updated latest checker build.
...
llvm-svn: 54060
2008-07-25 21:05:04 +00:00
Daniel Dunbar
b5586dad97
Fix long double test case
...
- Had wrong sizeof(long double) encoded into test case
- Results now agree with llvm-gcc
llvm-svn: 54059
2008-07-25 20:54:30 +00:00
Chris Lattner
f6e1e309c7
In c99 mode, comma does do function/array promotion even though
...
it does not do unary promotions (like short->int).
llvm-svn: 54058
2008-07-25 20:54:07 +00:00
Ted Kremenek
04350ebe4a
Refine ObjCPropertyImplDecl:
...
- Remove a bunch of setXXX methods until we actually need them. This cleans up the
interface, and makes the object immutable until we have a reason to be mutable.
- Remove enum value OBJC_PR_IMPL_None since it was never used.
- Remove instance variable 'PropertyImplKind PropertyImplementation;'. This is
not needed because we can tell if ObjCPropertyImplDecl represents @synthesize
if 'ObjCPropertyDecl *PropertyDecl' is not null.
llvm-svn: 54055
2008-07-25 20:43:38 +00:00
Dan Gohman
685fd8081d
Rename the version of CreateRet that's a convenience method for creating
...
multiple-valued return values, so that the name CreateRet is just for
creating plain ret statements.
llvm-svn: 54053
2008-07-25 20:36:15 +00:00
Ted Kremenek
7fb92dbf47
Enabled 'unused ivars' check by default.
...
llvm-svn: 54052
2008-07-25 20:35:01 +00:00
Ted Kremenek
e17c037f4f
Remove '.' in expected warning
...
llvm-svn: 54051
2008-07-25 20:30:34 +00:00
Ted Kremenek
d074ce47b6
Have the UnusedIvar check skip ivars with setters/getters created by @synthesize.
...
llvm-svn: 54050
2008-07-25 20:28:02 +00:00
Nate Begeman
448b0cb033
X86 builtin fixes
...
llvm-svn: 54049
2008-07-25 20:17:24 +00:00
Nate Begeman
fe79ca2ab9
Generate vector compares in codegen
...
llvm-svn: 54048
2008-07-25 20:16:05 +00:00
Nate Begeman
e7f45b2977
Move comment to match style
...
llvm-svn: 54047
2008-07-25 20:15:41 +00:00
Nate Begeman
8d161830d1
De-tabify
...
llvm-svn: 54046
2008-07-25 20:15:14 +00:00
Chris Lattner
e174acc910
Comma does not perform unary promotions, rdar://6095180
...
llvm-svn: 54045
2008-07-25 20:02:29 +00:00
Chris Lattner
e08e47ab2f
gcc requires a semicolon at the end of an interface, unlike its extension for structs.
...
rdar://6095245.
llvm-svn: 54044
2008-07-25 19:54:55 +00:00
Owen Anderson
c7d53fd331
Make the remapping of interval indices (particularly ending indices) more robust.
...
This is tricky business, and will probably take a few more iterations to get
the last kinks out of it.
llvm-svn: 54043
2008-07-25 19:50:48 +00:00
Steve Naroff
e2177fbfdc
Cleaunup Sema::ActOnClassMessage(). This commit:
...
(a) removes a bogus warning.
(b) removes an undesirable usage of the ObjCMessageExpr constructor that takes an IdentifierInfo * (which I will abolish).
llvm-svn: 54042
2008-07-25 19:39:00 +00:00
Duncan Sands
082af393ff
Fix error: ‘std::ostream’ has not been declared
...
when compiling with gcc 4.3.
llvm-svn: 54041
2008-07-25 19:29:14 +00:00
Nate Begeman
59063cb315
Fix test RUN line
...
llvm-svn: 54040
2008-07-25 19:08:59 +00:00
Nate Begeman
283b2da27a
Disable mov{L, LP, HP, HLP, *DUP} shuffles for mmx
...
mmx needs its own fancy shuffle logic based on unpack; for now we get correct but awful code.
Also commit Mon Ping's VSETCC patch
llvm-svn: 54039
2008-07-25 19:05:58 +00:00
Chris Lattner
f9c49e5d27
Reject typedef redefinitions when the underlying types are not identical,
...
even if in a system header etc. rdar://6079937
llvm-svn: 54038
2008-07-25 18:44:27 +00:00
Chris Lattner
31614aeb0a
update this testcase.
...
llvm-svn: 54037
2008-07-25 18:42:46 +00:00
Daniel Dunbar
c481f72857
Add test case for hex floating point constants in < C99 mode
...
- For: rdar://6096838
llvm-svn: 54036
2008-07-25 18:41:57 +00:00
Chris Lattner
c94ad4abcb
In c89 mode accept hex fp constants as an extension:
...
t2.c:1:17: warning: hexadecimal floating constants are a C99 feature
long double d = 0x0.0000003ffffffff00000p-16357L;
^
instead of emitting a weird error message that doesn't make sense:
t2.c:1:41: error: hexadecimal floating constants require an exponent
long double d = 0x0.0000003ffffffff00000p-16357L;
^
rdar://6096838
llvm-svn: 54035
2008-07-25 18:18:34 +00:00
Ted Kremenek
83ec24501e
Remove call to isSEL and isSEL itself since the call is dead (isObjCObjectPointerType() will never return true for selectors).
...
llvm-svn: 54034
2008-07-25 18:17:35 +00:00
Chris Lattner
ec8996d771
Add support for __extension__ as an lvalue. rdar://6097308
...
llvm-svn: 54033
2008-07-25 18:07:19 +00:00
Steve Naroff
542cd5d3f9
Move fix in r54013 from the parser to sema.
...
llvm-svn: 54032
2008-07-25 17:57:26 +00:00
Nate Begeman
098cc6f22c
Remove unnecessary implicit argument
...
llvm-svn: 54031
2008-07-25 17:56:27 +00:00
Nate Begeman
c96e2e4968
Fix minor issues with VICmp/VFCmp constant expressions
...
llvm-svn: 54030
2008-07-25 17:35:37 +00:00
Nate Begeman
6559ada908
Fit in 80 cols
...
llvm-svn: 54029
2008-07-25 17:34:41 +00:00
Nate Begeman
fd7b2be8e3
Allow verifier to be run on partially materialized modules.
...
llvm-svn: 54028
2008-07-25 17:28:23 +00:00