Ted Kremenek
e5b40a9112
Remove getCodeBody() from Decl, and hoist getBody() into Decl as a virtual function.
...
llvm-svn: 54247
2008-07-31 17:32:12 +00:00
Chris Lattner
b4ec8de163
improve order
...
llvm-svn: 54244
2008-07-31 06:48:13 +00:00
Chris Lattner
330f0f2567
Fix a regression I introduced in r54107:
...
http://llvm.org/viewvc/llvm-project?view=rev&revision=54107
llvm-svn: 54242
2008-07-31 04:58:58 +00:00
Mon P Wang
b160a0d78d
Updated to match new atomic names (to enable overloading for pointers to
...
different address spaces) for llvm r54195.
llvm-svn: 54241
2008-07-31 03:28:23 +00:00
Daniel Dunbar
b39b1cd7c3
Fix implicit initialization of structures.
...
<rdar://problem/6113085>
llvm-svn: 54237
2008-07-30 21:00:24 +00:00
Ted Kremenek
6a77d42a4d
Use stable sort.
...
llvm-svn: 54222
2008-07-30 18:03:31 +00:00
Ted Kremenek
e8fce56cd1
"Escape" bug names with quotes for selecting/deselecting from the bug table.
...
llvm-svn: 54220
2008-07-30 17:58:08 +00:00
Ted Kremenek
a8b8ce499a
Add range highlighting for path-sensitive return-of-stack-address check.
...
llvm-svn: 54219
2008-07-30 17:49:12 +00:00
Daniel Dunbar
e49df9b58f
Change CodeGenModule GlobalDeclMap to directly reference globals
...
instead of mapping the decl to a bitcast of the global to the correct
type.
- GetAddrOf{Function,GlobalVar} introduce the bitcast on every use now.
- This solves a problem where a dangling pointer could be introduced
by the RAUW done when replacing a forward or tentative
definition. See testcase for more details.
- Fixes <rdar://problem/6108358>
llvm-svn: 54211
2008-07-30 16:32:24 +00:00
Ted Kremenek
8cf5045012
Fix regression in range highlighting in HTML output.
...
llvm-svn: 54181
2008-07-29 23:35:38 +00:00
Daniel Dunbar
9c426524f8
Rework codegen emission of globals
...
- No (intended) functionality change.
- Primary purpose is to clearly separate (lazy) construction of
globals that are a forward declaration or tentative definition from
those that are the final definition.
- Lazy construction is now encapsulated in
GetAddrOf{Function,GlobalVar} while final definitions are
constructed in EmitGlobal{Function,Var}Definition.
- External interface for dealing with globals is now limited to
EmitGlobal and GetAddrOf{Function,GlobalVar}.
- Also updated helper functions dealing with statics, annotations,
and ctors to be private.
llvm-svn: 54179
2008-07-29 23:18:29 +00:00
Steve Naroff
873bd8497a
Fix incomplete implementation for rewriting protocol refs.
...
<rdar://problem/6108127> clang ObjC rewriter: no translation of id <proto>
llvm-svn: 54163
2008-07-29 18:15:38 +00:00
Daniel Dunbar
837fd272f8
Fix codegen of chained declarations
...
- Killed useless CodeGenModule::EmitGlobalVarDeclarator, instead just
recurse on any ScopedDecl.
- Fix for <rdar://problem/6093838>
llvm-svn: 54162
2008-07-29 17:47:36 +00:00
Chris Lattner
373351725f
add a crazy idea
...
llvm-svn: 54151
2008-07-29 03:46:33 +00:00
Chris Lattner
03bc8c0ab8
fix tag
...
llvm-svn: 54121
2008-07-27 06:13:09 +00:00
Chris Lattner
e8c687f05a
list delta and distcc.
...
llvm-svn: 54120
2008-07-27 06:10:19 +00:00
Eli Friedman
bd84059cdb
Minor tweak plus a couple of FIXMEs.
...
llvm-svn: 54119
2008-07-27 05:46:18 +00:00
Eli Friedman
d7a9a46cb5
Remove bashism; sh != bash on Ubuntu.
...
llvm-svn: 54118
2008-07-27 05:05:07 +00:00
Ted Kremenek
192510920e
Fix serialization for TypedefType by allowing TypedefType to access the internal CanonicalType stored in Type.
...
The test case Serialization/stmt_exprs.c now passes.
llvm-svn: 54117
2008-07-27 03:47:53 +00:00
Chris Lattner
872eb55f5e
make "call foo.dump()" and "call foo->dump()" work in GDB,
...
with QualTypes and Types.
llvm-svn: 54116
2008-07-27 00:48:22 +00:00
Chris Lattner
e80159da05
remove QualType::getCanonicalType. Also make
...
QualType::ReadBackpatch public so that FieldDecl doesn't need
to be a friend of QualType.
llvm-svn: 54115
2008-07-27 00:06:09 +00:00
Chris Lattner
35ffe331b9
remove two uses of getCanonicalType I missed.
...
llvm-svn: 54114
2008-07-27 00:05:05 +00:00
Chris Lattner
613fdff902
clean up the footer a bit more.
...
llvm-svn: 54113
2008-07-26 23:54:49 +00:00
Chris Lattner
e3bbfffa5b
remove SSIs.
...
llvm-svn: 54112
2008-07-26 23:52:26 +00:00
Chris Lattner
9213f5d947
Add the right path to the lines image.
...
llvm-svn: 54111
2008-07-26 23:51:08 +00:00
Chris Lattner
7cb2da9d0b
link to doxygen dox
...
llvm-svn: 54110
2008-07-26 23:45:57 +00:00
Chris Lattner
401cc23c4d
Comment out the last call to QualType::getCanonicalType. This *breaks*
...
Serialization/stmt_exprs.c, but I don't know the right solution. Will fix
when I get a chance to talk to Ted about it.
llvm-svn: 54109
2008-07-26 22:40:28 +00:00
Chris Lattner
d9fa5d6a23
Fix a bug in my previous patch, CGF is not valid for constants outside a function
...
llvm-svn: 54108
2008-07-26 22:39:33 +00:00
Chris Lattner
0f398c4472
remove uses of QualType::getCanonicalType() from codegen for PR2189
...
llvm-svn: 54107
2008-07-26 22:37:01 +00:00
Chris Lattner
3f6cd0bc76
remove some unneeded calls to getCanonicalType
...
llvm-svn: 54106
2008-07-26 22:36:27 +00:00
Chris Lattner
574dee6cac
change more instances of QualType::getCanonicalType to call
...
ASTContext::getCanonicalType instead (PR2189)
llvm-svn: 54105
2008-07-26 22:17:49 +00:00
Chris Lattner
6fc6614c0d
alphabeticalize a bit better.
...
llvm-svn: 54104
2008-07-26 22:09:09 +00:00
Daniel Dunbar
086fe1ac79
Add doxygen support
...
- Stolen from LLVM with minor modifications
llvm-svn: 54103
2008-07-26 21:32:24 +00:00
Chris Lattner
6731544be7
convert more code to use ASTContext to get canonical types instead
...
of doing it directly. This is required for PR2189.
llvm-svn: 54102
2008-07-26 21:30:36 +00:00
Chris Lattner
ac87ef5dcc
remove a helper method.
...
llvm-svn: 54101
2008-07-26 20:50:02 +00:00
Chris Lattner
7e80097f6e
implement codegen support for labels at the end of stmtexprs.
...
llvm-svn: 54100
2008-07-26 20:23:23 +00:00
Chris Lattner
6284378fcd
minor tidying, no functionality change.
...
llvm-svn: 54099
2008-07-26 20:15:14 +00:00
Chris Lattner
944d306371
fix some problems handling stmtexprs with labels (PR2374), and
...
improve 'expression unused' diagnostics for stmtexprs.
llvm-svn: 54098
2008-07-26 19:51:01 +00:00
Chris Lattner
06afbebbdd
fix an extraneous blank line in -ast-dump output.
...
llvm-svn: 54097
2008-07-26 19:24:43 +00:00
Chris Lattner
bcf2e66b3c
testcase for PR2416, which we already handle correctly.
...
llvm-svn: 54096
2008-07-26 19:15:11 +00:00
Ted Kremenek
ef6378cda7
Remove some old text.
...
llvm-svn: 54095
2008-07-26 05:21:44 +00:00
Chris Lattner
df59f5aa3c
Pull protocol resolution of out ActOnStartClassInterface, this is also the
...
last client of the old ParseObjCProtocolReferences, so it also removes it.
llvm-svn: 54094
2008-07-26 04:13:19 +00:00
Chris Lattner
b1f3c948ee
refactor protocol resolution out of ActOnStartCategoryInterface
...
llvm-svn: 54093
2008-07-26 04:07:02 +00:00
Chris Lattner
3bbae00f50
pull protocol resolution out into ActOnStartProtocolInterface.
...
This temporarily duplicates ParseObjCProtocolReferences, but it
will be removed in the future.
llvm-svn: 54092
2008-07-26 04:03:38 +00:00
Chris Lattner
9c1842b612
simplify some code.
...
llvm-svn: 54091
2008-07-26 03:47:43 +00:00
Chris Lattner
908d39e45e
remove duplicate error message.
...
llvm-svn: 54090
2008-07-26 03:40:25 +00:00
Chris Lattner
8b2ec166b8
< only starts a declspec in objc mode.
...
llvm-svn: 54089
2008-07-26 03:38:44 +00:00
Chris Lattner
12fd035d6f
remove fixed fixme
...
llvm-svn: 54088
2008-07-26 01:56:46 +00:00
Chris Lattner
bc76297674
make DeclSpec manage its own protocol qualifier list memory instead of having
...
clients allocate the memory and it delete it.
llvm-svn: 54087
2008-07-26 01:53:50 +00:00
Chris Lattner
16fac4f2ad
Fix hte next wave of problems with protocol qualified ID:
...
1) reject stuff like "id<foo> short" and "<foo> short". 2) set
the declspec range correctly 3) only parse protocol qualifiers
when in objc mode.
llvm-svn: 54086
2008-07-26 01:18:38 +00:00
Chris Lattner
31236f8744
remove objc prefixes from these tests.
...
llvm-svn: 54085
2008-07-26 01:04:40 +00:00
Chris Lattner
89026888ef
move all objc sema tests into a new SemaObjC directory. Next step is to
...
remove the objc- prefix from the tests that use it.
llvm-svn: 54084
2008-07-26 00:57:24 +00:00
Chris Lattner
a075e63bbc
fix several problems with the protocol qualified id handling where id was implicit.
...
First, fix canonical type handling of these, since protocol qualified id's are always
canonical. Next, enhance SemaType to actually make these when used (instead of int)
allowing them to actually be used when appropriate. Finally remove a bunch of logic
relating to the mishandling of canonical types with protocol-qual id's. This fixes
rdar://5986251
llvm-svn: 54083
2008-07-26 00:46:50 +00:00
Chris Lattner
0974b2380f
improve handling of the horrible GCC objc extension that treats "<foo>"
...
like "id<foo>". This 1) fixes an infinite loop in the parser on things
like "short<foo>" 2) emits a warning about this bogus construct and 3)
changes the testcase to be substantially reduced.
llvm-svn: 54082
2008-07-26 00:20:22 +00:00
Chris Lattner
9acd2f1cd2
add a new diag helper that takes a range.
...
llvm-svn: 54081
2008-07-26 00:16:04 +00:00
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
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
Daniel Dunbar
c9809a9d68
Remove unused ASTConsumer::HandleTopLevelDeclaration
...
llvm-svn: 54071
2008-07-25 22:39:30 +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
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
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
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
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
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
Ted Kremenek
2483730e3f
Only warn about missing/incomplete -dealloc implementations when a class contains a non-SEL, non-IBOutlet ivar that references an ObjC object.
...
llvm-svn: 54024
2008-07-25 17:04:49 +00:00
Chris Lattner
f08932928c
comment out #pragma mark and #warning directives.
...
llvm-svn: 54020
2008-07-25 16:37:06 +00:00
Chris Lattner
b9c34de5c4
rewrite handling of the raw token stream in -rewrite-macros to lex
...
everything up front into a vector. This makes it easier to scan around
the stream when needed.
llvm-svn: 54019
2008-07-25 16:29:12 +00:00
Chris Lattner
3e3ff3e538
alphabeticalize
...
llvm-svn: 54018
2008-07-25 16:06:51 +00:00
Steve Naroff
29788347b2
Fix RewriteObjC::RewriteObjCThrowStmt() to respect whitespace between the @ and throw.
...
This fixes <rdar://problem/5988388> clang ObjC rewriter: mystery 'w' inserted in exception throw.
llvm-svn: 54017
2008-07-25 15:41:30 +00:00
Steve Naroff
ce5206b4f2
Fix Parser::ParseObjCMethodDefinition(). Only call the actions module for valid MDecl's.
...
llvm-svn: 54013
2008-07-25 14:30:25 +00:00
Ted Kremenek
177bc93165
Updated checker build.
...
llvm-svn: 54012
2008-07-25 05:21:03 +00:00
Ted Kremenek
092ec76923
Don't emit 'dead initialization' warnings for variables marked 'unused'.
...
This fixes PR 2573: http://llvm.org/bugs/show_bug.cgi?id=2573
llvm-svn: 54009
2008-07-25 04:47:34 +00:00
Ted Kremenek
39c59a8887
Implemented Sema support for attribute "unused".
...
llvm-svn: 54008
2008-07-25 04:39:19 +00:00
Daniel Dunbar
0e5845c13a
Rework codegen of case ranges
...
- Fix multiple issues with the way case ranges were emitted, see test
cases details about the specific issues.
- The root issue was not being careful about how basic blocks were
emitted which led to them being chained together incorrectly,
resulting in improper control flow.
- Fixes <rdar://problem/6098585>
llvm-svn: 54006
2008-07-25 01:11:38 +00:00