]> granicus.if.org Git - clang/log
clang
15 years agorearrange preprocessor macro definitions into language-specific
Chris Lattner [Sun, 5 Oct 2008 19:32:22 +0000 (19:32 +0000)]
rearrange preprocessor macro definitions into language-specific
then target specific.

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

15 years agoImplement PR2773, support for __USER_LABEL_PREFIX__
Chris Lattner [Sun, 5 Oct 2008 19:22:37 +0000 (19:22 +0000)]
Implement PR2773, support for __USER_LABEL_PREFIX__

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

15 years agoFix a problem reported in PR2766 that makes clang reject old versions
Chris Lattner [Sun, 5 Oct 2008 19:05:44 +0000 (19:05 +0000)]
Fix a problem reported in PR2766 that makes clang reject old versions
of GCC's headers.  This impacts people that run clang in Tiger systems.

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

15 years agoFound a subtle bug caused by an implicit enum-to-bool conversion (of the TentativePar...
Argyrios Kyrtzidis [Sun, 5 Oct 2008 18:52:21 +0000 (18:52 +0000)]
Found a subtle bug caused by an implicit enum-to-bool conversion (of the TentativeParsingResult enum).
This was the motivation of the following changes:

-'TentativeParsingResult' enum is replaced by a 'TPResult' class that basically encapsulates the enum.
-TPR_true, TPR_false, TPR_ambiguous, and TPR_error enum constants are replaced by TPResult::True(), TPResult::False(), etc. calls that return a TPResult object.
-Also fixed the subtle bug in Parser::isCXXFunctionDeclarator (caught by the above changes as a compilation error).

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

15 years agoAdd parsing of the sentinel attribute. Still need to create the attribute.
Anders Carlsson [Sun, 5 Oct 2008 18:05:59 +0000 (18:05 +0000)]
Add parsing of the sentinel attribute. Still need to create the attribute.

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

15 years agoChange indentation for a couple of files in the Xcode project.
Anders Carlsson [Sun, 5 Oct 2008 18:04:30 +0000 (18:04 +0000)]
Change indentation for a couple of files in the Xcode project.

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

15 years agoWrap long lines and other minor cleanups, no functionality change.
Chris Lattner [Sun, 5 Oct 2008 17:34:18 +0000 (17:34 +0000)]
Wrap long lines and other minor cleanups, no functionality change.

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

15 years agoRemove copyright notice, we decided not to have them.
Anders Carlsson [Sun, 5 Oct 2008 17:21:08 +0000 (17:21 +0000)]
Remove copyright notice, we decided not to have them.

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

15 years agoMove the TentativeParsingResult enum closer to where it gets used.
Argyrios Kyrtzidis [Sun, 5 Oct 2008 17:02:44 +0000 (17:02 +0000)]
Move the TentativeParsingResult enum closer to where it gets used.
No functionality change.

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

15 years agoDisambiguate between a declaration or an expression, in the 'for-init-statement'...
Argyrios Kyrtzidis [Sun, 5 Oct 2008 15:50:46 +0000 (15:50 +0000)]
Disambiguate between a declaration or an expression, in the 'for-init-statement' part of a 'for' statement.

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

15 years agoFix Parser::isCXXConditionDeclaration to properly resolve declarations.
Argyrios Kyrtzidis [Sun, 5 Oct 2008 15:19:49 +0000 (15:19 +0000)]
Fix Parser::isCXXConditionDeclaration to properly resolve declarations.

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

15 years agoDisambiguate between a declaration or expression for the 'condition' part of a if...
Argyrios Kyrtzidis [Sun, 5 Oct 2008 15:03:47 +0000 (15:03 +0000)]
Disambiguate between a declaration or expression for the 'condition' part of a if/switch/while/for statement.

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

15 years agoConsider GNU attributes when doing ambiguity resolution.
Argyrios Kyrtzidis [Sun, 5 Oct 2008 14:27:18 +0000 (14:27 +0000)]
Consider GNU attributes when doing ambiguity resolution.

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

15 years agoRemove redundant parameter and rename StMgr to StateMgr.
Zhongxing Xu [Sun, 5 Oct 2008 12:12:48 +0000 (12:12 +0000)]
Remove redundant parameter and rename StMgr to StateMgr.

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

15 years agoAdd X86 builtin code generation test case.
Daniel Dunbar [Sun, 5 Oct 2008 06:38:36 +0000 (06:38 +0000)]
Add X86 builtin code generation test case.

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

15 years agoImprove C language testing coverage.
Daniel Dunbar [Sun, 5 Oct 2008 06:36:33 +0000 (06:36 +0000)]
Improve C language testing coverage.

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

15 years agoFix X86 palignr[128] builtins to match LLVM.
Daniel Dunbar [Sun, 5 Oct 2008 06:35:41 +0000 (06:35 +0000)]
Fix X86 palignr[128] builtins to match LLVM.

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

15 years agoAdd some builtins to codegen test case.
Daniel Dunbar [Sun, 5 Oct 2008 06:34:45 +0000 (06:34 +0000)]
Add some builtins to codegen test case.

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

15 years agoMake VectorType printing less broken.
Daniel Dunbar [Sun, 5 Oct 2008 05:43:11 +0000 (05:43 +0000)]
Make VectorType printing less broken.
 - Print size as number of elements times "sizeof(elt type)", not
   perfect but better than just printing the completely wrong type.

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

15 years agoFix another X86 builtin definitions.
Daniel Dunbar [Sun, 5 Oct 2008 05:21:00 +0000 (05:21 +0000)]
Fix another X86 builtin definitions.
 - vec_set_v4hi had "v4s" in place of "V4s"

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

15 years agoFix some X86 builtin definitions.
Daniel Dunbar [Sun, 5 Oct 2008 05:14:37 +0000 (05:14 +0000)]
Fix some X86 builtin definitions.
 - cmp instructions return int
 - storedqu had bad const qualifier
 - pmuldq128 used invalid type code

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

15 years agoAdd -rewrite-macros test case.
Daniel Dunbar [Sun, 5 Oct 2008 01:39:04 +0000 (01:39 +0000)]
Add -rewrite-macros test case.

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

15 years agoAllow -verify to be used with -rewrite-macros.
Daniel Dunbar [Sun, 5 Oct 2008 01:38:39 +0000 (01:38 +0000)]
Allow -verify to be used with -rewrite-macros.

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

15 years agoCoverage test for targets.
Daniel Dunbar [Sun, 5 Oct 2008 01:04:25 +0000 (01:04 +0000)]
Coverage test for targets.
 - This pushes us over 80% coverage of executable LOC.

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

15 years agoUpdate VC++ project file
Steve Naroff [Sun, 5 Oct 2008 00:52:59 +0000 (00:52 +0000)]
Update VC++ project file

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

15 years agoImprove codegen coverage tests.
Daniel Dunbar [Sun, 5 Oct 2008 00:31:54 +0000 (00:31 +0000)]
Improve codegen coverage tests.
 - Hit debug info generation.
 - Hit both ObjC runtimes.

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

15 years agoAdd dummy -ast-dump support for ObjC category implementations.
Daniel Dunbar [Sun, 5 Oct 2008 00:31:15 +0000 (00:31 +0000)]
Add dummy -ast-dump support for ObjC category implementations.

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

15 years agoRemove old diag that alerted the user to a limitation we no longer have:-)
Steve Naroff [Sun, 5 Oct 2008 00:12:46 +0000 (00:12 +0000)]
Remove old diag that alerted the user to a limitation we no longer have:-)

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

15 years agoAppend the test runs with '&&'.
Argyrios Kyrtzidis [Sun, 5 Oct 2008 00:08:56 +0000 (00:08 +0000)]
Append the test runs with '&&'.

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

15 years agoResolve ambiguous C++ statements (C++ 6.8p1).
Argyrios Kyrtzidis [Sun, 5 Oct 2008 00:06:24 +0000 (00:06 +0000)]
Resolve ambiguous C++ statements (C++ 6.8p1).
'ParseTentative.cpp' implements the functionality needed to resolve ambiguous C++ statements, to either a declaration or an expression, by "tentatively parsing" them.

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

15 years agoCreate a function, eliminating some redundancy between SynthesizeBlockInitExpr()...
Steve Naroff [Sun, 5 Oct 2008 00:06:12 +0000 (00:06 +0000)]
Create a function, eliminating some redundancy between SynthesizeBlockInitExpr() and SynthesizeBlockLiterals().

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

15 years agoFinish implementing copy/dispose helpers for imported block decls.
Steve Naroff [Sat, 4 Oct 2008 23:47:37 +0000 (23:47 +0000)]
Finish implementing copy/dispose helpers for imported block decls.

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

15 years agoAdd coverage tests of C and Obj-C language features.
Daniel Dunbar [Sat, 4 Oct 2008 23:47:28 +0000 (23:47 +0000)]
Add coverage tests of C and Obj-C language features.
 - AST printing, dumping, serialization, codegen.
 - HTML printing.
 - Parser callbacks.

Several of these are XFAIL because they trigger unimplemented code.

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

15 years agoSet exit code properly on "Unexpected program action".
Daniel Dunbar [Sat, 4 Oct 2008 23:42:49 +0000 (23:42 +0000)]
Set exit code properly on "Unexpected program action".

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

15 years agoDesensitize env-include-paths.c to the directory it is running in.
Daniel Dunbar [Sat, 4 Oct 2008 21:05:04 +0000 (21:05 +0000)]
Desensitize env-include-paths.c to the directory it is running in.
 - It would probably be better if TestRunner.sh canonicalized this.

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

15 years agoSet svn:ignore on test/{Driver,Coverage}
Daniel Dunbar [Sat, 4 Oct 2008 21:00:40 +0000 (21:00 +0000)]
Set svn:ignore on test/{Driver,Coverage}

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

15 years agoBug fix, CPATH="" does not add '.' to search path.
Daniel Dunbar [Sat, 4 Oct 2008 20:58:18 +0000 (20:58 +0000)]
Bug fix, CPATH="" does not add '.' to search path.

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

15 years agoAdd test/Driver.
Daniel Dunbar [Sat, 4 Oct 2008 20:46:41 +0000 (20:46 +0000)]
Add test/Driver.
 - env-include-paths.c is XFAIL as it exposed a bug.

Add test/Coverage.
 - For tests which achieve code coverage but don't validate anything.

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

15 years agoDe-XFAIL test/Parser/pragma-pack.c
Daniel Dunbar [Sat, 4 Oct 2008 19:45:56 +0000 (19:45 +0000)]
De-XFAIL test/Parser/pragma-pack.c

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

15 years agoswitch to using -verify
Chris Lattner [Sat, 4 Oct 2008 19:43:25 +0000 (19:43 +0000)]
switch to using -verify

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

15 years agoMove the expected-warning lines to a place that clang -verify will pick them
Chris Lattner [Sat, 4 Oct 2008 19:38:15 +0000 (19:38 +0000)]
Move the expected-warning lines to a place that clang -verify will pick them
up.  Speculatularly hacktastic, but strangely beautiful?
Daniel, lines 20/21 are rejected, please investigate.

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

15 years agoAdd Parser support for #pragma pack
Daniel Dunbar [Sat, 4 Oct 2008 19:21:03 +0000 (19:21 +0000)]
Add Parser support for #pragma pack
 - Uses Action::ActOnPragmaPack
 - Test case is XFAIL pending verifier fixes.

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

15 years agoAdd Preprocessor::RemovePragmaHandler.
Daniel Dunbar [Sat, 4 Oct 2008 19:17:46 +0000 (19:17 +0000)]
Add Preprocessor::RemovePragmaHandler.
 - No functionality change.

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

15 years agoAdd indirection required for byref BlockDeclRefExpr's.
Steve Naroff [Sat, 4 Oct 2008 18:52:47 +0000 (18:52 +0000)]
Add indirection required for byref BlockDeclRefExpr's.

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

15 years agoHandle bookkeeping for imported blocks (in SynthesizeBlockImpl).
Steve Naroff [Sat, 4 Oct 2008 18:00:11 +0000 (18:00 +0000)]
Handle bookkeeping for imported blocks (in SynthesizeBlockImpl).
This code was "lost" with my recent changes to SynthesizeBlockFunc.

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

15 years agoAdd MemRegion.cpp to VS project.
Ted Kremenek [Sat, 4 Oct 2008 17:55:52 +0000 (17:55 +0000)]
Add MemRegion.cpp to VS project.

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

15 years agoCut/paste error...need to use the expression "name" for member references (or other...
Steve Naroff [Sat, 4 Oct 2008 17:45:51 +0000 (17:45 +0000)]
Cut/paste error...need to use the expression "name" for member references (or other complex expressions that can embed a block pointer type)

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

15 years agoClear the map that associated the rewritten block with it's corresponding BlockExpr.
Steve Naroff [Sat, 4 Oct 2008 17:10:02 +0000 (17:10 +0000)]
Clear the map that associated the rewritten block with it's corresponding BlockExpr.

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

15 years agoMoved main control flow functions to bottom of file.
Steve Naroff [Sat, 4 Oct 2008 17:06:23 +0000 (17:06 +0000)]
Moved main control flow functions to bottom of file.
Reworked control flow to:
- rewrite the block expr body "in place".
- used Chris's new rewriter hook "getRewritenText" to "lift" the text for later use.
- finally, we do the block expr text replacement.

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

15 years agoUpdated checker build.
Ted Kremenek [Sat, 4 Oct 2008 06:53:56 +0000 (06:53 +0000)]
Updated checker build.

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

15 years agoThis is a big patch, but the functionality change is small and the rest of the patch...
Ted Kremenek [Sat, 4 Oct 2008 05:50:14 +0000 (05:50 +0000)]
This is a big patch, but the functionality change is small and the rest of the patch consists of deltas due to API changes.

This patch overhauls the "memory region" abstraction that was prototyped (but never really used) as part of the Store.h.  This patch adds MemRegion.h and MemRegion.cpp, which defines the class MemRegion and its subclasses.  This classes serve to define an abstract representation of memory, with regions being layered on other regions to to capture the relationships between fields and variables, variables and the address space they are allocated in, and so on.

The main motivation of this patch is that key parts of the analyzer assumed that all value bindings were to VarDecls.  In the future this won't be the case, and this patch removes lval::DeclVal and replaces it with lval::MemRegionVal.  Now all pieces of the analyzer must reason about abstract memory blocks instead of just variables.

There should be no functionality change from this patch, but it opens the door for significant improvements to the analyzer such as field-sensitivity and object-sensitivity, both which were on hold until the memory abstraction got generalized.

The memory region abstraction also allows type-information to literally be affixed to a memory region.  This will allow the some now redundant logic to be removed from the retain/release checker.

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

15 years agoReverse the RHSBlock of LogicalOp && and ||
Zhongxing Xu [Sat, 4 Oct 2008 05:48:38 +0000 (05:48 +0000)]
Reverse the RHSBlock of LogicalOp && and ||

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

15 years agoadd a disclaimer
Chris Lattner [Fri, 3 Oct 2008 23:31:37 +0000 (23:31 +0000)]
add a disclaimer

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

15 years agoadd a new Rewriter::getRewritenText method that returns the text for a range
Chris Lattner [Fri, 3 Oct 2008 23:31:16 +0000 (23:31 +0000)]
add a new Rewriter::getRewritenText method that returns the text for a range
that includes any edits in the range.

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

15 years agoRemove an old/vacuous if clause.
Steve Naroff [Fri, 3 Oct 2008 23:00:50 +0000 (23:00 +0000)]
Remove an old/vacuous if clause.

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

15 years agoMore fun & games with the block rewriter.
Steve Naroff [Fri, 3 Oct 2008 20:28:15 +0000 (20:28 +0000)]
More fun & games with the block rewriter.

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

15 years agoMerge postfix attributes on record decls.
Daniel Dunbar [Fri, 3 Oct 2008 17:33:35 +0000 (17:33 +0000)]
Merge postfix attributes on record decls.

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

15 years agoRemove a FIXME.
Daniel Dunbar [Fri, 3 Oct 2008 16:42:10 +0000 (16:42 +0000)]
Remove a FIXME.

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

15 years agoRewrite global block expressions.
Steve Naroff [Fri, 3 Oct 2008 15:38:09 +0000 (15:38 +0000)]
Rewrite global block expressions.

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

15 years ago- Add a convenience constructor to Type.
Steve Naroff [Fri, 3 Oct 2008 15:04:50 +0000 (15:04 +0000)]
- 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

15 years agoRework SynthesizeBlockImpl() to include a constructor.
Steve Naroff [Fri, 3 Oct 2008 12:09:49 +0000 (12:09 +0000)]
Rework SynthesizeBlockImpl() to include a constructor.

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

15 years agoPass postfix attributes to ActOnFields (mismarked a file).
Daniel Dunbar [Fri, 3 Oct 2008 02:05:12 +0000 (02:05 +0000)]
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

15 years agoPass postfix attributes to ActOnFields.
Daniel Dunbar [Fri, 3 Oct 2008 02:03:53 +0000 (02:03 +0000)]
Pass postfix attributes to ActOnFields.

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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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