aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-06-26Minor change per Doug's comments.Fariborz Jahanian
- Fariborz git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74287 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26OpenCL 1.0 support: attributesNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74280 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26Add NamedDecl::getUnderlyingDecl that can see through UsingDecl and ↵Anders Carlsson
ObjCCompatibleAliasDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74279 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26See through UsingDecls in more places.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74269 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26Fix failing test.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74268 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26Fix build break.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74267 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26Improve error recovery in C++: when we hit 'implicit int' cases in C++,Chris Lattner
these are usually because the parser was thoroughly confused. In addition to typing the value being declared as an int and hoping for the best, we mark the value as invalid so we don't get chains of errors when it is used downstream. In C, implicit int actually is valid, so typing the thing as int is good and marking it invalid is bad. :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74266 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26fix PR4452, a crash on invalid. The error recovery is still terrible in ↵Chris Lattner
this case but at least we don't crash :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74264 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26oink is dead.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74263 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26Fix another assert related to using decls.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74262 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26rearrange more code, this avoids a token lookahead for foo<Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74261 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26move some code around, no functionality change.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74260 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26simplify some code.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74259 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26When creating LookupResults, see through UsingDecls. Fixes PR4450.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74258 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26Fix PR4448.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74257 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26OpenCL 1.0 support: explicit casts to ext-vector typesNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74247 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26Remove '#include <sstream>' from libAnalysis.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74245 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26Update method signature.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74244 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26Unbreak build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74238 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26Add missing header file.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74233 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26Implicit instantiation for function template specializations.Douglas Gregor
For a FunctionDecl that has been instantiated due to template argument deduction, we now store the primary template from which it was instantiated and the deduced template arguments. From this information, we can instantiate the body of the function template. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74232 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26Remove orphaned header file.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74231 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26Introduce a new concept to the static analyzer: SValuator.Ted Kremenek
GRTransferFuncs had the conflated role of both constructing SVals (symbolic expressions) as well as handling checker-specific logic. Now SValuator has the role of constructing SVals from expressions and GRTransferFuncs just handles checker-specific logic. The motivation is by separating these two concepts we will be able to much more easily create richer constraint-generating logic without coupling it to the main checker transfer function logic. We now have one implementation of SValuator: SimpleSValuator. SimpleSValuator is essentially the SVal-related logic that was in GRSimpleVals (which is removed in this patch). This includes the logic for EvalBinOp, EvalCast, etc. Because SValuator has a narrower role than the old GRTransferFuncs, the interfaces are much simpler, and so is the implementation of SimpleSValuator compared to GRSimpleVals. I also did a line-by-line review of SVal-related logic in GRSimpleVals and cleaned it up while moving it over to SimpleSValuator. As a consequence of removing GRSimpleVals, there is no longer a '-checker-simple' option. The '-checker-cfref' did everything that option did but also ran the retain/release checker. Of course a user may not always wish to run the retain/release checker, nor do we wish core analysis logic buried in the checker-specific logic. The next step is to refactor the logic in CFRefCount.cpp to separate out these pieces into the core analysis engine. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74229 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25OpenCL 1.0 Support: support "bool, true, false" tokens when compiling for OpenCLNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74224 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Write/Read new Language OptionsNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74221 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25PCH support for OpenCL language optionsNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74220 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25OpenCL 1.0 patch 2/N: Language options & file extensionNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74217 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Test case for my last patch.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74216 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Check that index-test uses an up-to-date AST file.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74214 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Improved semantic analysis and AST respresentation for functionDouglas Gregor
templates. For example, this now type-checks (but does not instantiate the body of deref<int>): template<typename T> T& deref(T* t) { return *t; } void test(int *ip) { int &ir = deref(ip); } Specific changes/additions: * Template argument deduction from a call to a function template. * Instantiation of a function template specializations (just the declarations) from the template arguments deduced from a call. * FunctionTemplateDecls are stored directly in declaration contexts and found via name lookup (all forms), rather than finding the FunctionDecl and then realizing it is a template. This is responsible for most of the churn, since some of the core declaration matching and lookup code assumes that all functions are FunctionDecls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74213 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Add some comments and clean-up some leftover code.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74207 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Patch to diagnose and Mark use of implicit default assignment operator.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74205 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25OpenCL 1.0 Support, patch 1/N: upper case swizzle operator and hex element ↵Nate Begeman
index. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74202 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Introduce tools/index-test.Argyrios Kyrtzidis
This tool will be the test bed for indexing related operations. It basically reads PCH files passed by the command line and performs various operations. Currently it can accept a file:line:column which resolves to a declaration/statement and displays some information about them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74198 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Introduce the ResolveLocationInAST function which takes an ASTContext and a ↵Argyrios Kyrtzidis
SourceLocation and it resolves it into a <Decl*, Stmt*> pair. Decl* is the declaration associated with this source location and Stmt* is the statement/expression that the location points to. If the location does not point to a statement node, Stmt* is null. ResolveLocationInAST (along with converting a file:line:column triplet to a SourceLocation) will be useful for an IDE client and for clang's test suite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74197 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Handle PCHReader::IgnorePCH, it gets returned for when the file does not exist.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74196 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Set the end range location of a FunctionDecl to the right paren.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74195 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Fix column checking for SourceManager::getLocation().Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74194 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Remove declaration for unused and unimplemented static method.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74182 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Extra asserts never hurt anybody, right?Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74177 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Decltype needs to have a dependent type if the expr passed to it is type ↵Anders Carlsson
dependent. Fixes PR4444. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74175 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Explicit braces to avoid ambiguous ‘else’.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74171 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25remove RegionKills GDM. Now UnknownVal is bound to regions explicitly.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74168 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Move element region retrieving logic into a separate function.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74166 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Make sure install Clang headers when building clang-ccDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74163 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Add missing dependencies to the CMake build systemDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74162 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-25Move all logic for retrieving ElementRegion binding into a separate method.Zhongxing Xu
Revert to setting default value approach for handling struct initialization. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74160 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24Remove uses of std::ostream from libAnalysis.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74136 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24Remove unneeded #includes.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74131 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24Remove GRStateManager::GetSValAsScalarOrLoc()/GetSVal().Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74128 91177308-0d34-0410-b5e6-96231b3b80d8