| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
more obvious.
llvm-svn: 76167
|
|
|
|
|
|
| |
a public static method of ASTLocation.
llvm-svn: 76166
|
|
|
|
|
|
| |
code with the new method.
llvm-svn: 76164
|
|
|
|
| |
llvm-svn: 76161
|
|
|
|
|
|
|
|
|
| |
parent of the stmt, find the immediate parent for the stmt.
This is because sometimes we cannot get the immediate decl of the stmt when
creating the ASTLocation. We can only get a parent of the stmt.
llvm-svn: 76159
|
|
|
|
|
|
|
|
| |
- add IfStmt visitor.
- print information only when a function has callee. Otherwise its ASTContext
map is NULL.
llvm-svn: 76156
|
|
|
|
|
|
|
| |
conventions. Also reflowed comments and removed spaces at end of
lines and fixed up 80 col violations.
llvm-svn: 76140
|
|
|
|
|
|
| |
Type::getAsMemberPointerType(), Type::getAsTagType(), and Type::getAsRecordType() with their Type::getAs<XXX> equivalents.
llvm-svn: 76139
|
|
|
|
| |
llvm-svn: 76138
|
|
|
|
| |
llvm-svn: 76136
|
|
|
|
| |
llvm-svn: 76133
|
|
|
|
| |
llvm-svn: 76132
|
|
|
|
| |
llvm-svn: 76112
|
|
|
|
|
|
| |
in 32bit abi.
llvm-svn: 76109
|
|
|
|
| |
llvm-svn: 76099
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This method is intended to eventually replace the individual
Type::getAsXXXType<> methods.
The motivation behind this change is twofold:
1) Reduce redundant implementations of Type::getAsXXXType() methods. Most of
them are basically copy-and-paste.
2) By centralizing the implementation of the getAs<Type> logic we can more
smoothly move over to Doug Gregor's proposed canonical type smart pointer
scheme.
Along with this patch:
a) Removed 'Type::getAsPointerType()'; now clients use getAs<PointerType>.
b) Removed 'Type::getAsBlockPointerTypE()'; now clients use getAs<BlockPointerType>.
llvm-svn: 76098
|
|
|
|
| |
llvm-svn: 76092
|
|
|
|
| |
llvm-svn: 76090
|
|
|
|
|
|
| |
nonfragile abi, instead of crashing.
llvm-svn: 76088
|
|
|
|
|
|
|
| |
instead of doing it manually (which might end up getting auto-renamed),
fixing a FIXME. rdar://7065446
llvm-svn: 76079
|
|
|
|
| |
llvm-svn: 76078
|
|
|
|
|
|
| |
Convert all clients to use the new predicate on Type.
llvm-svn: 76076
|
|
|
|
|
|
| |
some target hooks.
llvm-svn: 75895
|
|
|
|
| |
llvm-svn: 75885
|
|
|
|
|
|
|
|
| |
ValueManager::makeArrayIndex()/convertArrayIndex() methods. This
handles yet another crash case when reasoning about array indices of
different bitwidth and signedness.
llvm-svn: 75884
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(1) Moved the SValuator object from GRExprEngine to ValueManager. This
allows ValueManager to use the SValuator when creating SVals.
(2) Added ValueManager::makeArrayIndex() and
ValueManager::convertToArrayIndex(), two SVal creation methods
that will help RegionStoreManager always have a consistent set of
SVals with the same integer size and type when reasoning about
array indices.
llvm-svn: 75882
|
|
|
|
|
|
| |
Patch by Ryan Flynn
llvm-svn: 75879
|
|
|
|
| |
llvm-svn: 75873
|
|
|
|
|
|
| |
This is fallout from the recent ObjCObjectPointerType rework. I'll work on fixing this tomorrow.
llvm-svn: 75870
|
|
|
|
| |
llvm-svn: 75869
|
|
|
|
| |
llvm-svn: 75865
|
|
|
|
| |
llvm-svn: 75861
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Objective-C pointers to using ObjCObjectPointerType.
Now the checking for 'attribute ((nonnull))' in Sema doesn't emit an error when
trying to apply that attribute to a parameter that is an Objective-C pointer
(this is a regression).
To prevent this regression from occuring in the future, the 'nonnull.c' test was
moved to test/SemaObjC and renamed 'nonnull.m'. I also enhanced the tests to
show that function calls involved a NULL Objective-C pointer constant does not
trigger a warning. This is consistent with GCC, but should likely be fixed.
llvm-svn: 75856
|
|
|
|
|
|
| |
a test failure, until figuring out what caused the failure.
llvm-svn: 75855
|
|
|
|
|
|
| |
base/members.
llvm-svn: 75849
|
|
|
|
|
|
| |
'static' global variables.
llvm-svn: 75844
|
|
|
|
| |
llvm-svn: 75832
|
|
|
|
| |
llvm-svn: 75821
|
|
|
|
| |
llvm-svn: 75814
|
|
|
|
|
|
|
|
|
|
|
|
| |
pseudo built-in types, since Sema still injects a typedef for recognition (i.e. they aren't truly built-ins from a parser perspective).
This removes the static data/methods on ObjCObjectPointerType while preserving the nice API (no need to fiddle with ASTContext:-).
This patch also adds Type::isObjCBuiltinType().
This should be the last fairly large patch related to recrafting the ObjC type system. The follow-on patches should be fairly small.
llvm-svn: 75808
|
|
|
|
|
|
|
| |
Force flag to control whether the case of opening an existing
file is considered an error.
llvm-svn: 75802
|
|
|
|
| |
llvm-svn: 75764
|
|
|
|
| |
llvm-svn: 75761
|
|
|
|
| |
llvm-svn: 75750
|
|
|
|
|
|
| |
follow.
llvm-svn: 75748
|
|
|
|
| |
llvm-svn: 75745
|
|
|
|
| |
llvm-svn: 75740
|
|
|
|
| |
llvm-svn: 75738
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
needs more finesse when handling the invalidation of pointers. Pointers that were invalidated as integers could later cause problems for clients using them as pointers. It is easier for us to model a symbolic value as a pointer rather than modeling a non-symbolic value as a pointer.
This patch causes:
- StoreManager::InvalidateRegion() to not used the casted type of a region if
it would cause a pointer type to be invalidated as a non-pointer type.
- Pushes RegionStore::RetrieveElement() further by handling retrievals from
symbolic arrays that have been invalidated. This uses the new SymbolDerived
construct that was recently introduced.
The result is that the failing test in misc-ps-region-store-x86_64.m now passes.
Both misc-ps-region-store-x86_64.m and misc-ps-region-store-i386.m contain a
test case that motivated this change.
llvm-svn: 75730
|
|
|
|
|
|
|
|
| |
SymbolDerived allows us to model symbolic values that are related to other
symbols via a region hierarchy. For example, SymbolDerived can be used to model
individual values of a symbolic array.
llvm-svn: 75728
|