Commit Graph

46095 Commits

Author SHA1 Message Date
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
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