Граф коммитов

5403 Коммитов

Автор SHA1 Сообщение Дата
Daniel Dunbar 7d076643e7 Merge postfix attributes on record decls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57019 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-03 17:33:35 +00:00
Daniel Dunbar 5e592d8890 Remove a FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57015 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-03 16:42:10 +00:00
Steve Naroff 39622b9ad9 Rewrite global block expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57004 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-03 15:38:09 +00:00
Steve Naroff 83ba14e260 - Add a convenience constructor to Type.
- Many rewriter modifications.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57003 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-03 15:04:50 +00:00
Steve Naroff 48a8c61adb Rework SynthesizeBlockImpl() to include a constructor.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57001 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-03 12:09:49 +00:00
Daniel Dunbar f7bb8b91bb Pass postfix attributes to ActOnFields (mismarked a file).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56993 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-03 02:05:12 +00:00
Daniel Dunbar 1bfe1c2129 Pass postfix attributes to ActOnFields.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56992 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-03 02:03:53 +00:00
Daniel Dunbar 29471a1341 Bug fix, ccc was passing -std twice.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56991 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-03 01:54:54 +00:00
Steve Naroff 3ad29e2542 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
2008-10-03 00:12:09 +00:00
Steve Naroff 0eb07bfde0 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
2008-10-03 00:02:03 +00:00
Steve Naroff a0b75cf582 Name changes and some cleanup of preamble.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56984 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-02 23:30:43 +00:00
Daniel Dunbar ae3f4919e4 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
2008-10-02 23:30:31 +00:00
Daniel Dunbar de45428f92 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
2008-10-02 18:44:07 +00:00
Daniel Dunbar a4275d194b 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
2008-10-02 18:02:06 +00:00
Daniel Dunbar 8e45f73bae Fix ccc handling of -mmacosx-version-min.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56956 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-02 17:26:37 +00:00
Steve Naroff 8af6a451ea 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
2008-10-02 17:12:56 +00:00
Daniel Dunbar 91cd320ea2 (LLVM up) Rename IRBuilder::IsNonNull -> IsNotNull.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56954 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-02 17:05:36 +00:00
Daniel Dunbar 147d26f281 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
2008-10-02 16:40:43 +00:00
Daniel Dunbar e553a726fa (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
2008-10-02 01:21:33 +00:00
Daniel Dunbar 14bfdfec4e 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
2008-10-02 00:26:24 +00:00
Ted Kremenek cc9ac41ac0 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
2008-10-01 23:24:09 +00:00
Mon P Wang 946685626e Added SSE4.1 blend intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56936 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-01 23:08:39 +00:00
Ted Kremenek c1c88b5040 Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56916 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-01 05:27:13 +00:00
Ted Kremenek 9f67edeff2 Added test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56915 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-01 05:05:46 +00:00
Ted Kremenek 8da6ca99ec 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
2008-10-01 05:02:13 +00:00
Ted Kremenek 33bc63b9c9 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56909 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-01 02:03:02 +00:00
Daniel Dunbar 1bf3f73598 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
2008-10-01 01:10:22 +00:00
Daniel Dunbar ad2dc71a6f 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
2008-10-01 01:06:06 +00:00
Daniel Dunbar f1968f2886 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
2008-10-01 00:49:24 +00:00
Ted Kremenek 60a6e0ce72 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
2008-10-01 00:21:14 +00:00
Ted Kremenek b10362acd9 Support -mmacosx-version-min
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56892 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-30 23:40:25 +00:00
Ted Kremenek c94e31e907 Set reproducibility back to "Always"
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56891 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-30 23:23:58 +00:00
Daniel Dunbar 319e792cf6 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
2008-09-30 22:54:22 +00:00
Daniel Dunbar 869f8b6053 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
2008-09-30 21:20:51 +00:00
Chris Lattner 2a2990473f 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
2008-09-30 20:53:45 +00:00
Chris Lattner 28997ec3a4 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
2008-09-30 20:51:14 +00:00
Daniel Dunbar 320a054acf Fix help for --suppress-system-warnings
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56878 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-30 20:49:53 +00:00
Chris Lattner c29bbde0a1 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
2008-09-30 20:45:40 +00:00
Chris Lattner 079f2c467d 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
2008-09-30 20:30:12 +00:00
Chris Lattner ba0f25f754 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
2008-09-30 20:16:56 +00:00
Daniel Dunbar c6607f8a53 scan-view: Remove some debugging prints.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56864 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-30 17:54:44 +00:00
Ted Kremenek c0bb34b16d Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56863 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-30 17:53:26 +00:00
Ted Kremenek 8fe38a6ca9 Default reproducibility to "Not applicable"
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56860 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-30 17:28:54 +00:00
Daniel Dunbar abee2d789c 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
2008-09-30 17:22:47 +00:00
Ted Kremenek ba78cc0c68 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
2008-09-30 17:12:32 +00:00
Ted Kremenek 8ce622d787 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
2008-09-30 17:00:30 +00:00
Ted Kremenek fe6fa074db 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
2008-09-30 16:37:50 +00:00
Daniel Dunbar 7000bf8f87 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
2008-09-30 16:18:31 +00:00
Ted Kremenek 480bc342cd 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
2008-09-30 16:11:33 +00:00
Ted Kremenek 19c8820134 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
2008-09-30 16:08:13 +00:00