]>
granicus.if.org Git - clang/log
Argyrios Kyrtzidis [Sat, 18 Jul 2009 08:49:56 +0000 (08:49 +0000)]
Remove StmtLocResolver::VisitObjCIvarRefExpr, it was only there to avoid returning an implicit 'self' instead of the ivar.
Since implicit 'self' no longer has a source location, it's not needed. (plus we also want to check for a 'self' that is visible in source code)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76296
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sat, 18 Jul 2009 08:49:37 +0000 (08:49 +0000)]
Don't add a SourceLocation for 'self' if it does not actually appears in the source code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76295
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sat, 18 Jul 2009 08:49:07 +0000 (08:49 +0000)]
Replace stmt visitors with the fall back method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76294
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 18 Jul 2009 06:27:51 +0000 (06:27 +0000)]
Fix crash in StoreManager::NewCastRegion() when handling casts from 'id' (or whatever) to a BlockPointerType.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76288
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 18 Jul 2009 06:27:01 +0000 (06:27 +0000)]
Return CodeTextRegions for BlockPointerTypes in addition to FunctionPointerTypes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76287
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 18 Jul 2009 05:02:33 +0000 (05:02 +0000)]
Add test case for bug fix in r76262.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76283
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 18 Jul 2009 00:47:21 +0000 (00:47 +0000)]
Fix some fallout from CFGBuilder restructuring: all expressions that we explicitly handle have the possibility to be block-level expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76277
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sat, 18 Jul 2009 00:34:35 +0000 (00:34 +0000)]
Remove getFirstDeclaration/getLatestDeclaration from FunctionDecl and VarDecl.
Their usefulness is questionable since redecl_iterator was introduced.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76275
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sat, 18 Jul 2009 00:34:25 +0000 (00:34 +0000)]
Remove ASTContext::getCanonicalDecl() and use Decl::getCanonicalDecl in its place.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76274
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sat, 18 Jul 2009 00:34:07 +0000 (00:34 +0000)]
Move the functionality of ASTContext::getCanonicalDecl(), into a virtual method Decl::getCanonicalDecl().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76273
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sat, 18 Jul 2009 00:33:52 +0000 (00:33 +0000)]
Resolve a location that is inside an ObjCMethodDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76272
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sat, 18 Jul 2009 00:33:46 +0000 (00:33 +0000)]
Make ASTLocation accept a Stmt that is inside an ObjCMethodDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76271
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sat, 18 Jul 2009 00:33:40 +0000 (00:33 +0000)]
Search through all Decls that are DeclContexts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76270
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sat, 18 Jul 2009 00:33:33 +0000 (00:33 +0000)]
Set ObjCMethodDecl's EndLoc to the '}' when it's a definition.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76269
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sat, 18 Jul 2009 00:33:23 +0000 (00:33 +0000)]
Location should be passed to setLocEnd() not to setAtEndLoc() which belongs to ObjCContainerDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76268
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sat, 18 Jul 2009 00:33:08 +0000 (00:33 +0000)]
Add getSourceRange() methods for ObjC Decls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76267
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jul 2009 23:57:13 +0000 (23:57 +0000)]
fix objc codegen to not have its own list of things that eventually get into llvm.used, just
populate CGM's list directly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76266
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jul 2009 23:48:38 +0000 (23:48 +0000)]
This takes a long time to crash, just disable it for now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76263
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 17 Jul 2009 23:48:26 +0000 (23:48 +0000)]
Fix caching bug revealed by analyzing ClamAV using RegionStore.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76262
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 17 Jul 2009 22:57:50 +0000 (22:57 +0000)]
Fix possible null dereference in CFG construction.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76261
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 17 Jul 2009 22:45:54 +0000 (22:45 +0000)]
Remove bogus check.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76259
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 17 Jul 2009 22:38:26 +0000 (22:38 +0000)]
Add error message when clang-cc cannot be found.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76256
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 17 Jul 2009 22:18:43 +0000 (22:18 +0000)]
Restructure CFG builder to have just one visitor path instead of two. The result
is an algorithm that is much easier to understand and slightly more efficient.
Thanks to Mike Stump for our discussions on the CFGBuilder and his comments that
helped prompt this long needed cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76250
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 17 Jul 2009 18:20:32 +0000 (18:20 +0000)]
Move WalkAST logic for 'ChooseExpr' to 'VisitChooseExpr'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76205
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 17 Jul 2009 18:15:54 +0000 (18:15 +0000)]
Move WalkAST logic for 'ConditionalOperator' into 'VisitConditionalOperator'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76202
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 17 Jul 2009 18:10:27 +0000 (18:10 +0000)]
Fix indentation / trailing white space.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76200
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 17 Jul 2009 18:04:55 +0000 (18:04 +0000)]
Remove stale comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76196
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 17 Jul 2009 17:50:17 +0000 (17:50 +0000)]
Per offline discussion with Steve Naroff, add back Type::getAsXXXType() methods
until Doug Gregor's Type smart pointer code lands (or more discussion occurs).
These methods just call the new Type::getAs<XXX> methods, so we still have
reduced implementation redundancy. Having explicit getAsXXXType() methods makes
it easier to set breakpoints in the debugger.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76193
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jul 2009 15:50:19 +0000 (15:50 +0000)]
clean up this code, add the fixme back.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76180
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jul 2009 15:46:27 +0000 (15:46 +0000)]
objc methods can't be an operand to callexpr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76179
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 17 Jul 2009 07:49:44 +0000 (07:49 +0000)]
Rename Entity::getName() to Entity::getPrintableName() to make its purpose
more obvious.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76167
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 17 Jul 2009 07:36:20 +0000 (07:36 +0000)]
As suggested by Argyrios, revert r76159 and make "FindImmediateParent"
a public static method of ASTLocation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76166
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 17 Jul 2009 07:29:51 +0000 (07:29 +0000)]
Refactor code into a new CallExpr::getDirectCallee() method. Simplify some
code with the new method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76164
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 17 Jul 2009 07:05:19 +0000 (07:05 +0000)]
CallGraph: add a bunch of stmt visitors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76161
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 17 Jul 2009 06:58:08 +0000 (06:58 +0000)]
Relax the assertion in ASTLocation's ctor: if the decl is not the immediate
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76159
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 17 Jul 2009 05:49:16 +0000 (05:49 +0000)]
CallGraph:
- add IfStmt visitor.
- print information only when a function has callee. Otherwise its ASTContext
map is NULL.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76156
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 17 Jul 2009 01:31:16 +0000 (01:31 +0000)]
Fixup indentation of rest of switch statement to match llvm coding
conventions. Also reflowed comments and removed spaces at end of
lines and fixed up 80 col violations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76140
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 17 Jul 2009 01:20:38 +0000 (01:20 +0000)]
Replaced Type::getAsLValueReferenceType(), Type::getAsRValueReferenceType(), Type::getAsMemberPointerType(), Type::getAsTagType(), and Type::getAsRecordType() with their Type::getAs<XXX> equivalents.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76139
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Fri, 17 Jul 2009 01:20:03 +0000 (01:20 +0000)]
If we are not doing a Debug build, no need for the debugging print methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76138
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Fri, 17 Jul 2009 01:19:49 +0000 (01:19 +0000)]
ObjCCategoryImplDecl and ObjCImplementation do not derive directly from DeclContext but from a new abstract ObjCImplDecl.
Reflect this change on the "DeclContext hierarchy".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76137
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Fri, 17 Jul 2009 01:19:03 +0000 (01:19 +0000)]
Check whether the IdentifierInfo is null, before using it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76136
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 17 Jul 2009 01:04:31 +0000 (01:04 +0000)]
Make noreturn functions alter the CFG.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76133
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 17 Jul 2009 01:01:15 +0000 (01:01 +0000)]
Replace Type::getAsReferenceType() with Type::getAs<ReferenceType>().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76132
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 17 Jul 2009 00:25:49 +0000 (00:25 +0000)]
Update cf_returns_retained/ns_returns_retained examples to use __has_feature.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76130
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 17 Jul 2009 00:19:33 +0000 (00:19 +0000)]
Update test case to use '__has_feature' macro.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76129
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 23:34:22 +0000 (23:34 +0000)]
Some more ?: for Obj-C tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76125
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 22:10:11 +0000 (22:10 +0000)]
Fix unused variable warnings (with -Asserts)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76112
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 16 Jul 2009 22:04:59 +0000 (22:04 +0000)]
ir-gen for --/++ operators of objc object pointers
in 32bit abi.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76109
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 21:55:48 +0000 (21:55 +0000)]
Add more testing of ?: for Obj-C object types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76108
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 21:32:51 +0000 (21:32 +0000)]
[llvm up] Add support for '#' component of QA_OVERRIDE_GCC3_OPTIONS.
- This silences the output about how command line arguments are being changed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76107
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 21:18:21 +0000 (21:18 +0000)]
Add extra print for --time-tests output.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76104
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 20:09:57 +0000 (20:09 +0000)]
Hook in s390x stuff into clang
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76099
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 16 Jul 2009 19:58:26 +0000 (19:58 +0000)]
Add member template 'Type::getAs<T>', which converts a Type* to a respective T*.
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>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76098
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 16 Jul 2009 18:13:04 +0000 (18:13 +0000)]
Move the source-level CFG from libAST to libAnalysis.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76092
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 16 Jul 2009 18:10:20 +0000 (18:10 +0000)]
Add 'clang-wpa' to the CMake-based build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76091
91177308 -0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 16 Jul 2009 18:09:38 +0000 (18:09 +0000)]
Update for LLVM API change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76090
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 16 Jul 2009 17:59:14 +0000 (17:59 +0000)]
Diagnose ++/-- op on objc pointers in
nonfragile abi, instead of crashing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76088
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Jul 2009 16:48:25 +0000 (16:48 +0000)]
use CreateRuntimeVariable to get __CFConstantStringClassReference
instead of doing it manually (which might end up getting auto-renamed),
fixing a FIXME. rdar://
7065446
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76079
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 16 Jul 2009 16:21:02 +0000 (16:21 +0000)]
Cleanup a couple loops and improve a comment (based on feedback from Fariborz).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76078
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 16 Jul 2009 15:41:00 +0000 (15:41 +0000)]
Remove ASTContext::isObjCObjectPointerType().
Convert all clients to use the new predicate on Type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76076
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Jul 2009 05:03:48 +0000 (05:03 +0000)]
codegen string literals using private linkage now like llvm-gcc, eliminating
some target hooks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75895
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 02:02:48 +0000 (02:02 +0000)]
Unbreak build?
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75887
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 16 Jul 2009 01:43:33 +0000 (01:43 +0000)]
Update CMake file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75885
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 16 Jul 2009 01:33:37 +0000 (01:33 +0000)]
Move RegionStoreManager over to using new
ValueManager::makeArrayIndex()/convertArrayIndex() methods. This
handles yet another crash case when reasoning about array indices of
different bitwidth and signedness.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75884
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 16 Jul 2009 01:32:00 +0000 (01:32 +0000)]
Two changes:
(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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75882
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 16 Jul 2009 01:12:24 +0000 (01:12 +0000)]
Generate error on declaration containing 'static' and '__attribute__((weak))'
Patch by Ryan Flynn
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75879
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 16 Jul 2009 01:05:34 +0000 (01:05 +0000)]
update makefile.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75878
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 16 Jul 2009 01:03:49 +0000 (01:03 +0000)]
add copyright comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75877
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 16 Jul 2009 01:02:47 +0000 (01:02 +0000)]
Enable. Now the LLVM dwarfwriter does not print extra '1' prefix in symbol names (rev. 75875)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75876
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 16 Jul 2009 01:00:25 +0000 (01:00 +0000)]
Add a primitive clang whole primitive analyzer tool.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75874
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 16 Jul 2009 00:54:12 +0000 (00:54 +0000)]
Commit the initial implementation of call graph building.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75873
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 16 Jul 2009 00:25:06 +0000 (00:25 +0000)]
Avoid crashing for the enclosed test case.
This is fallout from the recent ObjCObjectPointerType rework. I'll work on fixing this tomorrow.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75870
91177308 -0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 16 Jul 2009 00:14:12 +0000 (00:14 +0000)]
Update for LLVM API change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75869
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 16 Jul 2009 00:00:11 +0000 (00:00 +0000)]
Use utility method to create 0-index into ElementRegion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75865
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 15 Jul 2009 23:39:31 +0000 (23:39 +0000)]
Fixed a stinko which caused an ast-print test failure.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75861
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 15 Jul 2009 23:23:54 +0000 (23:23 +0000)]
Handle some more fallout with the conversion of using PointerType for
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75856
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 15 Jul 2009 23:22:45 +0000 (23:22 +0000)]
#ifdef'ed out -ast-print of destructors which caused
a test failure, until figuring out what caused the failure.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75855
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 15 Jul 2009 22:34:08 +0000 (22:34 +0000)]
Added ASTs to destructor decl AST for default destruction of object's
base/members.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75849
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 15 Jul 2009 22:09:25 +0000 (22:09 +0000)]
Fix <rdar://problem/
7062158 > by having BasicStoreManager model values for 'static' global variables.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75844
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 15 Jul 2009 21:08:41 +0000 (21:08 +0000)]
Lexically order files in CMakeLists.txt files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75832
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 15 Jul 2009 20:25:38 +0000 (20:25 +0000)]
Reapply r75764: [llvm up] Switch to using the new TargetRegistry
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75821
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 15 Jul 2009 19:44:23 +0000 (19:44 +0000)]
Remove cast from test case (cast was incorrectly added as part of http://llvm.org/viewvc/llvm-project?view=rev&revision=75314).
Add new warnings that are being produced.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75816
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 15 Jul 2009 19:34:04 +0000 (19:34 +0000)]
Remove default argument, since it isn't being used (suggested by Fariborz).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75815
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 15 Jul 2009 18:59:48 +0000 (18:59 +0000)]
Revert r75764 "[llvm up] Switch to using the new TargetRegistry" to fix build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75814
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 15 Jul 2009 18:59:40 +0000 (18:59 +0000)]
Add comments to indicate why RUN lines are below the source code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75813
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 15 Jul 2009 18:50:21 +0000 (18:50 +0000)]
Add a "t".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75810
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 15 Jul 2009 18:40:39 +0000 (18:40 +0000)]
Implement the ObjC pseudo built-in types as clang "BuiltinType's". I say 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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75808
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 15 Jul 2009 17:32:18 +0000 (17:32 +0000)]
Update for raw_fd_ostream API changes. raw_fd_ostream now has a
Force flag to control whether the case of opening an existing
file is considered an error.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75802
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 15 Jul 2009 09:45:29 +0000 (09:45 +0000)]
Tweak svn:ignore
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75765
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 15 Jul 2009 09:43:46 +0000 (09:43 +0000)]
[llvm up] Switch to using the new TargetRegistry.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75764
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 15 Jul 2009 09:04:01 +0000 (09:04 +0000)]
Delete extra whitespaces.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75761
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 15 Jul 2009 06:21:18 +0000 (06:21 +0000)]
rewrite the logic to make it follow the comments more closely.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75750
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 15 Jul 2009 06:09:28 +0000 (06:09 +0000)]
Enhance RegionStore's reasoning about Objective-C ivars. More testing to follow.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75748
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 15 Jul 2009 05:09:24 +0000 (05:09 +0000)]
Use utility method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75745
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 15 Jul 2009 04:39:21 +0000 (04:39 +0000)]
Add getName() method to Entity.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75740
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 15 Jul 2009 04:23:32 +0000 (04:23 +0000)]
Relax assertion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75738
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 15 Jul 2009 02:31:43 +0000 (02:31 +0000)]
More test cases revealed that the logic in StoreManager::InvalidateRegion() 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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75730
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 15 Jul 2009 02:27:32 +0000 (02:27 +0000)]
Introduced the notion of a "derived symbol" using the class SymbolDerived.
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75728
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 14 Jul 2009 23:52:07 +0000 (23:52 +0000)]
Handle cast of 'ObjCObjectRegion' in StoreManager::InvalidateRegion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75713
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 14 Jul 2009 23:41:35 +0000 (23:41 +0000)]
Added a FIXME and prevent crash when listing
a dependent type in the ctor initializer-list.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75712
91177308 -0d34-0410-b5e6-
96231b3b80d8