]>
granicus.if.org Git - clang/log
Nate Begeman [Fri, 14 Mar 2008 18:07:10 +0000 (18:07 +0000)]
Correctly error on arrays with automatic storage full of objects with
non-default address space, and fix comment.
Add a test for this.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48366
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 14 Mar 2008 17:31:00 +0000 (17:31 +0000)]
Path-sensitive analyses no longer take a FunctionDecl, but any Decl representing
a block of "code".
Patched various ASTConsumers (such as ASTDumper) to have more support for
processing ObjCMethodDecl. CFGVisitor now builds CFGs for ObjCMethodDecls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48363
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Mar 2008 17:18:18 +0000 (17:18 +0000)]
add initial support for generating an llvm.globalctors list. Patch by David Chisnall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48362
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Mar 2008 06:12:05 +0000 (06:12 +0000)]
Only compute targetinfo once and don't leak it. Patch by Sam Bishop!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48358
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Mar 2008 06:07:05 +0000 (06:07 +0000)]
Make the preprocessor own its PPCallbacks, fixing a memory leak.
Patch by Sam Bishop!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48357
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 14 Mar 2008 00:22:18 +0000 (00:22 +0000)]
ISO/IEC TR 18037
An address space name cannot be used to qualify an object that has automatic
storage duration. Still not catching ASQual'd allocas of array type, just
scalars at the moment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48350
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 13 Mar 2008 23:56:36 +0000 (23:56 +0000)]
Fix comment
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48347
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 13 Mar 2008 16:55:07 +0000 (16:55 +0000)]
The LiveVariables analysis no longer requires a FunctionDecl&; this allows it
to be run on other declarations of blocks of code (e.g., Objective-C methods.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48339
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Mar 2008 06:32:11 +0000 (06:32 +0000)]
handle __extension__ properly at block scope.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48332
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Mar 2008 06:29:54 +0000 (06:29 +0000)]
instead of passing in null end location info, pass in the same as start.
This still isn't right, but is slightly nicer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48331
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Mar 2008 06:29:04 +0000 (06:29 +0000)]
improve DeclStmt to be able to store SourceRange info correctly.
Set the start of DeclStmt range. Right now the end is meaningless
though.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48330
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 13 Mar 2008 03:45:48 +0000 (03:45 +0000)]
Add note about asm constraints.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48324
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 13 Mar 2008 03:04:22 +0000 (03:04 +0000)]
Added bandaid support in CFG construction for ObjCForEachStmt and ObjCAtTryStmt:
we gracefully back out and return NULL for the CFG, allowing clients to skip
analyzing functions with these CFGs. We will add support later.
Modified base ASTConsumer "CFGVisitor" to detect when a CFG is not constructed
and to emit a warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48322
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 12 Mar 2008 23:15:19 +0000 (23:15 +0000)]
Two fixes to RewriteTest::RewriteObjCIvarRefExpr():
- For explicit ivar refers, make sure the cast is propagated to the AST.
- Don't free the base (since it is still in use).
This fixes the recent regression to test/Rewriter/objc-ivar-receiver-1.m.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48309
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 12 Mar 2008 21:45:47 +0000 (21:45 +0000)]
Changed CallRetValSymbol to SymbolConjured to allow "conjured" symbols to be created for any expression, not just CallExprs.
Added experimental support for conjuring symbols during assingments where the RHS is "unknown". This allows more value tracking for path-sensitivity.
Fixed bug in "assumption" logic when processing symbolic constraints; we would improperly mark constraints we didn't support as infeasible.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48306
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 12 Mar 2008 21:22:52 +0000 (21:22 +0000)]
Minor aesthetic improvement (after I reviewed my last commit).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48304
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 12 Mar 2008 21:09:20 +0000 (21:09 +0000)]
Avoid using the "unnamed struct field" extension (enabled with -fms-extensions). This feature/extension silently does the wrong thing in g++. As far as I can tell, g++ simply throws the field away entirely (note that it works fine with gcc). Since I am now always casting the object (for other reasons), accessing protected/public fields simply requires the cast refer to the defining class. This solution is simpler all around (thanks to Chris for suggesting it).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48302
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 12 Mar 2008 21:06:49 +0000 (21:06 +0000)]
Added generation of symbolic values for the return values of functions that have
no summaries (useful for false-path pruning).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48301
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 12 Mar 2008 21:04:07 +0000 (21:04 +0000)]
In GRSimpleVals, added the generation of symbolic values for the return values
of function calls. This is useful in pruning paths.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48299
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 12 Mar 2008 17:46:07 +0000 (17:46 +0000)]
Update to reflect changes in parameter attribute api.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48290
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 12 Mar 2008 17:18:30 +0000 (17:18 +0000)]
Use the "used" attribute. Without it, g++ removes all the meta-data:-( This doesn't happen when compiling straight C code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48287
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 12 Mar 2008 17:18:20 +0000 (17:18 +0000)]
Improved ExplodedGraph::Trim to only show nodes reachable from a reverse BFS
from the sources, and to try and generate only a single path from sources
to roots.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48286
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 12 Mar 2008 13:19:12 +0000 (13:19 +0000)]
-Add missing visitor for ObjCIvarRefExpr.
-Wrap objc runtime calls with "extern "C"" (for now).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48284
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 12 Mar 2008 02:07:40 +0000 (02:07 +0000)]
Since the rewriter now outputs C++, it no longer makes sense to pipe the output to clang.
This should "fix" all but one of the test failure.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48275
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 12 Mar 2008 02:00:37 +0000 (02:00 +0000)]
Fixed regression in SymbolManager introduced in r48272.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48273
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 12 Mar 2008 01:21:45 +0000 (01:21 +0000)]
Prototype (pre-alpha) implementation of CFRef checker.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48272
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 12 Mar 2008 01:06:30 +0000 (01:06 +0000)]
Remove more dependencies on C "flexible array member" idiom (when generating meta-data).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48271
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 12 Mar 2008 00:25:36 +0000 (00:25 +0000)]
Make ivar rewrite C++ friendly (since C++ forces a unified namespace for typedefs/structures). The previous version of the rewriter generated both a type def and structure def for each class (which doesn't fly in C++).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48266
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 11 Mar 2008 19:44:10 +0000 (19:44 +0000)]
Added pretty-printing support for checker-specific state for the CFRefCount checker.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48242
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 11 Mar 2008 19:02:40 +0000 (19:02 +0000)]
Expanded graph-visualization to include optional pretty-printing of checker-specific state.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48238
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 11 Mar 2008 18:57:24 +0000 (18:57 +0000)]
Expanded ValueState pretty-printing to use an optional "CheckerStatePrinter"
object to pretty-print the component of a state that is specific to a checker.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48237
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 11 Mar 2008 18:25:33 +0000 (18:25 +0000)]
Expanded graph visualization interface to include specifying a range of
nodes to use a trim sources.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48236
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 11 Mar 2008 18:14:26 +0000 (18:14 +0000)]
Make "super" rewrite for class methods C++ friendly (follow-up from last commit).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48235
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 11 Mar 2008 18:14:09 +0000 (18:14 +0000)]
Added bookkeeping of error nodes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48234
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 11 Mar 2008 17:48:22 +0000 (17:48 +0000)]
Added main logic for typestate tracking for the CFRetain checker.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48231
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 11 Mar 2008 17:37:02 +0000 (17:37 +0000)]
Make "super" rewrite C++ friendly (since it doesn't support Compound Literals).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48230
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 11 Mar 2008 06:39:11 +0000 (06:39 +0000)]
Added main skeleton for CFRetain transfer function logic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48214
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 11 Mar 2008 00:12:29 +0000 (00:12 +0000)]
Generate meta-data in a C++ compatible way (remove 2 dependencies on C "flexible array member" idiom and perform some extra casts).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48202
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 10 Mar 2008 23:33:22 +0000 (23:33 +0000)]
Missed a couple "_IMPL" suffixes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48191
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 10 Mar 2008 23:16:54 +0000 (23:16 +0000)]
Fix dangling pointer and give the implementation struct for a class a unique name.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48190
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 10 Mar 2008 22:37:16 +0000 (22:37 +0000)]
Add support for the 'N' constraint.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48185
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 10 Mar 2008 20:43:59 +0000 (20:43 +0000)]
Pass LangOptions to RewriteTest().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48172
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 10 Mar 2008 19:32:31 +0000 (19:32 +0000)]
rewriter tests are darwin specific, don't run them on other platforms.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48168
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 10 Mar 2008 17:06:40 +0000 (17:06 +0000)]
Fix "error: explicit template specialization cannot have a storage class"
with gcc 4.4, patch by Shantonu Sen!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48155
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 10 Mar 2008 17:04:53 +0000 (17:04 +0000)]
Add some missing #includes for GCC mainline, patch by Shantonu Sen!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48153
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 10 Mar 2008 15:17:11 +0000 (15:17 +0000)]
Add transfer function support for pointer arithmetic where the
increment/decrement operand is on the left side.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48144
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 10 Mar 2008 06:20:22 +0000 (06:20 +0000)]
add comments about some simple optimizations that may become
more important if this api gets wider use.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48131
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 10 Mar 2008 06:06:04 +0000 (06:06 +0000)]
implement simple support for arbitrary token lookahead. Change the
objc @try parser to use it, fixing a FIXME. Update the
objc-try-catch-1.m file to pass now that we get more reasonable
errors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48129
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 10 Mar 2008 04:45:00 +0000 (04:45 +0000)]
More edge-case handling with using liveness information to prune dead state values.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48127
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 10 Mar 2008 04:11:42 +0000 (04:11 +0000)]
More cleanups with using the liveness analysis to removed dead symbols and
variables from the symbolic state. Now we keep a mapping from the predecessor
node of a statement and its cleaned state, and interpose an accessor
"GetState()" to return the cleaned state when the node is the predecessor node,
and the real state otherwise. This obviates problem of ever accidentally
cleaning the state more than once (thus blowing away new bindings by mistake).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48124
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sun, 9 Mar 2008 18:28:41 +0000 (18:28 +0000)]
When processing the transfer function for a statement, evaluate
RemoveDeadBindings early because (1) it will always be called and (2) we can
dispatch to a plug-in transfer function that can evaluate the effect of dead
symbols (not yet added).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48114
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sun, 9 Mar 2008 18:05:48 +0000 (18:05 +0000)]
Refactored guards for "GRExprEngine::RemoveDeadBindings" directly into the
method. This paves the way for other alterations to RemoveDeadBindings that are
transparent to its callers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48113
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sun, 9 Mar 2008 08:12:37 +0000 (08:12 +0000)]
Bug fix in the transfer function for compound assignments: if the value
of the LHS expressions is Unknown, the value of the entire expression
does not evaluate to the RHS (as is the case with normal assignments).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48102
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 9 Mar 2008 06:02:02 +0000 (06:02 +0000)]
Handle the 'n' constraint
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48091
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Mar 2008 05:25:01 +0000 (05:25 +0000)]
Fix a ted-o
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48089
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sun, 9 Mar 2008 05:15:50 +0000 (05:15 +0000)]
Fixed crash where SetBlkExpr would attempt to query the liveness data when
we weren't processing a statement within a basic block.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48087
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Mar 2008 04:49:35 +0000 (04:49 +0000)]
improve comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48083
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Mar 2008 04:17:44 +0000 (04:17 +0000)]
move PP::LookupFile from PPLexerChange -> PPDirectives.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48082
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Mar 2008 04:14:55 +0000 (04:14 +0000)]
Add PPLexerChange.cpp to the project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48081
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Mar 2008 04:10:46 +0000 (04:10 +0000)]
Move a bunch more code out of Preprocessor.cpp into PPLexerChange.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48080
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sun, 9 Mar 2008 03:30:59 +0000 (03:30 +0000)]
Bug fix: Don't call RemoveDeadBindings more than once (can kill newly generated values to Block-Level Expressions).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48079
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Mar 2008 03:13:06 +0000 (03:13 +0000)]
split macro expansion support out of Preprocessor.cpp into PPMacroExpansion.cpp
Rename Directives.cpp -> PPDirectives.cpp since it implements part of the
Preprocessor class.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48078
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sun, 9 Mar 2008 03:09:36 +0000 (03:09 +0000)]
Propagate calling convention information to function declarations and CallInst
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48077
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Mar 2008 03:04:16 +0000 (03:04 +0000)]
rename HandleEndOfMacro -> HandleEndOfTokenLexer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48076
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Mar 2008 02:55:12 +0000 (02:55 +0000)]
split the MacroArgs class out of TokenLexer.cpp/h into
MacroArgs.cpp/h
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48075
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Mar 2008 02:27:26 +0000 (02:27 +0000)]
update documentation
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48074
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Mar 2008 02:26:03 +0000 (02:26 +0000)]
rename some MacroExpander-related ivars to TokenLexer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48073
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Mar 2008 02:22:57 +0000 (02:22 +0000)]
Rename MacroExpander.cpp/h -> TokenLexer.cpp/h
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48072
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Mar 2008 02:18:51 +0000 (02:18 +0000)]
rename the MacroExpander class to TokenLexer. It handles both
token streams and macro lexing, so a more generic name is useful.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48071
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Mar 2008 02:07:49 +0000 (02:07 +0000)]
rename MacroTokens -> Tokens. When this is a token stream, there is no macro
involved.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48070
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sun, 9 Mar 2008 01:55:39 +0000 (01:55 +0000)]
fix clang xcode build
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48069
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Mar 2008 01:54:53 +0000 (01:54 +0000)]
split preprocesor directive handling out of Preprocessor.cpp into Directives.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48068
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Mar 2008 01:36:43 +0000 (01:36 +0000)]
secondary targets are gone, simplify this.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48067
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Mar 2008 01:35:13 +0000 (01:35 +0000)]
simplify triple processing code now that there can be only one arch specified.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48066
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 Mar 2008 01:29:23 +0000 (01:29 +0000)]
be more quiet when building headers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48065
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Mar 2008 09:00:55 +0000 (09:00 +0000)]
add some comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48053
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Mar 2008 08:59:43 +0000 (08:59 +0000)]
make float format handling more regular.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48052
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Mar 2008 08:52:55 +0000 (08:52 +0000)]
simplify all the type info accessors in TargeTInfo to return scalars,
which is simpler to use and provide.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48051
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Mar 2008 08:34:58 +0000 (08:34 +0000)]
Fix a fixme by allowing pointers in different address spaces to have
different widths. Start simplifying TargetInfo accessor methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48050
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Mar 2008 08:24:01 +0000 (08:24 +0000)]
eliminate the TargetInfoImpl stuff, simplifying the target implementations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48049
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 Mar 2008 08:07:34 +0000 (08:07 +0000)]
eliminate ComputeWCharInfo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48048
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 7 Mar 2008 22:59:32 +0000 (22:59 +0000)]
Increased worklist limit for GRSimpleVals.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48037
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 7 Mar 2008 22:58:01 +0000 (22:58 +0000)]
Added --trim-path-graph to the driver to trim paths from the ExplodedGraph
that are not related to error nodes.
Fixed bug where we did not detect some NULL dereferences.
Added "ExplodedGraph::Trim" to trim all nodes that cannot transitively reach
a set of provided nodes.
Fixed subtle bug in ExplodedNodeImpl where we could create predecessor
iterators that included the mangled "sink" bit. The better fix is to integrate
this bit into the void* for the wrapped State, not the NodeGroups representing
a node's predecessors and successors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48036
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 7 Mar 2008 20:57:30 +0000 (20:57 +0000)]
Improved graph visualization of ExplodedGraphs to include source line and column
information.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48031
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 7 Mar 2008 20:13:31 +0000 (20:13 +0000)]
Renamed ValueManager to BasicValueFactory.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48025
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 7 Mar 2008 20:04:49 +0000 (20:04 +0000)]
Add new test
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48018
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 7 Mar 2008 20:04:22 +0000 (20:04 +0000)]
Add fastcall/stdcall attribute support
Generate CallingConv::Fast when fastcall attribute is present
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48017
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 7 Mar 2008 19:04:53 +0000 (19:04 +0000)]
Refined divide-by-zero checking to distinguish between must and may
divide-by-zero errors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48013
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 7 Mar 2008 18:43:49 +0000 (18:43 +0000)]
Patch by Nuno Lopes:
Added more comments for code processing attribute "format".
Added more checks for corner cases, test cases, and warnings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48011
91177308 -0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 6 Mar 2008 10:40:09 +0000 (10:40 +0000)]
fix typos
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47995
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 6 Mar 2008 08:09:22 +0000 (08:09 +0000)]
Fixed mismatched deallocation in GRBlockCounter::Factory::~Factory.
Reported by Zhongxing Xu!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47991
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Mar 2008 05:47:17 +0000 (05:47 +0000)]
remove two obsolete tests, not sure why my previous commit didn't commit the removal.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47986
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 6 Mar 2008 00:08:09 +0000 (00:08 +0000)]
Added boilerplate to execute the CF reference count checker (which isn't yet implemented).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47982
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 5 Mar 2008 23:32:23 +0000 (23:32 +0000)]
Added "CheckerState" field to ValueState.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47979
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 5 Mar 2008 22:59:42 +0000 (22:59 +0000)]
Added transfer function support for __builtin_expect.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47971
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 5 Mar 2008 22:49:16 +0000 (22:49 +0000)]
Small bug fix when handling CallExprs that generate sink nodes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47970
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 5 Mar 2008 22:16:33 +0000 (22:16 +0000)]
Update vcproj files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47967
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 5 Mar 2008 21:15:02 +0000 (21:15 +0000)]
Fixed bug that could case unwanted bifurcation of states when evaluating calls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47964
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 5 Mar 2008 19:26:46 +0000 (19:26 +0000)]
Fixed bogus assumption mistakenly introduced in r47955.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47958
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 5 Mar 2008 19:08:55 +0000 (19:08 +0000)]
Fixed a horribly insidious bit-masking bug in the implementation of
ExplodedNode that would occasionally result in heap corruption.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47956
91177308 -0d34-0410-b5e6-
96231b3b80d8