]> granicus.if.org Git - clang/log
clang
15 years agoFix typo in pref commit.
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

15 years agoNeXT: Add CreateMetadataVar utility method to encapsulate creation of
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

15 years agoRevert r66423, which was not the right fix for this issue.
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

15 years agoccc: Parse -T{bss,data,text}, -iwithsysroot, -specs correctly.
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

15 years agoFix a little FIXME, thanks to Sebastian
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

15 years agoMark a non-type template parameter invalid if there was a problem with its type
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

15 years agoRename DiagnoseIncompleteType to RequireCompleteType, and update the documentation...
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

15 years agoOnly track integer and pointer values.
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

15 years agoNow we do not retrieve untyped regions.
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

15 years agodo not warn about -=/=- confusion with macros, thanks to rdogra for a testcase.
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

15 years agolink to blocks dox
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

15 years agoadd some description of the block language extension.
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

15 years agoThe long-rumored blocks implementation document.
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

15 years agoFix a serious bug in RegionStore: we got the new state with new store from
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

15 years agoBe sure to never create two functions with the same name, instead arrange to
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

15 years agoCode refactoring. No functional change.
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

15 years agothe macro redefinition ext warning should default to on, to match gcc.
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

15 years agothis test isn't testing anything.
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

15 years agoundefined -> unspecified. Thanks Mike.
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

15 years agoimplement PR3753, warning about comparisons with a string literal.
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

15 years agoRemove dead clause (we decided not to support protocol qualified 'Class').
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

15 years agoImprovements to private method lookup.
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

15 years agoadd \n characters to the scratch buffer *before* returned tokens.
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

15 years agogeneralize the "end of line" checking logic to stop at any \0 at the
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

15 years agosimplify some logic by making ScratchBuffer handle the application of trailing
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

15 years agoUpdate DeclNodes.def to reflect the move of ObjCCategoryImpl
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

15 years agoimprove comments for MemberExpr.
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

15 years agorefine the "use of unary operator that may be intended as compound assignment (+=)"
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

15 years agoadd rdar#
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

15 years agoMake mangling work with anonymous tag types. Doug, please review
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

15 years agofix test
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

15 years agoMangle Objective-C interfaces correctly (where correctly refers to what gcc does)
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

15 years agoMake constant emission for @encode use the common string emission code.
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

15 years agocorrect bitfield ivar offset in ivar meta-data.
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

15 years agoFix warnings in build on clang-x86_64-freebsd buildbot.
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

15 years agoMangle param names with .arg. only.
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

15 years agoFixup our uses of various linkages to match how llvm now works. I think they are all
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

15 years agoIf someone could figure out this is necessary, that would be good.
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

15 years agoFix to account for default support for blocks. Once we have enough
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

15 years agoFix typo, need parens.
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

15 years agoSome struct/class mismatch fixes, to silence MSVC warnings.
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

15 years agoImprove error messages on bad warning options.
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

15 years agoDon't discard increment/decrement on function pointers. It's kind of
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

15 years agoRemove last FIXME for block literal codegen that I know about and turn
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

15 years agoRemove some FIXMEs for block literals that should be close to working.
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

15 years agoBack out the patch in r66302, and re-fix it properly. We assume for
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

15 years agocodegen support for dispose helpers for block literals.
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

15 years agoCodegen support for copy helpers for block literals.
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

15 years agoRevert my last couple patches until I can get them to not make the tests fail.
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

15 years agoCleanup/comment IdentifierInfo::get.
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

15 years agoTeach Diagnostic about Selector.
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

15 years agoSelector: (changes made after discussing this more with Steve Naroff)
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

15 years agoCreate PathDiagnosticPiece subclasses PathDiagnosticEventPiece and
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

15 years agoTweak warning text from the last commit
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

15 years agoDowngrade complaints about the use of variable-sized types within a
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

15 years agoHandle null IdentifierInfo* in Selector::getAsString().
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

15 years agoRemove false assertion.
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

15 years agoClean up some error messages with anonymous structs/unions and member declaration...
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

15 years agoRe-order contents of file. No functionality change.
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

15 years agoUse the 'declaration does not declare anything' error when we see an anonymous struct...
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

15 years agoFixed a bug where generation of read-barriers caused
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

15 years agoImplement GNU C semantics for K&R function definitions that follow a
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

15 years agoAdd my "clang compatible" test runner. Sorry for keeping this to myself...
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

15 years ago(LLVM svn up) Generalize RuntimeFunctions to RuntimeGlobals and add
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

15 years agoStart work on subclassing PathDiagnosticPiece to distinguish more between control...
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

15 years agoAdd null-check assertion in the constructor of Selector.
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

15 years agoHandle #pragma pack(0). I left this out of diagnostic because users should
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

15 years agoImprove recovery from ill-formed scope specifiers. Fixes PR3670.
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

15 years agoPass the type of the block literal around to make required temporal ordering of code...
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

15 years agoFix thinko. *cough* ofcourseItestedit *cough*
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

15 years agoImplement the GNU semantics for forward declarations of enum types in
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

15 years agoTidy file removal cleanup & remove race condition on file existence.
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

15 years agox86_64 ABI: Handle long double in union when upper eightbyte results
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

15 years agoImplement the machinery that can process TableGenerated warning options.
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

15 years agoUse list instead of vector for storing strings.
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

15 years agoIRgen support for weak_import.
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

15 years agoFix regression: initialize 'size' for PathDiagnostic to 0.
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

15 years agoLike PathDiagnosticPieces, strip trailing periods at the end of PathDiagnostic descri...
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

15 years agocapitalize for consistency, a crash in regalloc now looks like this:
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

15 years agoAdd Parse/Sema support for weak_import attribute.
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

15 years agoTestcase for last fix.
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

15 years agoComplete __Block_byref_id_object_copy cogegen for block literals.
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

15 years agoTo the user, this is just a compiler of course, duh.
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

15 years agoclean up the OVERVIEW line in clang --help.
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

15 years agoFinish off __Block_byref_id_object_dispose codegen for block literals.
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

15 years ago#import is not considered an extension for ObjC.
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

15 years agoRemove extra arg.
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

15 years agoMore codegen support for the copy/dispose helpers for block literals.
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

15 years agoFramework for codegen for copy/dispose helpers.
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

15 years agoUpdate checker build.
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

15 years agoCleanup EH a bit given changes to ObjCCatchStmt.
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

15 years agoadd source range for type of super cast, giving something like:
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

15 years agomore minor simplifications.
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

15 years agorefactor C++ bitfield checking a bit (haha)
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

15 years agoDon't mangle names of local variables.
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

15 years agoFix another GRExprEngine::VisitCast regression: handle casts of void* to function...
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

15 years agofix PR3607 and a fixme, by checking bitfield constraints
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

15 years agoMore function stop for objc2's ivar layout bit map.
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

15 years agoMinor tweak: Recognize 'CGCF' prefix in addition to 'CF' and 'CG'.
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

15 years agoFix regression in GRExprEngine::VisitCast: Do not wrap symbolic function pointers...
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