]>
granicus.if.org Git - clang/log
Daniel Dunbar [Mon, 9 Mar 2009 20:16:39 +0000 (20:16 +0000)]
Fix typo in pref commit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66433
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 9 Mar 2009 20:09:19 +0000 (20:09 +0000)]
NeXT: Add CreateMetadataVar utility method to encapsulate creation of
Obj-C metadata variables (which generally should be handled the same,
although they aren't currently).
- No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66432
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Mar 2009 20:07:22 +0000 (20:07 +0000)]
Revert r66423, which was not the right fix for this issue.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66431
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 9 Mar 2009 17:43:51 +0000 (17:43 +0000)]
ccc: Parse -T{bss,data,text}, -iwithsysroot, -specs correctly.
Also, fix some test cases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66425
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Mar 2009 16:48:55 +0000 (16:48 +0000)]
Fix a little FIXME, thanks to Sebastian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66423
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Mar 2009 16:46:39 +0000 (16:46 +0000)]
Mark a non-type template parameter invalid if there was a problem with its type
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66422
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Mar 2009 16:13:40 +0000 (16:13 +0000)]
Rename DiagnoseIncompleteType to RequireCompleteType, and update the documentation to reflect the fact that we can instantiate templates here
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66421
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 9 Mar 2009 09:31:22 +0000 (09:31 +0000)]
Only track integer and pointer values.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66419
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 9 Mar 2009 09:15:51 +0000 (09:15 +0000)]
Now we do not retrieve untyped regions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66418
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 Mar 2009 07:11:10 +0000 (07:11 +0000)]
do not warn about -=/=- confusion with macros, thanks to rdogra for a testcase.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66416
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 Mar 2009 07:03:22 +0000 (07:03 +0000)]
link to blocks dox
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66414
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 Mar 2009 07:01:20 +0000 (07:01 +0000)]
add some description of the block language extension.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66413
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 Mar 2009 06:57:46 +0000 (06:57 +0000)]
The long-rumored blocks implementation document.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66410
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 9 Mar 2009 06:49:50 +0000 (06:49 +0000)]
Fix a serious bug in RegionStore: we got the new state with new store from
Bind() and BindStruct(), but we returned a state with the old store.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66409
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Mon, 9 Mar 2009 06:40:26 +0000 (06:40 +0000)]
Be sure to never create two functions with the same name, instead arrange to
reuse the prior one.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66408
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sun, 8 Mar 2009 20:18:37 +0000 (20:18 +0000)]
Code refactoring. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66391
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Mar 2009 20:13:45 +0000 (20:13 +0000)]
the macro redefinition ext warning should default to on, to match gcc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66390
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Mar 2009 20:12:34 +0000 (20:12 +0000)]
this test isn't testing anything.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66389
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Mar 2009 19:52:14 +0000 (19:52 +0000)]
undefined -> unspecified. Thanks Mike.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66388
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Mar 2009 19:39:53 +0000 (19:39 +0000)]
implement PR3753, warning about comparisons with a string literal.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66387
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Sun, 8 Mar 2009 19:04:05 +0000 (19:04 +0000)]
Remove dead clause (we decided not to support protocol qualified 'Class').
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66385
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Sun, 8 Mar 2009 18:56:13 +0000 (18:56 +0000)]
Improvements to private method lookup.
Patch by Jean-Daniel Dupas. Thanks!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66383
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Mar 2009 08:16:41 +0000 (08:16 +0000)]
add \n characters to the scratch buffer *before* returned tokens.
This prevents caret diagnostics from the scratch buffer from
including other tokens in the scratch buffer that occurred beforei
them.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66375
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Mar 2009 08:11:22 +0000 (08:11 +0000)]
generalize the "end of line" checking logic to stop at any \0 at the
end of line instead of just the end of buffer. Scratch buffers contain
embedded \0's between tokens which are logic line separators. If a
normal text buffer contains \0's, it doesn't make a lot of sense to include
them in the caret diag output anyway.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66374
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Mar 2009 08:08:45 +0000 (08:08 +0000)]
simplify some logic by making ScratchBuffer handle the application of trailing
\0's to created tokens instead of making all clients do it. No functionality
change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66373
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Mar 2009 07:26:58 +0000 (07:26 +0000)]
Update DeclNodes.def to reflect the move of ObjCCategoryImpl
from being a NamedDecl to being and ObjCImplDecl. This fixes
some valgrind issues where ObjCCategoryImpl's were being cast
to NamedDecl and then stuck on name lookup datastructures.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66372
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Mar 2009 06:56:32 +0000 (06:56 +0000)]
improve comments for MemberExpr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66371
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Mar 2009 06:51:10 +0000 (06:51 +0000)]
refine the "use of unary operator that may be intended as compound assignment (+=)"
warning to only trigger when there is whitespace or something else after the + as
suggested by Eli.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66370
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Mar 2009 01:43:34 +0000 (01:43 +0000)]
add rdar#
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66356
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 7 Mar 2009 23:57:03 +0000 (23:57 +0000)]
Make mangling work with anonymous tag types. Doug, please review
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66353
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Mar 2009 23:39:35 +0000 (23:39 +0000)]
fix test
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66352
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 7 Mar 2009 22:03:21 +0000 (22:03 +0000)]
Mangle Objective-C interfaces correctly (where correctly refers to what gcc does)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66349
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 7 Mar 2009 20:17:55 +0000 (20:17 +0000)]
Make constant emission for @encode use the common string emission code.
This is a bit cleaner, and also "fixes" bad code that compares the
addresses of the string constants.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66346
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 7 Mar 2009 19:43:20 +0000 (19:43 +0000)]
correct bitfield ivar offset in ivar meta-data.
(objc abi specific).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66345
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Sat, 7 Mar 2009 18:35:41 +0000 (18:35 +0000)]
Fix warnings in build on clang-x86_64-freebsd buildbot.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66344
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Sat, 7 Mar 2009 18:09:52 +0000 (18:09 +0000)]
Mangle param names with .arg. only.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66343
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Sat, 7 Mar 2009 16:33:28 +0000 (16:33 +0000)]
Fixup our uses of various linkages to match how llvm now works. I think they are all
correct, but an extra set of ObjC eyes would be good.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66342
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Sat, 7 Mar 2009 16:32:25 +0000 (16:32 +0000)]
If someone could figure out this is necessary, that would be good.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66341
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Sat, 7 Mar 2009 15:34:10 +0000 (15:34 +0000)]
Fix to account for default support for blocks. Once we have enough
testing to to be sure it all works, we'll rip out all the unsupported
code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66338
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Sat, 7 Mar 2009 14:53:10 +0000 (14:53 +0000)]
Fix typo, need parens.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66337
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Sat, 7 Mar 2009 12:16:37 +0000 (12:16 +0000)]
Some struct/class mismatch fixes, to silence MSVC warnings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66335
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Sat, 7 Mar 2009 12:09:25 +0000 (12:09 +0000)]
Improve error messages on bad warning options.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66334
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 7 Mar 2009 07:01:10 +0000 (07:01 +0000)]
Don't discard increment/decrement on function pointers. It's kind of
difficult to come up with a testcase because the code generation for this
construct is broken.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66325
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Sat, 7 Mar 2009 06:16:52 +0000 (06:16 +0000)]
Remove last FIXME for block literal codegen that I know about and turn
on all the new code by default. There is still plenty of testing to
do and issues I'm sure need resolving. Let me know if you find
anything.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66323
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Sat, 7 Mar 2009 06:04:31 +0000 (06:04 +0000)]
Remove some FIXMEs for block literals that should be close to working.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66322
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 7 Mar 2009 03:57:15 +0000 (03:57 +0000)]
Back out the patch in r66302, and re-fix it properly. We assume for
performance that the type of the returned llvm::Value for an expression
matches the converted type of the clang::Expr; mismatches will cause all
sorts of errors and silent miscompilations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66321
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Sat, 7 Mar 2009 02:53:18 +0000 (02:53 +0000)]
codegen support for dispose helpers for block literals.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66320
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Sat, 7 Mar 2009 02:35:30 +0000 (02:35 +0000)]
Codegen support for copy helpers for block literals.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66319
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 7 Mar 2009 01:47:10 +0000 (01:47 +0000)]
Revert my last couple patches until I can get them to not make the tests fail.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66317
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 7 Mar 2009 01:42:16 +0000 (01:42 +0000)]
Cleanup/comment IdentifierInfo::get.
- Shaves off a few instructions on x86_64.
One notable change: this intentionally stops setting the II->Entry
field of IdentifierInfo's retrieved by the ExternalLookup method. This
is to maintain the invariant that .getName() has a constant value for
any given IdentifierInfo. IRgen currently relies on this; which is
quite questionable but will be cleaned up in time.
Apologies for the lack of a test case; there really isn't a good way
to make one. As IRgen will eventually be fixed to not rely on this, we
can survive without one.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66316
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 7 Mar 2009 01:36:13 +0000 (01:36 +0000)]
Teach Diagnostic about Selector.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66314
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 7 Mar 2009 01:22:02 +0000 (01:22 +0000)]
Selector: (changes made after discussing this more with Steve Naroff)
- Make Selector::getAsIdentifierInfo() private. Using IdentifierInfo* in
Selector is an implementation detail that clients shouldn't think about.
- Modify diagnostic emission in Sema::ProcessPropertyDecl to not use
Selector::getAsIdentifierInfo() (which could crash when IdentifierInfo* is
null) and instead use Selector::getAsString().
- Tidy up Selector::getAsString() implementation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66313
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 6 Mar 2009 23:58:11 +0000 (23:58 +0000)]
Create PathDiagnosticPiece subclasses PathDiagnosticEventPiece and
PathDiagnosticControlFlowPiece to distinguish (in the class hierarchy) between
events and control-flow diagnostic pieces. Clients must now use these directly
when constructing PathDiagnosticPieces.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66310
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Mar 2009 23:46:13 +0000 (23:46 +0000)]
Tweak warning text from the last commit
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66309
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Mar 2009 23:41:27 +0000 (23:41 +0000)]
Downgrade complaints about the use of variable-sized types within a
struct to an extension warning to match the behavior of GNU C, which
addresses the Sema part of PR3671.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66308
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 6 Mar 2009 23:36:28 +0000 (23:36 +0000)]
Handle null IdentifierInfo* in Selector::getAsString().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66307
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 6 Mar 2009 23:31:51 +0000 (23:31 +0000)]
Remove false assertion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66306
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Mar 2009 23:28:18 +0000 (23:28 +0000)]
Clean up some error messages with anonymous structs/unions and member declaration parsing. Fixes PR3680
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66305
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 6 Mar 2009 23:21:37 +0000 (23:21 +0000)]
Re-order contents of file. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66304
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Mar 2009 23:06:59 +0000 (23:06 +0000)]
Use the 'declaration does not declare anything' error when we see an anonymous struct/union declaration outside of a struct or union in C
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66303
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 6 Mar 2009 23:05:56 +0000 (23:05 +0000)]
Fixed a bug where generation of read-barriers caused
crash in ir-gen.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66302
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Mar 2009 22:43:54 +0000 (22:43 +0000)]
Implement GNU C semantics for K&R function definitions that follow a
prototype of the same function, where the promoted parameter types in
the K&R definition are not compatible with the types in the
prototype. Fixes PR2821.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66301
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 6 Mar 2009 22:20:40 +0000 (22:20 +0000)]
Add my "clang compatible" test runner. Sorry for keeping this to myself...
Usage: from clang/test, 'make -f ../utils/test/Makefile.multi'
Pros: About 20% faster than the Makefile based version on my 8 core
box (way faster on Windows I imagine, if it works).
Cons: Needs some cleanup. Ctrl-C works quite poorly on Darwin; more
Python's fault than mine.
Future: Support config definitions so we can use this for running LLVM
tests instead of dejagnu. Parallel testing goodness? Indeed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66293
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 6 Mar 2009 22:13:30 +0000 (22:13 +0000)]
(LLVM svn up) Generalize RuntimeFunctions to RuntimeGlobals and add
CodeGenModule::CreateRuntimeVariable.
- No real functionality change; although we now assert on silly
things like:
--
int objc_exception_throw;
void f0() { @throw(@"A"); }
--
instead of accepting it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66292
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 6 Mar 2009 22:10:49 +0000 (22:10 +0000)]
Start work on subclassing PathDiagnosticPiece to distinguish more between control-flow pieces, events, etc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66291
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 6 Mar 2009 22:09:31 +0000 (22:09 +0000)]
Add null-check assertion in the constructor of Selector.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66290
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 6 Mar 2009 20:45:54 +0000 (20:45 +0000)]
Handle #pragma pack(0). I left this out of diagnostic because users should
really use pack() instead.
- <rdar://problem/
6650243 > clang warns about '#pragma pack(0)'
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66287
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Mar 2009 19:06:37 +0000 (19:06 +0000)]
Improve recovery from ill-formed scope specifiers. Fixes PR3670.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66286
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 6 Mar 2009 18:42:23 +0000 (18:42 +0000)]
Pass the type of the block literal around to make required temporal ordering of code clearer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66284
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 6 Mar 2009 18:35:43 +0000 (18:35 +0000)]
Fix thinko. *cough* ofcourseItestedit *cough*
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66283
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Mar 2009 18:34:03 +0000 (18:34 +0000)]
Implement the GNU semantics for forward declarations of enum types in
C and C++. Fixes PR3688.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66282
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 6 Mar 2009 18:32:01 +0000 (18:32 +0000)]
Tidy file removal cleanup & remove race condition on file existence.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66281
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 6 Mar 2009 17:50:25 +0000 (17:50 +0000)]
x86_64 ABI: Handle long double in union when upper eightbyte results
in a lone X87 class.
- PR3735.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66277
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Fri, 6 Mar 2009 17:41:35 +0000 (17:41 +0000)]
Implement the machinery that can process TableGenerated warning options.
Manually write a table and some ad-hoc code to provide feature parity with the current code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66276
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 6 Mar 2009 16:36:40 +0000 (16:36 +0000)]
Use list instead of vector for storing strings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66271
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 6 Mar 2009 16:20:49 +0000 (16:20 +0000)]
IRgen support for weak_import.
- <rdar://problem/
6652110 > clang should support weak_import
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66270
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 6 Mar 2009 07:53:30 +0000 (07:53 +0000)]
Fix regression: initialize 'size' for PathDiagnostic to 0.
Add some assertions along the way...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66265
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 6 Mar 2009 07:08:50 +0000 (07:08 +0000)]
Like PathDiagnosticPieces, strip trailing periods at the end of PathDiagnostic descriptions
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66263
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Mar 2009 06:46:31 +0000 (06:46 +0000)]
capitalize for consistency, a crash in regalloc now looks like this:
Stack dump:
0. Program arguments: clang pr3399.c -S -O3
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Linear Scan Register Allocator' on function '@foo'
Abort
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66261
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 6 Mar 2009 06:39:57 +0000 (06:39 +0000)]
Add Parse/Sema support for weak_import attribute.
- Also, diagnose weak applied to types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66259
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 6 Mar 2009 06:35:21 +0000 (06:35 +0000)]
Testcase for last fix.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66258
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 6 Mar 2009 06:12:24 +0000 (06:12 +0000)]
Complete __Block_byref_id_object_copy cogegen for block literals.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66257
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Mar 2009 05:38:25 +0000 (05:38 +0000)]
To the user, this is just a compiler of course, duh.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66251
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Mar 2009 05:38:04 +0000 (05:38 +0000)]
clean up the OVERVIEW line in clang --help.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66250
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 6 Mar 2009 04:53:30 +0000 (04:53 +0000)]
Finish off __Block_byref_id_object_dispose codegen for block literals.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66247
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Mar 2009 04:28:03 +0000 (04:28 +0000)]
#import is not considered an extension for ObjC.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66246
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 6 Mar 2009 02:45:21 +0000 (02:45 +0000)]
Remove extra arg.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66243
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 6 Mar 2009 02:29:21 +0000 (02:29 +0000)]
More codegen support for the copy/dispose helpers for block literals.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66241
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 6 Mar 2009 01:33:24 +0000 (01:33 +0000)]
Framework for codegen for copy/dispose helpers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66231
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 6 Mar 2009 00:53:59 +0000 (00:53 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66226
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 6 Mar 2009 00:01:21 +0000 (00:01 +0000)]
Cleanup EH a bit given changes to ObjCCatchStmt.
- No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66218
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Mar 2009 23:09:00 +0000 (23:09 +0000)]
add source range for type of super cast, giving something like:
SemaObjC/call-super-2.m:78:29: error: cannot cast 'super' (it isn't an expression)
return [(Object <Func> *)super instance_func0];
~~~~~~~~~~~~~~~~~^
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66215
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Mar 2009 23:03:49 +0000 (23:03 +0000)]
more minor simplifications.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66214
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Mar 2009 23:01:03 +0000 (23:01 +0000)]
refactor C++ bitfield checking a bit (haha)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66213
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 5 Mar 2009 22:59:19 +0000 (22:59 +0000)]
Don't mangle names of local variables.
- For one thing, this adds unneeded overhead; for another, this
routine can be used to emit unnamed decls which we shouldn't try to
mangle.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66212
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 5 Mar 2009 22:47:06 +0000 (22:47 +0000)]
Fix another GRExprEngine::VisitCast regression: handle casts of void* to function pointers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66211
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Mar 2009 22:45:59 +0000 (22:45 +0000)]
fix PR3607 and a fixme, by checking bitfield constraints
more consistently.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66210
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 5 Mar 2009 22:39:55 +0000 (22:39 +0000)]
More function stop for objc2's ivar layout bit map.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66209
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 5 Mar 2009 22:11:14 +0000 (22:11 +0000)]
Minor tweak: Recognize 'CGCF' prefix in addition to 'CF' and 'CG'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66208
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 5 Mar 2009 20:22:13 +0000 (20:22 +0000)]
Fix regression in GRExprEngine::VisitCast: Do not wrap symbolic function pointers with TypedViewRegions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66187
91177308 -0d34-0410-b5e6-
96231b3b80d8