]>
granicus.if.org Git - clang/log
Anders Carlsson [Sat, 11 Apr 2009 01:08:03 +0000 (01:08 +0000)]
Add support for generating reference initialization code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68852
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 11 Apr 2009 00:54:13 +0000 (00:54 +0000)]
Add analyzer support for objc_atomicCompareAndSwap()
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68849
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 11 Apr 2009 00:14:32 +0000 (00:14 +0000)]
Store unique IDs for identifiers in the PCH file. Use some bitmangling
so that we only need to perform the lookup and identifier resolution
once per identifier in the PCH file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68846
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 11 Apr 2009 00:11:10 +0000 (00:11 +0000)]
Implement analyzer support for OSCompareAndSwap. This required pushing "tagged"
ProgramPoints all the way through to GRCoreEngine.
NSString.m now fails with RegionStoreManager because of the void** cast.
Disabling use of region store for that test for now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68845
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 11 Apr 2009 00:00:54 +0000 (00:00 +0000)]
Non-pointer objects are none gc'able regardles of
the attribute set on them.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68844
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 10 Apr 2009 23:10:45 +0000 (23:10 +0000)]
Compare the predefines buffer in the PCH file with the predefines
buffer generated for the current translation unit. If they are
different, complain and then ignore the PCH file. This effectively
checks for all compilation options that somehow would affect
preprocessor state (-D, -U, -include, the dreaded -imacros, etc.).
When we do accept the PCH file, throw away the contents of the
predefines buffer rather than parsing them, since all of the results
of that parsing are already stored in the PCH file. This eliminates
the ugliness with the redefinition of __builtin_va_list, among other
things.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68838
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 10 Apr 2009 23:09:55 +0000 (23:09 +0000)]
Fixup copy/dispose helpers for Objective-C. Radar
6756504
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68837
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 10 Apr 2009 22:53:25 +0000 (22:53 +0000)]
Force driver triple.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68836
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 10 Apr 2009 22:49:13 +0000 (22:49 +0000)]
Remove asserts that weren't really useful, and that would fire in case the CleanupEntries vector needed to be reallocated.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68835
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 10 Apr 2009 22:42:54 +0000 (22:42 +0000)]
Fix another fallout from defining __weak unconditionally.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68834
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 10 Apr 2009 22:14:52 +0000 (22:14 +0000)]
Don't set both readnone and readonly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68833
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Apr 2009 22:13:17 +0000 (22:13 +0000)]
do a dance with predefines, and finally enable reading of macros from
PCH. This works now, except for limitations not being able to do things
with identifiers. The basic example in the testcase works though.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68832
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 10 Apr 2009 22:09:52 +0000 (22:09 +0000)]
Fixed the test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68831
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Apr 2009 21:58:23 +0000 (21:58 +0000)]
move a bunch of code for initializing the predefines buffer out of Preprocessor.cpp
into clang-cc.cpp. This makes it so clang-cc constructs the *entire* predefines
buffer, not just half of it. A bonus of this is that we get to kill a copy
of DefineBuiltinMacro.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68830
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 10 Apr 2009 21:43:13 +0000 (21:43 +0000)]
Add a test case for my last patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68829
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Apr 2009 21:41:48 +0000 (21:41 +0000)]
add support for reading macros. This does all the reading (with a bunch of
fixme's, e.g. for tokens with identifiers) but does not actually install
them. Some details with the predefines buffer needs to be sorted out first.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68828
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Apr 2009 21:40:09 +0000 (21:40 +0000)]
make a method public
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68827
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 10 Apr 2009 21:23:20 +0000 (21:23 +0000)]
Force triple for a number of tests that rely on __weak.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68826
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Apr 2009 21:17:07 +0000 (21:17 +0000)]
simplify code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68825
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 10 Apr 2009 21:16:55 +0000 (21:16 +0000)]
Encode the target triple in the PCH file, and check that target triple when using the PCH file
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68824
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 10 Apr 2009 21:06:25 +0000 (21:06 +0000)]
Add arbitrary "tags" to ProgramPoints. While this fattens up ProgramPoint even
more, it gives us a tremendous amount of flexibility for extending the analyzer
to handle arbitrary program points.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68823
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 10 Apr 2009 21:00:07 +0000 (21:00 +0000)]
Honor MACOSX_DEPLOYMENT_TARGET environment variable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68822
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 10 Apr 2009 20:39:37 +0000 (20:39 +0000)]
Implement serialization/deserialization of LangOptions in the PCH
file. When de-serializing LangOptions, we check that the
currently-provided language options are consistent with the options
used to compile the PCH file. If they are not, we emit a diagnostic
and ignore the PCH file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68820
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 10 Apr 2009 20:33:45 +0000 (20:33 +0000)]
Reject compiles for x86_64 target for MacOS versions which
do not support it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68819
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 10 Apr 2009 20:26:50 +0000 (20:26 +0000)]
Internal variables could mistakenly have "hidden" visibility when
their emission was deferred.
- <rdar://problem/
6775234 > variables with internal linkage should not
be exposed with -fvisibility=hidden.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68818
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 10 Apr 2009 20:13:51 +0000 (20:13 +0000)]
Test case for -miphoneos-version-min, also part of Shantonu's patch!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68817
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 10 Apr 2009 20:11:50 +0000 (20:11 +0000)]
Driver: Forward -miphoneos-version-min to clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68816
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 10 Apr 2009 19:52:24 +0000 (19:52 +0000)]
Support -miphoneos-version-min in clang-cc.
- Patch by Shantonu Sen (with a minor tweak to split out
getDarwin{OSX,IPhoneOS}Defines)!
- <rdar://problem/
6776277 > Need clang-cc/ccc-analyzer support for
-miphoneos-version-min
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68815
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 10 Apr 2009 19:49:21 +0000 (19:49 +0000)]
Support %S in Python TestRunner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68814
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 10 Apr 2009 18:52:28 +0000 (18:52 +0000)]
Fixup codegen for nested blocks that use copy/dispose in the inner
blocks, so that the outer blocks use it as well. Radar
6762279
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68811
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 10 Apr 2009 18:47:34 +0000 (18:47 +0000)]
Patch to generate meta-data for prtocol used
in @protocol expression.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68806
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 10 Apr 2009 18:32:59 +0000 (18:32 +0000)]
Driver: CCC_ADD_ARGS could end up using dangling pointers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68805
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 10 Apr 2009 18:25:37 +0000 (18:25 +0000)]
Use getDeclName() instead of getIdentifier() (safe against null pointers)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68804
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Apr 2009 18:22:18 +0000 (18:22 +0000)]
add a new PP_MACRO_NAME hack so that I can test object-like macros.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68803
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 10 Apr 2009 18:11:44 +0000 (18:11 +0000)]
Move a few more NonLoc static functions to ValueManager.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68800
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 10 Apr 2009 18:11:14 +0000 (18:11 +0000)]
Default initialize 'code' instance variable to NULL.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68799
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Apr 2009 18:08:30 +0000 (18:08 +0000)]
emit tokens, constify the Preprocessor passed down into PCH writer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68798
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Apr 2009 18:00:12 +0000 (18:00 +0000)]
emit function-like and object-like macros to the PCH file.
Note that we don't do anything useful with identifier infos yet
and don't emit the tokens that the macros are defined to.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68797
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 10 Apr 2009 17:28:42 +0000 (17:28 +0000)]
Add PCH sources to CMake build files
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68794
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 10 Apr 2009 17:25:41 +0000 (17:25 +0000)]
Various minor fixes to PCH reading and writing, with general
cleanup. Aside from a minor tweak to the PCH file format, no
functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68793
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Apr 2009 17:16:57 +0000 (17:16 +0000)]
improve punctuation
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68791
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Apr 2009 17:15:23 +0000 (17:15 +0000)]
Arrange for the preprocessor to be passed down into the PCH writer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68790
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Apr 2009 17:09:28 +0000 (17:09 +0000)]
add PCH stuff to project
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68789
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Apr 2009 16:51:32 +0000 (16:51 +0000)]
use doug's new %S thing to make this work when run from different locations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68788
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 10 Apr 2009 14:30:24 +0000 (14:30 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68782
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 10 Apr 2009 14:29:25 +0000 (14:29 +0000)]
Update analyzer build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68781
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 10 Apr 2009 08:45:10 +0000 (08:45 +0000)]
Add prototype for CodeTextRegion.
A CodeTextRegion wraps two kinds of data: FunctionDecl* or SymbolRef.
The latter comes from the symbolic function pointer that are generated from
function calls or input data.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68777
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 10 Apr 2009 06:52:49 +0000 (06:52 +0000)]
update analyzer doc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68773
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 10 Apr 2009 06:06:13 +0000 (06:06 +0000)]
Finally nuke loc::SymbolVal.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68771
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Apr 2009 05:54:56 +0000 (05:54 +0000)]
typos
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68770
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 10 Apr 2009 05:31:15 +0000 (05:31 +0000)]
Use correct alignment and size for references in records as well.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68769
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 10 Apr 2009 05:04:22 +0000 (05:04 +0000)]
Wording changes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68766
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 10 Apr 2009 05:03:33 +0000 (05:03 +0000)]
Add blurb about attribute "analyzer_noreturn"
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68765
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 10 Apr 2009 04:59:59 +0000 (04:59 +0000)]
Rename variables to avoid conflict.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68764
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 10 Apr 2009 04:54:13 +0000 (04:54 +0000)]
Add Expr::EvaluateAsLValue which will (believe it or not) try to evaluate an Expr as an LValue.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68763
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 10 Apr 2009 04:52:36 +0000 (04:52 +0000)]
Fix thinko noticed by Chris.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68762
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 10 Apr 2009 04:47:03 +0000 (04:47 +0000)]
Use the same alignment for reference declarations as for pointer declarations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68761
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Apr 2009 04:42:25 +0000 (04:42 +0000)]
fix indentation
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68760
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 10 Apr 2009 04:02:38 +0000 (04:02 +0000)]
Split failing test case from misc-ps.m to misc-ps-ranges.m (which tests
functionality specific to RangeConstraintManager).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68759
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 10 Apr 2009 03:52:48 +0000 (03:52 +0000)]
PCH serialization/deserialization of the source manager. With this
improvement, source locations read from the PCH file will properly
resolve to the source files that were used to build the PCH file
itself.
Once we have the preprocessor state stored in the PCH file, source
locations that refer to macro instantiations that occur in the PCH
file should have the appropriate instantiation information.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68758
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 10 Apr 2009 00:59:50 +0000 (00:59 +0000)]
Fix: <rdar://problem/
6776949 > Branch condition evaluates to an uninitialized value (argc is guaranteed to be >= 1)
The analyzer now adds the precondition that the first argument of 'main' is > 0.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68757
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Apr 2009 00:37:08 +0000 (00:37 +0000)]
Make messages consistent.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68756
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Apr 2009 00:35:59 +0000 (00:35 +0000)]
reject codegen of __thread variables as unimplemented, rdar://
6775265
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68755
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 10 Apr 2009 00:01:14 +0000 (00:01 +0000)]
Implement attribute "analyzer_noreturn" (<rdar://problem/
6777003 >). This allows
clients of the analyzer to designate custom assertion routines as "noreturn"
functions from the analyzer's perspective but not the compiler's.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68746
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 9 Apr 2009 22:27:44 +0000 (22:27 +0000)]
Implementation of pre-compiled headers (PCH) based on lazy
de-serialization of abstract syntax trees.
PCH support serializes the contents of the abstract syntax tree (AST)
to a bitstream. When the PCH file is read, declarations are serialized
as-needed. For example, a declaration of a variable "x" will be
deserialized only when its VarDecl can be found by a client, e.g.,
based on name lookup for "x" or traversing the entire contents of the
owner of "x".
This commit provides the framework for serialization and (lazy)
deserialization, along with support for variable and typedef
declarations (along with several kinds of types). More
declarations/types, along with important auxiliary structures (source
manager, preprocessor, etc.), will follow.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68732
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 9 Apr 2009 22:22:44 +0000 (22:22 +0000)]
- Move ownership of MemRegionManager into ValueManager.
- Pull SVal::GetConjuredSymbol() and friends into ValueManager. This greatly
simplifies the calling interface to clients.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68731
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 9 Apr 2009 21:55:45 +0000 (21:55 +0000)]
Add @encode support for complex types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68729
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 9 Apr 2009 21:40:53 +0000 (21:40 +0000)]
Propagate the ASTContext to various AST traversal and lookup functions.
No functionality change (really).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68726
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 9 Apr 2009 21:26:42 +0000 (21:26 +0000)]
Add some FIXMEs for missing checks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68725
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Apr 2009 19:58:15 +0000 (19:58 +0000)]
document the x86 address space extension for GS.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68724
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 9 Apr 2009 18:22:40 +0000 (18:22 +0000)]
Fix grammar. Bold face feature points.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68720
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 9 Apr 2009 18:20:08 +0000 (18:20 +0000)]
More cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68719
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 9 Apr 2009 18:17:39 +0000 (18:17 +0000)]
More cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68718
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 9 Apr 2009 18:08:18 +0000 (18:08 +0000)]
Add link from internals manual to PTH documentation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68717
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 9 Apr 2009 18:03:21 +0000 (18:03 +0000)]
Minor cleanups. Added a blurb about the advantages of fast PTH file generation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68716
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 9 Apr 2009 17:29:08 +0000 (17:29 +0000)]
Simple DeclContext's internal representation by always storing a
StoredDeclsMap, instead of using the it's-an-array-or-its-a-map
trick. I'll verify that performance isn't impacted later; for now, I
need the common representation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68715
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 9 Apr 2009 16:46:55 +0000 (16:46 +0000)]
Remove SVal::MakeZero and replace it with ValueManager::makeZeroVal.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68711
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 9 Apr 2009 16:42:50 +0000 (16:42 +0000)]
Add more builtin definitions, including strcmp.
- PR3964.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68710
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 9 Apr 2009 16:13:17 +0000 (16:13 +0000)]
analyzer: Introduce a new class, ValueManager, that serves as an aggregate
"manager of symbolic values", wrapping BasicValueFactory, SymbolManager, and
MemRegionManager. While these individual managers nicely separate functionality
in the analyzer, constructing symbolic values can sometimes be cumbersome
because it requires using multiple managers at once. The goal of this class is
to create some factory methods to create SVals that require the use of these
different managers, thus (hopefully) simplifying the analyzer API for clients.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68709
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 9 Apr 2009 14:06:37 +0000 (14:06 +0000)]
Update analyzer build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68707
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 9 Apr 2009 07:39:46 +0000 (07:39 +0000)]
stop using loc::SymbolVal and clean up code with new API.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68703
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 9 Apr 2009 07:04:45 +0000 (07:04 +0000)]
clean up code with new API.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68701
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 9 Apr 2009 07:01:16 +0000 (07:01 +0000)]
clean up code with new API.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68700
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 9 Apr 2009 06:56:25 +0000 (06:56 +0000)]
clean up code with new API.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68699
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 9 Apr 2009 06:53:24 +0000 (06:53 +0000)]
clean up code with new API.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68698
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 9 Apr 2009 06:49:52 +0000 (06:49 +0000)]
stop using loc::SymbolVal.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68697
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 9 Apr 2009 06:43:44 +0000 (06:43 +0000)]
stop using loc::SymbolVal.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68696
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 9 Apr 2009 06:41:51 +0000 (06:41 +0000)]
stop using loc::SymbolVal.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68695
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 9 Apr 2009 06:35:30 +0000 (06:35 +0000)]
clean up code with new API.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68694
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 9 Apr 2009 06:32:20 +0000 (06:32 +0000)]
clean up code with new API.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68693
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 9 Apr 2009 06:30:17 +0000 (06:30 +0000)]
Add a new method because sometimes the type of the conjured symbol is not the
type of the expression where we create the symbol.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68692
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 9 Apr 2009 06:18:05 +0000 (06:18 +0000)]
make a conjured symbol as the original code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68691
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 9 Apr 2009 06:03:54 +0000 (06:03 +0000)]
clean up code with new API.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68687
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 9 Apr 2009 06:02:06 +0000 (06:02 +0000)]
Fix a null pointer dereference error due to state caching in a loop involving
sending a message to a nil receiver.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68686
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 9 Apr 2009 05:57:11 +0000 (05:57 +0000)]
Create a symbolic region instead of a loc::SymbolVal. This is a continued step
to eliminate the use of loc::SymbolVal.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68685
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 9 Apr 2009 05:45:56 +0000 (05:45 +0000)]
GRExprEngine: Don't try to reason about the size of 'void' for the return type
of messages sent to nil.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68683
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 9 Apr 2009 05:34:31 +0000 (05:34 +0000)]
Another ParentMap bug: only the right side of a comma expression is consumed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68680
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 9 Apr 2009 04:06:51 +0000 (04:06 +0000)]
Fix another regression introduced by changes to the analyzer's reasoning about
nil receivers in message expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68672
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 9 Apr 2009 00:51:16 +0000 (00:51 +0000)]
Make -include, -imacros paths absolute in Frontend.
- Otherwise paths will be resolved relative to the main input file,
which is incorrect.
- I don't know how to make a reasonable test case for this with our
testing infrastructure.
- PR3395
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68665
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 9 Apr 2009 00:00:02 +0000 (00:00 +0000)]
Refactor/cleanup reasoning of nil receivers in message expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68661
91177308 -0d34-0410-b5e6-
96231b3b80d8