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

2809 Коммитов

Автор SHA1 Сообщение Дата
Chris Lattner 7928125470 update documentation
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48074 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-09 02:27:26 +00:00
Chris Lattner 6cfe7594a4 rename some MacroExpander-related ivars to TokenLexer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48073 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-09 02:26:03 +00:00
Chris Lattner 5d75de0f82 Rename MacroExpander.cpp/h -> TokenLexer.cpp/h
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48072 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-09 02:22:57 +00:00
Chris Lattner 1543e9c692 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
2008-03-09 02:18:51 +00:00
Chris Lattner 8d89643803 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
2008-03-09 02:07:49 +00:00
Nate Begeman d28329222a fix clang xcode build
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48069 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-09 01:55:39 +00:00
Chris Lattner 141e71fec6 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
2008-03-09 01:54:53 +00:00
Chris Lattner 177b1c72a0 secondary targets are gone, simplify this.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48067 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-09 01:36:43 +00:00
Chris Lattner 6fd9fa1555 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
2008-03-09 01:35:13 +00:00
Chris Lattner 0ec8242580 be more quiet when building headers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48065 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-09 01:29:23 +00:00
Chris Lattner 9c4bea1fa7 add some comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48053 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-08 09:00:55 +00:00
Chris Lattner cd4fc42896 make float format handling more regular.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48052 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-08 08:59:43 +00:00
Chris Lattner 9e9b6dc3fd 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
2008-03-08 08:52:55 +00:00
Chris Lattner f72a44330b 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
2008-03-08 08:34:58 +00:00
Chris Lattner 0eaed12e63 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
2008-03-08 08:24:01 +00:00
Chris Lattner 3901611839 eliminate ComputeWCharInfo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48048 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-08 08:07:34 +00:00
Ted Kremenek dfbc9579d7 Increased worklist limit for GRSimpleVals.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48037 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-07 22:59:32 +00:00
Ted Kremenek ffe0f43806 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
2008-03-07 22:58:01 +00:00
Ted Kremenek e97ca065c9 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
2008-03-07 20:57:30 +00:00
Ted Kremenek 240f1f00dd Renamed ValueManager to BasicValueFactory.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48025 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-07 20:13:31 +00:00
Nate Begeman b6789ca9ca Add new test
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48018 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-07 20:04:49 +00:00
Nate Begeman 440b456709 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
2008-03-07 20:04:22 +00:00
Ted Kremenek 4d839b4949 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
2008-03-07 19:04:53 +00:00
Ted Kremenek aa8f976111 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
2008-03-07 18:43:49 +00:00
Gabor Greif 843e934ba8 fix typos
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47995 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-06 10:40:09 +00:00
Ted Kremenek 5617fae541 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
2008-03-06 08:09:22 +00:00
Chris Lattner 2a625bcfa2 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
2008-03-06 05:47:17 +00:00
Ted Kremenek 2fff37ecce 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
2008-03-06 00:08:09 +00:00
Ted Kremenek cb0ab296dd Added "CheckerState" field to ValueState.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47979 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05 23:32:23 +00:00
Ted Kremenek 55aea31ee3 Added transfer function support for __builtin_expect.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47971 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05 22:59:42 +00:00
Ted Kremenek 5dc7f8b2d6 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
2008-03-05 22:49:16 +00:00
Steve Naroff f34729ae75 Update vcproj files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47967 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05 22:16:33 +00:00
Ted Kremenek 4bf38da038 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
2008-03-05 21:15:02 +00:00
Ted Kremenek 1aa9a58822 Fixed bogus assumption mistakenly introduced in r47955.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47958 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05 19:26:46 +00:00
Ted Kremenek 596f0a1e54 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
2008-03-05 19:08:55 +00:00
Ted Kremenek 8ecfc85b9b Minor cleanups (mainly indentation).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47955 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05 19:08:15 +00:00
Chris Lattner 98be4943e8 remove the source location arguments to various target query methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47954 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05 18:54:05 +00:00
Chris Lattner 631bf6c325 add analysis source files to project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47953 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05 18:22:36 +00:00
Chris Lattner 48b32440f7 Add the various pathsensitive headers to the project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47952 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05 18:20:02 +00:00
Chris Lattner 1b653432f0 ProgramEdge.h doesn't exist anymore.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47951 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05 18:18:31 +00:00
Ted Kremenek ea45bb2d3b Reverted patch 47926 for ProgramPoint.h because it is currently buggy. May add back (fixed) later.
Updated CFGStmtVisitor to be in accord with rr47913: CallExprs are no longer (automatically) block-level expressions in the CFG.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47935 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05 05:05:04 +00:00
Chris Lattner 42e6737f2e Remove the first layer of support for "portability" warnings. This is
theoretically useful, but not useful in practice.  It adds a bunch of 
complexity, and not much value.  It's best to nuke it.  One big advantage
is that it means the target interfaces will soon lose their SLoc arguments
and target queries can never emit diagnostics anymore (yay).  Removing this
also simplifies some of the core preprocessor which should make it slightly
faster.

Ted, I didn't simplify TripleProcessor, which can now have at most one
triple, and can probably just be removed.  Please poke at it when you have
time.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47930 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05 01:18:20 +00:00
Ted Kremenek 424f671554 Added support for ProgramPoints to represent ExplodedNodes in another
ExplodedGraph. This allows us to build "layered" ExplodedGraphs where one
simulation is layered on another.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47926 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05 00:59:43 +00:00
Chris Lattner 544f043d76 move this into the right file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47925 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05 00:53:34 +00:00
Ted Kremenek 330dddd194 Plug-in transfer function "EvalCall" now takes as an argument the current
GRStmtNodeBuilder and is now responsible for adding its own nodes to the graph.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47923 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05 00:33:14 +00:00
Ted Kremenek e5f4dcb6bd Cleaned up typedefs involving StateTy so that we always use "StateTy*" instead of StateTy.
This is conceptually much cleaner, as it shows that the state is always a pointer.
It also makes it easier to marshall these values around across the internal APIs
of the path-sensitive engine.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47921 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05 00:11:33 +00:00
Ted Kremenek f116bd654b Make GRStmtNodeBuilder only depend on StateTy, and not the type definition
of the entire checker.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47920 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-04 23:50:00 +00:00
Ted Kremenek 5c684c4be0 Moved implementation of GRExprEngine::Nodify into GRStmtNodeBuilder. This will
allow us to pass the builder to plug-in transfer functions and allow those
functions to create intermediate nodes.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47919 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-04 23:39:43 +00:00
Ted Kremenek f6f5ef4aaa Moved GRExprEngine::NodeSet out of GRExprEngine and made it a standalone class: ExplodedNodeSet.
Made GRExprEngine::NodeSet a typedef of ExplodedNodeSet.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47914 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-04 23:13:06 +00:00
Ted Kremenek 243ee47dab CallExprs are now no longer block-level expressions in the CFG by construction.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47913 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-04 22:29:40 +00:00