aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-06-23Instead of setting the default value of the array region, bind the rest of theZhongxing Xu
array elements to 0 explicitly. Create 0 values with the element type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73946 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23Fix our check for "random whitespace between a \ and newline" to workChris Lattner
with dos style newlines. I have a trivial test for this: // RUN: clang-cc %s -verify #define test(x, y) \ x ## y but I don't know how to get svn to not change newlines and testrunner doesn't work with dos style newlines either, so "not worth it". :) rdar://6994000 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73945 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23MemRegionManager: Migrate logic for getCodeTextRegion() over to using Zhongxing Xu
trait-based MemRegion creation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73941 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23Remove duplicated methods.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73940 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23add a fixme.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73939 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23fix PR4423.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73938 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23Check in a new template argument list builder that should work better for ↵Anders Carlsson
variadic templates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73937 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23switch Warnings.cpp to use the diagnostics machinery to print diagnostics, ↵Chris Lattner
not *fprintf*! Among other things, this makes the warning about unknown warning options mappable. For example: $ clang t.c -Werror -Wfoo error: unknown warning option '-Wfoo' [-Wunknown-warning-option] For another thing, they are properly color coded now too :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73936 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23MemRegions:Ted Kremenek
- Embed a reference to MemRegionManager objects in MemSpaceRegion objects - Use this embedded reference for MemRegion objects to access ASTContext objects without external help - Use this access to ASTContext to simplify 'isBoundable' (no ASTContext& argument required) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73935 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23__APPLE_CC__ should only be set when building for darwin targets.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73934 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23Remove operator '<=' overload for SourceLocation.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73933 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23Don't use operator overload '<' for SourceLocation, it has not semantic meaning.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73932 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23In SourceManager::createFileID missed setting ContentCache's FirstFID in ↵Argyrios Kyrtzidis
another place. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73931 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23Add a comment.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73930 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23MemRegionManager: Migrate logic for getAllocaRegion() over to using ↵Ted Kremenek
trait-based MemRegion creation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73927 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23MemRegionManager: Migrate getObjCObjectRegion() and getTypedViewRegion() to useTed Kremenek
the new trait-based construction of MemRegion objects. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73926 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22Some semantic tests for implicit instantiationsDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73924 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22patch to mark use of implicit copy constructors.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73922 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22Migrate factory methods for FieldRegion and ObjCIVarRegion creation to use theTed Kremenek
new generalized region-construction code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73921 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22Robustify a bunch of C++-related declaration actions.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73918 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22Refactor some of the logic in MemRegionManager for constructing regions usingTed Kremenek
member template functions and traits. The idea is to allow MemRegionManager to construct subclasses of MemRegion that aren't declared in MemRegion.h (e.g., checker-specific regions). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73917 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22Implement implicit instantiation of the member functions of a class templateDouglas Gregor
specialization. At present, all implicit instantiations occur at the end of the translation unit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73915 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22add a warning group for unavailable decls that mirrors the one forChris Lattner
deprecated decls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73914 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22Rework the way we track which declarations are "used" duringDouglas Gregor
compilation, and (hopefully) introduce RAII objects for changing the "potentially evaluated" state at all of the necessary places within Sema and Parser. Other changes: - Set the unevaluated/potentially-evaluated context appropriately during template instantiation. - We now recognize three different states while parsing or instantiating expressions: unevaluated, potentially evaluated, and potentially potentially evaluated (for C++'s typeid). - When we're in a potentially potentially-evaluated context, queue up MarkDeclarationReferenced calls in a stack. For C++ typeid expressions that are potentially evaluated, we will play back these MarkDeclarationReferenced calls when we exit the corresponding potentially potentially-evaluated context. - Non-type template arguments are now parsed as constant expressions, so they are not potentially-evaluated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73899 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22Changes made per Doug's comments.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73897 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22Remove ImplicitMustBeDefined, use universal 'Used' flagFariborz Jahanian
instead. Do the implicit default ctor checking in MarkDeclarationReferenced. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73888 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22Addressing Doug's suggestions:Argyrios Kyrtzidis
-Added comment for FunctionDecl::EndRangeLoc -Removed a redundant check from FunctionDecl::setBody git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73886 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22Fixed text of a diagnostics.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73885 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-22Allow CodeTextRegion to be cast to 'void *'.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73880 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-21Renamed Protocol as TheProtocol so people can use clang header forFariborz Jahanian
building obj-c++ clients. "Protocol" is a class name in Cocoa.h git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73854 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-21Return UnknownVal for pointer arithmetic on struct fields.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73851 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-20Made improvements in c++'s object model patch on Doug's review.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73833 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-20Slight modification to column checking inside SourceManager::getLocation().Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73826 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-20Add the license part to the new source files.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73825 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-20Introduce SourceManager::getLocation() to get a source location out of a ↵Argyrios Kyrtzidis
"file:line:column" triplet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73823 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-20Serialize FunctionDecl's EndRangeLoc out to the PCH file.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73822 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-20Introduce Decl::getSourceRange() which, like Stmt::getSourceRange(), ↵Argyrios Kyrtzidis
represents the range that the declaration covers. Add initial support for NamespaceDecl, VarDecl, and FunctionDecl: -NamespaceDecl range is from name to '}' -VarDecl is from name to possible init expression -FunctionDecl is from name to last parameter name or to end of its function body. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73821 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-20Add operator '<=' for comparing SourceLocations.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73820 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-20Introduce the ASTUnit class.Argyrios Kyrtzidis
ASTUnit is a helper class to allow easy loading of an ASTContext from a PCH file. No users for now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73819 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-20Parsing and AST support for using declarations, from John Thompson!Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73812 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-20Add -fblocksDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73804 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-20Added writing and reading of the ConstQualAdded flag ofFariborz Jahanian
BlockDeclRefExpr to PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73800 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-19Keep track of when declarations are "used" according to C andDouglas Gregor
C++. This logic is required to trigger implicit instantiation of function templates and member functions of class templates, which will be implemented separately. This commit includes support for -Wunused-parameter, printing warnings for named parameters that are not used within a function/Objective-C method/block. Fixes <rdar://problem/6505209>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73797 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-19Use QualType to represent block's implicit return type asFariborz Jahanian
to not lose its 'const/volatile' qualifier. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73795 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-19Patch for implementation of C++'s object model. This isFariborz Jahanian
work in progress. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73782 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-19Remove more GetSVal/GetLValue methods in GRExprEngine/GRState, insteadTed Kremenek
preferring to use their replacements in GRState. This further unifies the code paths for such logic and leads to some code reduction. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73771 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-19Fix bug in the new PCHReader constructor. PP and Context should be ↵Argyrios Kyrtzidis
initialized to 0. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73762 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-19Tiny correction on the command-line source location parser.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73758 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-19A further step of r73690: associate the cast-to type with the created symbol,Zhongxing Xu
because the type of the symbol is used to create the default range. We need the sign to be consistent. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73756 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-19If the SymbolicRegion was cast to another type, use that type to create the Zhongxing Xu
ElementRegion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73754 91177308-0d34-0410-b5e6-96231b3b80d8