aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
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-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-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-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
2009-06-19Make changes to PCHReader to allow reading a PCH file without having a ↵Argyrios Kyrtzidis
pre-initialized Preprocessor. -Introduce 'PCHReaderListener' which is an abstract interface for getting various information from the PCHReader. -If PCHReader is constructed without a Preprocessor, it can still load the file and invoke the callbacks of PCHReaderListener. -If PCHReader is constructed with an initialized Preprocessor, PCHValidator is used as a PCHReaderListener to validate the contents of the PCH file against the given Preprocessor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73741 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-18Move clients over from using GRStateManager::BindXXX and friends toTed Kremenek
GRState->bindXXX and friends (and constify some arguments along the way). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73740 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-18Remove GRStateManager& field from SimpleConstraintManager.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73735 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-18libAnalysis:Ted Kremenek
- Remove the 'isFeasible' flag from all uses of 'Assume'. - Remove the 'Assume' methods from GRStateManager. Now the only way to create a new GRState with an assumption is to use the new 'assume' methods in GRState. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73731 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-18Some cleanups suggested by ChrisDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73713 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-18Move the static DeclAttrs map into ASTContext. Fixes <rdar://problem/6983177>.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73702 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-18Add some missing CMake dependenciesDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73700 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-18When casting region, if we do not create an element region, record the cast-to Zhongxing Xu
type. When retrieving the region value, if we are going to create a symbol value, use the cast-to type if possible. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73690 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-18Fix a crash that can occur when a #pragma handler eats to the end of theChris Lattner
line, and when the pragma is at the end of a file. In this case, the last token consumed could pop the lexer, invalidating CurPPLexer. Thanks to Peter Thoman for pointing it out. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73689 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-18Remove GRStateRef.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73670 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-18Remove more dependencies on GRStateRef. As a consequence, we can nowTed Kremenek
pretty-print a GRState object anywhere it is referenced (instead of needing a GRStateRef of a GRStateManager handy). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73669 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-18Remove another dependency on GRStateRef.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73667 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-17Diagnose class members that shadow a template parameter. FixesDouglas Gregor
<rdar://problem/6952203>. To do this, we actually remove a not-quite-correct optimization in the C++ name lookup routines. We'll revisit this optimization for the general case once more C++ is working. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73659 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-17Fix some erroneous comments due to trigger-happy copy&paste.Argyrios Kyrtzidis
No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73657 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-17Factor out some common code into ↵Argyrios Kyrtzidis
Sema::EnterDeclaratorContext/ExitDeclaratorContext. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73655 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-17Implement correct name lookup inside an initializer of a C++ class static ↵Argyrios Kyrtzidis
data member. Fixes "test/CXX/basic/basic.lookup/basic.lookup.unqual/p13.cpp" test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73652 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-17Move CXXMethodDecl::OutOfLineDefinition into Decl::OutOfLine.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73651 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-17Removed deadcode related to addition of constructorFariborz Jahanian
decls to a class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73650 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-17First step toward fixing <rdar://problem/6613046> refactor clang objc type ↵Steve Naroff
representation. Add a type (ObjCObjectPointerType) and remove a type (ObjCQualifiedIdType). This large/tedious patch is just a first step. Next step is to remove ObjCQualifiedInterfaceType. After that, I will remove the magic TypedefType for 'id' (installed by Sema). This work will enable various simplifications throughout clang (when dealing with ObjC types). No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73649 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-17Remove more uses of GRStateRef.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73648 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-17Start moving in the direction of removing GRStateRef. Now eachTed Kremenek
GRState object has a direct reference to its GRStateManager, making the functionality of GRStateRef redunandant. This will lead to some nice API cleanup and code shrinking across libAnalysis. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73644 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-17Support dependent extended vector types and template instantiationDouglas Gregor
thereof. Patch by Anders Johnsen! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73641 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-17Search path for 64-bit Ubuntu Linux, from Anders JohnsenDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73637 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-17Diagnose the use of attributes on namespace aliases, from Anis AhmadDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73626 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-17Update clang for the add ->add/fadd split. Likewise for sub and mul.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73604 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16Stub out printing of the thread model with -v.Daniel Dunbar
- Turns out libstdcxx greps for this in configure. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73582 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16Fake support for -print-multi-*Daniel Dunbar
- I think we will eventually need to support this for realz, and some build processes seem to depend on these options. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73581 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16Since integral template arguments can't have dependent types we don't need ↵Anders Carlsson
an extra pass to set the right APSInt bit width/signedness. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73580 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16Make DeduceNonTypeTemplateArgument take an APSInt instead of an APInt.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73574 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16RegionStoreManager:Ted Kremenek
- Add "sections" to RegionStoreManager.cpp to delineate functionality. - Add new function "CreateFieldsOnlyRegionStoreManager" that uses the new RegionStoreFeatures class to use a reduced set of features from RegionStoreManager (in this case, only field-sensitivity). This isn't completely hooked up yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73572 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16Fix typo in prev commit.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73556 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16Darwin/Driver: Also look at -arch command line options when finding the defaultDaniel Dunbar
tool chain. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73555 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16Update Clang to include the InitializeAllTargets andDouglas Gregor
InitializeAllAsmPrinters LLVM headers. Also includes some minor fixes for the CMake-based build with Xcode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73544 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16It is possible that main input file does not have any symbol with debug ↵Devang Patel
info. To handle this edge case, always create main compile unit first. This fixes PR 4228. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73520 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16follow-on to my patch: some targets (like sparc) do notChris Lattner
have target-specific builtins, and do not set the count. Just default to 0 for these targets. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73510 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16Implements -Wundeclared-selector for ObjC.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73495 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16my refactoring of builtins changed target-specific builtins to only beChris Lattner
registered when PCH wasn't being used. We should always install (in BuiltinInfo) information about target-specific builtins, but we shouldn't register any builtin identifier infos. This fixes the build of apps that use PCH and target specific builtins together. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73492 91177308-0d34-0410-b5e6-96231b3b80d8