aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-07-03Provide convenience routines to save and restore the current insertionJohn McCall
point. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107570 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-03Fix mangling of array dimensions in the Microsoft C++ Mangler.Charles Davis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107568 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-03Mangle member pointer types in the Microsoft C++ Mangler.Charles Davis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107567 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-03When setting the anonymous namespace at PCH reading, it may still be ↵Argyrios Kyrtzidis
initializing so avoid the invariant checks at NamespaceDecl::setAnonymousNamespace(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107566 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-03Fix mangling of function pointers in the Microsoft C++ Mangler.Charles Davis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107564 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-03Forward -fno-builtin to clang, add .cp as a supportedShantonu Sen
extension if you otherwise configure scan-build to do c++ static analysis. OKed by Ted git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107562 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-03Fix mangling of array parameters for functions in the Microsoft C++ Mangler.Charles Davis
Only actual functions get mangled correctly; I don't know how to fix it for function pointers yet. Thanks to John McCall for the hint. Also, mangle anonymous tag types. I don't have a suitable testcase yet; I have a feeling that that's going to need support for static locals, and I haven't figured out exactly how MSVC's scheme for mangling those works. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107561 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-03Lazily declare default constructors. We now delay the construction ofDouglas Gregor
declarations for implicit default constructors, copy constructors, copy assignment operators, and destructors. On a "simple" translation unit that includes a bunch of C++ standard library headers, we generate relatively few of these implicit declarations now: 4/159 implicit default constructors created 18/236 implicit copy constructors created 70/241 implicit copy assignment operators created 0/173 implicit destructors created And, on this translation unit, this optimization doesn't really provide any benefit. I'll do some more performance measurements soon, but this completes the implementation work for <rdar://problem/8151045>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107551 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Lazily declare implicit copy constructors.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107543 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Read/write CastExpr's CXXBaseSpecifierArray for PCH.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107542 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Fix broken PCH support for CXXDefaultArgExpr.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107541 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Introduce a new routine, LookupConstructors(), and use it for allDouglas Gregor
constructor-name lookup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107536 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Lazily declare copy-assignment operators.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107521 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Make RecursiveASTVisitor traverse function parameter types in a functionZhanyong Wan
prototype declaration. Reviewed by chandlerc and csilvers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107511 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Lazily declare the implicitly-declared destructor in a C++ class.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107510 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Don't visit implicitly defined functions (default constructors and theCraig Silverstein
like). Our goal with this visitor is to visit exactly what people type. Reviewed by chandlerc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107497 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Move the "current scope" state from the Parser into Action. ThisDouglas Gregor
allows Sema some limited access to the current scope, which we only use in one way: when Sema is performing some kind of declaration that is not directly driven by the parser (e.g., due to template instantiatio or lazy declaration of a member), we can find the Scope associated with a DeclContext, if that DeclContext is still in the process of being parsed. Use this to make the implicit declaration of special member functions in a C++ class more "scope-less", rather than using the NULL Scope hack. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107491 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02By default, warn about commas at the end of an enumerator list in C++/C89.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107485 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Handle CXXConstructorDecl, CXXDestructorDecl, and CXXConversionDecl for PCH.Argyrios Kyrtzidis
<vector> header can be used correctly through PCH now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107483 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Provide some test cases for C++ PCH.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107479 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Disable Decl::CheckAccessDeclContext() temporarily.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107478 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Fix reading FunctionDecls from PCH.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107477 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Fix reading ClassTemplateDecl's ClassTemplateSpecializationDecls and ↵Argyrios Kyrtzidis
ClassTemplatePartialSpecializationDecls. Store/read also their template arguments because they may be initializing and not be able to provide them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107476 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Fully read/write CXXRecordDecl for PCH.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107475 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Fix reading of DependentNameType.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107474 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Allow reading of InjectedClassNameType from PCH even when its decl is ↵Argyrios Kyrtzidis
currently initializing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107473 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Fix broken reading of member pointer from PCH.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107472 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02- Allow a typedef type to be read from PCH even if its decl is currently ↵Argyrios Kyrtzidis
initializing. - Fix creation of TemplateSpecializationType. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107471 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Fix broken reading of "#lines" from PCH.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107470 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Generally types expect an initialized TypeDecl; its safer and less ↵Argyrios Kyrtzidis
complicated to delay PCH reading the type of a TypeDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107469 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Add some side-effect free Create methods for TypeDecl subclasses and use ↵Argyrios Kyrtzidis
them for PCH reading. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107468 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Create a ASTUnitTU class to interface ASTUnit to the Indexer.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107467 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02add -analyze-function option.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107463 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02add -view-call-graph option to wpa.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107462 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-02Change CallGraph::Prog to be a reference. idx::Program means to be a global ↵Zhongxing Xu
object to the Index library. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107461 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Handle typedef function declarations correctly, such asCraig Silverstein
typedef int (*Myfunc)(int); Myfunc func; Reviewed by chandlerc git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107450 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Add a new routine Sema::LookupDestructor and make all destructor-lookup ↵Douglas Gregor
calls use that routine git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107444 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Provide exception specifications for implicitly-declared default constructors.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107437 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Move the implicit declaration of a default constructor into a separateDouglas Gregor
routine; no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107434 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Provide exception specifications for implicitly-declared copy constructors.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107429 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01MC: Pass the target instance to the AsmParser constructor.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107427 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Fix PR 7475 by enhancing the static analyzer to also invalidate bindings for ↵Ted Kremenek
non-static global variables when calling a function/method whose impact on global variables we cannot accurately estimate. This change introduces two new MemSpaceRegions that divide up the memory space of globals, and causes RegionStore and BasicStore to consult a binding to the NonStaticGlobalsMemSpaceRegion when lazily determining the value of a global. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107423 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Add an ivar to SymbolReaper for the current statement, and then stop passing ↵Jordy Rose
the current statement around everywhere. Preparation for symbolic extents. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107422 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Test implicit declaration of copy assignment operator with non-const argumentDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107421 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Move the implicit declaration of a constructor out to a separateDouglas Gregor
method. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107415 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Teach DeclareImplicitCopyConstructor how to cope with virtual basesDouglas Gregor
and multi-dimensional array fields. Fixes several bugs found by inspection. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107411 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Move declaration of a class's implicit copy constructor into aDouglas Gregor
separate function. Aside from making the loops infinitely faster, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107407 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Provide an exception-specification for an implicitly-declaredDouglas Gregor
copy-assignment operator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107406 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Move the implicit declaration of a class's copy-assignment operatorDouglas Gregor
into a separate routine. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107402 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Make loops infinitely faster. No functionality change.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107398 91177308-0d34-0410-b5e6-96231b3b80d8