]> granicus.if.org Git - clang/log
clang
16 years agoBug fix, ccc was passing -std twice.
Daniel Dunbar [Fri, 3 Oct 2008 01:54:54 +0000 (01:54 +0000)]
Bug fix, ccc was passing -std twice.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56991 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoGet the right location to insert the synthesized block literals/functions.
Steve Naroff [Fri, 3 Oct 2008 00:12:09 +0000 (00:12 +0000)]
Get the right location to insert the synthesized block literals/functions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56987 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd getTypeSpecStartLoc() to VarDecls and FunctionDecls.
Steve Naroff [Fri, 3 Oct 2008 00:02:03 +0000 (00:02 +0000)]
Add getTypeSpecStartLoc() to VarDecls and FunctionDecls.

This is a temporary solution to help with the block rewriter (though it certainly has general utility).
Once DeclGroup's are implemented, this SourceLocation should be stored with it (since it applies to all the decls).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56985 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoName changes and some cleanup of preamble.
Steve Naroff [Thu, 2 Oct 2008 23:30:43 +0000 (23:30 +0000)]
Name changes and some cleanup of preamble.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56984 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd Builtins.def attribute for "can be a constant expression".
Daniel Dunbar [Thu, 2 Oct 2008 23:30:31 +0000 (23:30 +0000)]
Add Builtins.def attribute for "can be a constant expression".
 - Enabled for builtins which are always constant expressions
   (__builtin_huge_val*, __builtin_inf*, __builtin_constant_p,
   __builtin_classify_type, __builtin___CFStringMakeConstantString).

Added Builtin::Context::isConstantExpr.
 - Currently overly simply interface which only works for builtins
   whose constantexprness does not depend on their arguments.

CallExpr::isBuiltinConstantExpr now takes an ASTContext argument.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56983 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd support for format string checking of object-size checking
Daniel Dunbar [Thu, 2 Oct 2008 18:44:07 +0000 (18:44 +0000)]
Add support for format string checking of object-size checking
versions of sprintf and friends.
 - Added FIXME that this mechanism should be generalized.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56962 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoEmit error unsupported for break/continue/goto inside Obj-C exception
Daniel Dunbar [Thu, 2 Oct 2008 18:02:06 +0000 (18:02 +0000)]
Emit error unsupported for break/continue/goto inside Obj-C exception
handling blocks.
 - This has false positives, but at least prevents miscompiles.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56958 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix ccc handling of -mmacosx-version-min.
Daniel Dunbar [Thu, 2 Oct 2008 17:26:37 +0000 (17:26 +0000)]
Fix ccc handling of -mmacosx-version-min.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56956 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoChanged Sema::CheckForConstantInitializer to allow global block literals.
Steve Naroff [Thu, 2 Oct 2008 17:12:56 +0000 (17:12 +0000)]
Changed Sema::CheckForConstantInitializer to allow global block literals.
This commit also includes some name changes in the blocks rewriter (no functionality change).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56955 91177308-0d34-0410-b5e6-96231b3b80d8

16 years ago(LLVM up) Rename IRBuilder::IsNonNull -> IsNotNull.
Daniel Dunbar [Thu, 2 Oct 2008 17:05:36 +0000 (17:05 +0000)]
(LLVM up) Rename IRBuilder::IsNonNull -> IsNotNull.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56954 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUnbreak build: claim an extra bit for BuiltinID.
Daniel Dunbar [Thu, 2 Oct 2008 16:40:43 +0000 (16:40 +0000)]
Unbreak build: claim an extra bit for BuiltinID.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56952 91177308-0d34-0410-b5e6-96231b3b80d8

16 years ago(llvm up) If the target triple is unspecified, automatically set the
Daniel Dunbar [Thu, 2 Oct 2008 01:21:33 +0000 (01:21 +0000)]
(llvm up) If the target triple is unspecified, automatically set the
OS version part to that of the host on darwin.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56943 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDrop code to validate OS part of target triple on darwin, too fragile.
Daniel Dunbar [Thu, 2 Oct 2008 00:26:24 +0000 (00:26 +0000)]
Drop code to validate OS part of target triple on darwin, too fragile.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56941 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoEnhance NSError** checking with analogous checking for CFErrorRef*.
Ted Kremenek [Wed, 1 Oct 2008 23:24:09 +0000 (23:24 +0000)]
Enhance NSError** checking with analogous checking for CFErrorRef*.
Expand checking to include functions, not just methods.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56938 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded SSE4.1 blend intrinsics
Mon P Wang [Wed, 1 Oct 2008 23:08:39 +0000 (23:08 +0000)]
Added SSE4.1 blend intrinsics

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56936 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdated checker build.
Ted Kremenek [Wed, 1 Oct 2008 05:27:13 +0000 (05:27 +0000)]
Updated checker build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56916 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded test case.
Ted Kremenek [Wed, 1 Oct 2008 05:05:46 +0000 (05:05 +0000)]
Added test case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56915 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse LVal::IsLValType(T) instead of checking to see if the type is an "lvalue" type...
Ted Kremenek [Wed, 1 Oct 2008 05:02:13 +0000 (05:02 +0000)]
Use LVal::IsLValType(T) instead of checking to see if the type is an "lvalue" type directly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56912 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate checker build.
Ted Kremenek [Wed, 1 Oct 2008 02:03:02 +0000 (02:03 +0000)]
Update checker build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56909 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoccc: Use CCC_NATIVE=1 by default.
Daniel Dunbar [Wed, 1 Oct 2008 01:10:22 +0000 (01:10 +0000)]
ccc: Use CCC_NATIVE=1 by default.
 - So far this works fairly well for me for building applications
   using clang as a gcc substitute. If you are using ccc for a
   different purpose and this is a problem, speak up! Note you can
   also use CCC_NATIVE=0 to disable.

 - Also, turn CCC_ECHO off as default.

 - Also, pass through -Wl, to linker.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56904 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNeXT: Update to use CreateRuntimeFunction for the routines it imports.
Daniel Dunbar [Wed, 1 Oct 2008 01:06:06 +0000 (01:06 +0000)]
NeXT: Update to use CreateRuntimeFunction for the routines it imports.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56902 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd simple interface for protecting runtime functions from name
Daniel Dunbar [Wed, 1 Oct 2008 00:49:24 +0000 (00:49 +0000)]
Add simple interface for protecting runtime functions from name
collisions.
 - Provide CodeGenModule::CreateRuntimeFunction which guarantees that
   the function it creates will have the provided name in the final
   module. This allows the runtime to have its functions protected
   from declarations of the same name in the source code.

 - One could argue that this is a reason to abuse the llvm::Module
   namespace for dealing with function redeclarations. However, that
   approach seems conceptually flawed to me. This one also happens to
   be somewhat more efficient.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56899 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a QualType to ConjuredSymbol to represent the type and size of the symbol.
Ted Kremenek [Wed, 1 Oct 2008 00:21:14 +0000 (00:21 +0000)]
Add a QualType to ConjuredSymbol to represent the type and size of the symbol.

Use this updated interface when invalidating arguments passed by reference; the type of symbol is of the object passed by reference, not the reference itself.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56894 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSupport -mmacosx-version-min
Ted Kremenek [Tue, 30 Sep 2008 23:40:25 +0000 (23:40 +0000)]
Support -mmacosx-version-min

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56892 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSet reproducibility back to "Always"
Ted Kremenek [Tue, 30 Sep 2008 23:23:58 +0000 (23:23 +0000)]
Set reproducibility back to "Always"

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56891 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoccc: Add support for another batch of OS X linker options, including
Daniel Dunbar [Tue, 30 Sep 2008 22:54:22 +0000 (22:54 +0000)]
ccc: Add support for another batch of OS X linker options, including
-mmacosx-version-min.

One might anticipate that at some point I will just break down and go
through the man page. That seems a little too obvious.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56890 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoccc: Infer action type upfront.
Daniel Dunbar [Tue, 30 Sep 2008 21:20:51 +0000 (21:20 +0000)]
ccc: Infer action type upfront.
 - More straightforward, e.g. -E should always imply action =
   'preprocess' (I think).
 - Pass another option through for OS X.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56884 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agosimplify padding, just fold it into the earlier resize.
Chris Lattner [Tue, 30 Sep 2008 20:53:45 +0000 (20:53 +0000)]
simplify padding, just fold it into the earlier resize.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56880 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofix a potential buffer overrun that Eli noticed
Chris Lattner [Tue, 30 Sep 2008 20:51:14 +0000 (20:51 +0000)]
fix a potential buffer overrun that Eli noticed

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56879 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix help for --suppress-system-warnings
Daniel Dunbar [Tue, 30 Sep 2008 20:49:53 +0000 (20:49 +0000)]
Fix help for --suppress-system-warnings

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56878 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDocument assumptions that NumericLiteralParser makes with an assertion.
Chris Lattner [Tue, 30 Sep 2008 20:45:40 +0000 (20:45 +0000)]
Document assumptions that NumericLiteralParser makes with an assertion.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56876 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoHandle minor version numbers in __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
Chris Lattner [Tue, 30 Sep 2008 20:30:12 +0000 (20:30 +0000)]
Handle minor version numbers in __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
like "10.3.9"

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56873 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFinish handling of -mmacosx-version-min. If you now do something like:
Chris Lattner [Tue, 30 Sep 2008 20:16:56 +0000 (20:16 +0000)]
Finish handling of -mmacosx-version-min.  If you now do something like:

clang -mmacosx-version-min=10.4.9 ...

you'll end up with a target triple like "i686-apple-darwin8.9".

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56871 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoscan-view: Remove some debugging prints.
Daniel Dunbar [Tue, 30 Sep 2008 17:54:44 +0000 (17:54 +0000)]
scan-view: Remove some debugging prints.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56864 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdated checker build.
Ted Kremenek [Tue, 30 Sep 2008 17:53:26 +0000 (17:53 +0000)]
Updated checker build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56863 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDefault reproducibility to "Not applicable"
Ted Kremenek [Tue, 30 Sep 2008 17:28:54 +0000 (17:28 +0000)]
Default reproducibility to "Not applicable"

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56860 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd diagnostic for .{lo,hi,e,o} on odd-sized extended vectors.
Daniel Dunbar [Tue, 30 Sep 2008 17:22:47 +0000 (17:22 +0000)]
Add diagnostic for .{lo,hi,e,o} on odd-sized extended vectors.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56859 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake "Performance" the default Radar classification for leaks. "Other" for all other...
Ted Kremenek [Tue, 30 Sep 2008 17:12:32 +0000 (17:12 +0000)]
Make "Performance" the default Radar classification for leaks.  "Other" for all others (for now).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56858 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake a separate parameter class for "Radar classifications".
Ted Kremenek [Tue, 30 Sep 2008 17:00:30 +0000 (17:00 +0000)]
Make a separate parameter class for "Radar classifications".
Do not save the radar classification to the config file.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56856 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd "SelectionParameter" class to represent drop-down boxes.
Ted Kremenek [Tue, 30 Sep 2008 16:37:50 +0000 (16:37 +0000)]
Add "SelectionParameter" class to represent drop-down boxes.
Added "Classification" field to Radar filing.
Modified FileRadar.scpt to take the classification as an argument.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56854 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoChange ccc to not pass -x unknown down.
Daniel Dunbar [Tue, 30 Sep 2008 16:18:31 +0000 (16:18 +0000)]
Change ccc to not pass -x unknown down.

Pass through some more Mac OS X linker options.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56853 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoConditionally load/save default parameter value from config file.
Ted Kremenek [Tue, 30 Sep 2008 16:11:33 +0000 (16:11 +0000)]
Conditionally load/save default parameter value from config file.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56852 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse objects to represent form parameters. This allows us to abstract away some
Ted Kremenek [Tue, 30 Sep 2008 16:08:13 +0000 (16:08 +0000)]
Use objects to represent form parameters. This allows us to abstract away some
of the details of HTML rendering of form parameters, and also us with the
ability to delegate other actions (such as in the filling in of default values)
to specific parameter objects.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56851 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix <rdar://problem/6191148> [sema] Objective-C method lookup (at global scope) fails...
Steve Naroff [Tue, 30 Sep 2008 14:38:43 +0000 (14:38 +0000)]
Fix <rdar://problem/6191148> [sema] Objective-C method lookup (at global scope) fails to handle overloaded selectors properly.

Long standing bug in Sema::ActOnInstanceMessage(). We now warn when messaging an "id" with multiple method signatures in scope. The diags are a little verbose, however they can be streamlined if necessary.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56843 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofix test for latest changes in llvm asm representation
Nuno Lopes [Tue, 30 Sep 2008 14:37:33 +0000 (14:37 +0000)]
fix test for latest changes in llvm asm representation

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56842 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoImproved fix for <rdar://problem/6247781> Parser rejecting properly mismatched proper...
Steve Naroff [Tue, 30 Sep 2008 10:07:56 +0000 (10:07 +0000)]
Improved fix for <rdar://problem/6247781> Parser rejecting properly mismatched properties.
Needed to make sure the relaxed type checking only applies to "readonly" properties.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56838 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd missing include for use of atoi.
Nick Lewycky [Tue, 30 Sep 2008 07:18:57 +0000 (07:18 +0000)]
Add missing include for use of atoi.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56836 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTabs -> Spaces.
Ted Kremenek [Tue, 30 Sep 2008 05:45:59 +0000 (05:45 +0000)]
Tabs -> Spaces.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56833 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRevert last patch, but add a fixme
Ted Kremenek [Tue, 30 Sep 2008 05:35:42 +0000 (05:35 +0000)]
Revert last patch, but add a fixme

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56832 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoWithin the transfer function of UnaryOperatorExpr, handle implicit promotions
Ted Kremenek [Tue, 30 Sep 2008 05:32:44 +0000 (05:32 +0000)]
Within the transfer function of UnaryOperatorExpr, handle implicit promotions
from the subexpression type to the expression type.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56831 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded support for sse intrinsics loadlpd, loadhpd, muldq128, and mulld128
Mon P Wang [Tue, 30 Sep 2008 05:31:27 +0000 (05:31 +0000)]
Added support for sse intrinsics loadlpd, loadhpd, muldq128, and mulld128

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56830 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agostart handling 'mmacosx-version-min', this is not complete yet.
Chris Lattner [Tue, 30 Sep 2008 01:13:12 +0000 (01:13 +0000)]
start handling 'mmacosx-version-min', this is not complete yet.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56828 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd infrastructure for proper @finally support.
Daniel Dunbar [Tue, 30 Sep 2008 01:06:03 +0000 (01:06 +0000)]
Add infrastructure for proper @finally support.
 - Provides a basic primitive to jump to an arbitrary basic block,
   through the finally code.

 - Only used for return statements and rethrow currently. Still need
   to handle break, continue and goto.

 - Code still needs to be shuffled around to live elsewhere.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56827 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoThe definition of __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ follows
Chris Lattner [Tue, 30 Sep 2008 01:00:25 +0000 (01:00 +0000)]
The definition of __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ follows
the target triple on darwin.  For example i386-apple-darwin9 -> 1050 because
darwin9 is "10.5".

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56826 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agodefine __PASCAL_STRINGS__ whenever -fpascal-strings is enabled.
Chris Lattner [Tue, 30 Sep 2008 00:48:48 +0000 (00:48 +0000)]
define __PASCAL_STRINGS__ whenever -fpascal-strings is enabled.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56824 91177308-0d34-0410-b5e6-96231b3b80d8

16 years ago__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ is a darwin-specific #define
Chris Lattner [Tue, 30 Sep 2008 00:46:39 +0000 (00:46 +0000)]
__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ is a darwin-specific #define

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56822 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix <rdar://problem/6247781> Parser rejecting properly mismatched properties.
Steve Naroff [Tue, 30 Sep 2008 00:24:17 +0000 (00:24 +0000)]
Fix <rdar://problem/6247781> Parser rejecting properly mismatched properties.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56821 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdated checker build.
Ted Kremenek [Mon, 29 Sep 2008 23:33:12 +0000 (23:33 +0000)]
Updated checker build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56819 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix the root cause of PR2750 instead of the side effect.
Chris Lattner [Mon, 29 Sep 2008 23:12:31 +0000 (23:12 +0000)]
Fix the root cause of PR2750 instead of the side effect.

NumericLiteral parser is not careful about overrun because
it should never be possible.  It implicitly expects that its
input matched the regex for pp-constant.  Because of this, it
knows it can't be pointing to a prefix of something that
looks like a number.  This is all fine, except that __LINE__
does not prevent implicit concatenation from happening.  Fix
__LINE__ to not do this.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56818 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoReally don't add -isysroot twice.
Ted Kremenek [Mon, 29 Sep 2008 23:06:09 +0000 (23:06 +0000)]
Really don't add -isysroot twice.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56815 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDon't filter out -fpascal-strings.
Ted Kremenek [Mon, 29 Sep 2008 22:45:28 +0000 (22:45 +0000)]
Don't filter out -fpascal-strings.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56810 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix va_arg handling to do argument decaying at the correct place. This
Chris Lattner [Mon, 29 Sep 2008 22:28:25 +0000 (22:28 +0000)]
Fix va_arg handling to do argument decaying at the correct place.  This
fixes problems handling references of va_list, which happens on x86_64.
This fixes PR2841 and rdar://6252231

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56809 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake some methods const, add some helpers to FullSourceLoc,
Chris Lattner [Mon, 29 Sep 2008 21:46:13 +0000 (21:46 +0000)]
Make some methods const, add some helpers to FullSourceLoc,
and add a dump method to FullSourceLoc!  Patch by Nico Weber!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56806 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agomove ExtVectorElementExpr down into the 'clang extensions' section.
Chris Lattner [Mon, 29 Sep 2008 21:30:29 +0000 (21:30 +0000)]
move ExtVectorElementExpr down into the 'clang extensions' section.
Wrap line to 80 cols.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56805 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate checker build.
Ted Kremenek [Mon, 29 Sep 2008 21:24:37 +0000 (21:24 +0000)]
Update checker build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56804 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a random C99 comment/reference.
Steve Naroff [Mon, 29 Sep 2008 20:07:05 +0000 (20:07 +0000)]
Add a random C99 comment/reference.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56800 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoExtend 'IsLValType' to handle BlockPointerTypes.
Ted Kremenek [Mon, 29 Sep 2008 19:17:30 +0000 (19:17 +0000)]
Extend 'IsLValType' to handle BlockPointerTypes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56797 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTeach Sema::CheckAssignmentConstraints() to allow assignments between id and block...
Steve Naroff [Mon, 29 Sep 2008 18:10:17 +0000 (18:10 +0000)]
Teach Sema::CheckAssignmentConstraints() to allow assignments between id and block pointer types (^{}).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56793 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix <rdar://problem/6251012> clang: Blocks are objects too.
Steve Naroff [Mon, 29 Sep 2008 16:51:41 +0000 (16:51 +0000)]
Fix <rdar://problem/6251012> clang: Blocks are objects too.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56791 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDiscard extra -isysroot options. This fixes:
Ted Kremenek [Mon, 29 Sep 2008 16:15:20 +0000 (16:15 +0000)]
Discard extra -isysroot options.  This fixes:
<rdar://problem/6253141> Parser rejection occurs when command line has more than one -isysroot switch

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56790 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix braindead bug, ID number was hardcoded.
Daniel Dunbar [Mon, 29 Sep 2008 16:06:43 +0000 (16:06 +0000)]
Fix braindead bug, ID number was hardcoded.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56789 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix <rdar://problem/6253149> property declaration doesn't declare getter and setter.
Steve Naroff [Mon, 29 Sep 2008 14:20:56 +0000 (14:20 +0000)]
Fix <rdar://problem/6253149> property declaration doesn't declare getter and setter.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56785 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agowhitespace and comment changes, to fix grammar and 80 col violations
Nico Weber [Mon, 29 Sep 2008 00:25:48 +0000 (00:25 +0000)]
whitespace and comment changes, to fix grammar and 80 col violations

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56776 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoChange a NOTE to a FIXME based on feedback from clattner.
Steve Naroff [Sun, 28 Sep 2008 21:07:52 +0000 (21:07 +0000)]
Change a NOTE to a FIXME based on feedback from clattner.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56775 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdated checker build.
Ted Kremenek [Sun, 28 Sep 2008 17:25:56 +0000 (17:25 +0000)]
Updated checker build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56774 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix <rdar://problem/6252129> implementation of method in category doesn't effectively...
Steve Naroff [Sun, 28 Sep 2008 14:55:53 +0000 (14:55 +0000)]
Fix <rdar://problem/6252129> implementation of method in category doesn't effectively declare it for methods below.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56771 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix <rdar://problem/6252108> assigning to argument passed to block should not require...
Steve Naroff [Sun, 28 Sep 2008 14:02:55 +0000 (14:02 +0000)]
Fix <rdar://problem/6252108> assigning to argument passed to block should not require __block.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56770 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix rdar://6252231 - cannot call vsnprintf with va_list on x86_64,
Chris Lattner [Sun, 28 Sep 2008 06:05:35 +0000 (06:05 +0000)]
Fix rdar://6252231 - cannot call vsnprintf with va_list on x86_64,
by decaying __builtin_va_list's type when forming builtins.  On
x86-64 (and other targets) __builtin_va_list is a typedef for
an array.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56768 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoReplace a comparison with a static list of builtins that was wrong (it
Chris Lattner [Sun, 28 Sep 2008 05:54:29 +0000 (05:54 +0000)]
Replace a comparison with a static list of builtins that was wrong (it
wasn't covering checking builtins like __builtin___vsnprintf_chk) with
a check that won't get out of date.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56767 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix rdar://6251437, references to enum constant decls in a block
Chris Lattner [Sun, 28 Sep 2008 05:30:26 +0000 (05:30 +0000)]
Fix rdar://6251437, references to enum constant decls in a block
don't need a BlockDeclRefExpr.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56766 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd "Path Length" back to the table of bug reports.
Ted Kremenek [Sun, 28 Sep 2008 04:13:09 +0000 (04:13 +0000)]
Add "Path Length" back to the table of bug reports.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56765 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix <rdar://problem/6252216> compare block to NULL.
Steve Naroff [Sun, 28 Sep 2008 01:11:11 +0000 (01:11 +0000)]
Fix <rdar://problem/6252216> compare block to NULL.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56764 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd support for implicit rethrows in @catch blocks.
Daniel Dunbar [Sun, 28 Sep 2008 01:03:14 +0000 (01:03 +0000)]
Add support for implicit rethrows in @catch blocks.

Comment exception-handling code generation strategy.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56763 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSkip redundant if.
Daniel Dunbar [Sun, 28 Sep 2008 00:19:22 +0000 (00:19 +0000)]
Skip redundant if.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56762 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix <rdar://problem/6252226> parser thinks block argument is undefined identifier...
Steve Naroff [Sun, 28 Sep 2008 00:13:36 +0000 (00:13 +0000)]
Fix <rdar://problem/6252226> parser thinks block argument is undefined identifier in NSServices.m

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56761 91177308-0d34-0410-b5e6-96231b3b80d8

16 years ago(Update LLVM) Clean up obj-c exception generation to be a bit more
Daniel Dunbar [Sat, 27 Sep 2008 23:30:04 +0000 (23:30 +0000)]
(Update LLVM) Clean up obj-c exception generation to be a bit more
readable and to generate more readable IR.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56758 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoBug fix, codegen @catch(id<X> ...) acceptably.
Daniel Dunbar [Sat, 27 Sep 2008 22:21:14 +0000 (22:21 +0000)]
Bug fix, codegen @catch(id<X> ...) acceptably.
 - This should be rejected by sema (IMHO) but that needs some
   investigation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56756 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRevert 56735. The old bug categories were more informative.
Ted Kremenek [Sat, 27 Sep 2008 22:02:42 +0000 (22:02 +0000)]
Revert 56735.  The old bug categories were more informative.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56755 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSimplify generate code for exceptions:
Daniel Dunbar [Sat, 27 Sep 2008 07:36:24 +0000 (07:36 +0000)]
Simplify generate code for exceptions:
 - There is no need to branch on the rethrow variable to determine if
   we need to call objc_exception_try_exit. We know whether an
   exception was thrown, so just branch to a different target if we
   want to skip the try_exit.

   This is a slight semantic departure from gcc, but only for throwing
   nil, which is undefined (and for which gcc emits broken code).

 - Also fixes a bug in current code which was calling try_exit too
   many times when an exception was uncaught (but there were some
   handlers).

Fix bug introduced in prev. commit, the type of the @catch parameter
was uninitialized.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56754 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoPrefer llvm::Function::addFnAttr(...) to F->addAttribute(~0, ...).
Daniel Dunbar [Sat, 27 Sep 2008 07:16:42 +0000 (07:16 +0000)]
Prefer llvm::Function::addFnAttr(...) to F->addAttribute(~0, ...).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56753 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSimplify code to emit the unified return block and move it to the end
Daniel Dunbar [Sat, 27 Sep 2008 07:15:59 +0000 (07:15 +0000)]
Simplify code to emit the unified return block and move it to the end
of the function.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56752 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoBug fix, make sure to initialize exception object (to rethrow) even
Daniel Dunbar [Sat, 27 Sep 2008 07:03:52 +0000 (07:03 +0000)]
Bug fix, make sure to initialize exception object (to rethrow) even
when there are no @catch blocks.

Also, eliminated unneeded alloca for the rethrow object.

Also, avoid generating code to rethrow exception if the exception will
trivially always be caught.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56751 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoEasy fix for nasty bug, exception data buffer had wrong type == wrong
Daniel Dunbar [Sat, 27 Sep 2008 06:32:25 +0000 (06:32 +0000)]
Easy fix for nasty bug, exception data buffer had wrong type == wrong
(smaller) size == garbage on stack == heisenbugs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56750 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDelete trailing white space. It's over 80 columns.
Zhongxing Xu [Sat, 27 Sep 2008 03:27:29 +0000 (03:27 +0000)]
Delete trailing white space. It's over 80 columns.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56749 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove automagic substitution of %llvmgcc
Daniel Dunbar [Sat, 27 Sep 2008 00:47:03 +0000 (00:47 +0000)]
Remove automagic substitution of %llvmgcc
 - Is unused and somewhat unreliable.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56737 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoChange "leaks" to have the category "Performance".
Ted Kremenek [Sat, 27 Sep 2008 00:45:27 +0000 (00:45 +0000)]
Change "leaks" to have the category "Performance".

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56735 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix function-attributes test case to not rely on llvm-gcc.
Daniel Dunbar [Sat, 27 Sep 2008 00:44:01 +0000 (00:44 +0000)]
Fix function-attributes test case to not rely on llvm-gcc.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56734 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix attributes test case to not run clang umpteen times.
Daniel Dunbar [Sat, 27 Sep 2008 00:39:13 +0000 (00:39 +0000)]
Fix attributes test case to not run clang umpteen times.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56733 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoInternally store the body of a BlockExpr using a Stmt* instead of a CompoundStmt...
Ted Kremenek [Fri, 26 Sep 2008 23:24:14 +0000 (23:24 +0000)]
Internally store the body of a BlockExpr using a Stmt* instead of a CompoundStmt*, and use the getBody() method to do the appropriate checking.  This both removes the type-punning warnings in Expr.cpp and also makes BlockExpr have more consistency checks against modifications to its body (via StmtIterator).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56710 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoForgot to check in header file with last commit.
Ted Kremenek [Fri, 26 Sep 2008 23:24:05 +0000 (23:24 +0000)]
Forgot to check in header file with last commit.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56709 91177308-0d34-0410-b5e6-96231b3b80d8