aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2010-07-01Add Sema test case for exception-specifiers implicitly added to destructors.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107395 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Remove unnecessary ASTContext parameter fromDouglas Gregor
CXXRecordDecl::getDestructor(); no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107394 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01ExplodedGraph never uses ASTContext, remove it.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107388 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01fix rdar://8147692 - yet another crash due to my abi work.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107387 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Reinstate fix for PR7526, which was failing because, now that weDouglas Gregor
aren't dropping all exception specifications on destructors, the exception specifications on implicitly-declared destructors were detected as being wrong (which they were). Introduce logic to provide a proper exception-specification for implicitly-declared destructors. This also fixes PR6972. Note that the other implicitly-declared special member functions also need to get exception-specifications. I'll deal with that in a subsequent commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107385 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Update diagnostic on compatibility page to reflect realityDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107382 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01When performing copy initialization via user-defined conversions,Douglas Gregor
don't allow two user-defined conversions. Fixes PR6595 (again). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107379 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Revert r107374, which broke bootstrap.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107378 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01When building the type of a destructor, make sure to keep theDouglas Gregor
exception specification. Fixes PR7526. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107374 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Extend the "cannot convert from base class pointer to derived classDouglas Gregor
pointer" diagnostic to handle references, too. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107372 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Driver: .dSYM suffix should be appended, not replace the existing suffix.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107369 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Driver/IRgen: Add support for -momit-leaf-frame-pointer.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107367 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107364 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Add test case that I forgot to commit with r107354 (the implementationDouglas Gregor
of C++ DR481). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107359 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Be a bit more careful with undefined CXXRecordDecls. FixesDouglas Gregor
rdar://problem/8124080 and PR7118. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107358 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Revert "IRgen: Make sure any prolog instructions get debug info.", the lexicalDaniel Dunbar
scope hasn't been set up yet so this isn't valid. It was just a cleanup to the IR, so I'm going to ignore it for now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107356 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01Implement C++ DR481, which clarifies that the scope of templateDouglas Gregor
parameters starts at the end of the template-parameter rather than at the point where the template parameter name is encounted. For example, given: typedef unsigned char T; template<typename T = T> struct X0 { }; The "T" in the default argument refers to the typedef of "unsigned char", rather than referring to the newly-introduced template type parameter 'T'. Addresses <rdar://problem/8122812>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107354 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30Driver/Darwin: Add one -L for the DarwinClang toolchain to point into the gccDaniel Dunbar
library directory, as we still rely on a few libraries that are hiding there (in particular libstdc++.dylib). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107353 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30Improve diagnostic when we fail to pick an overload because it wouldDouglas Gregor
require a base-to-derived pointer conversion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107349 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30Fix vector literal/cast confusion - bug 6895.John Thompson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107347 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30Wording tweak from Dan.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107344 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30Wording tweak from Dan.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107343 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30typo.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107342 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30Runtime: Always build compiler-rt using the Clang we just built, instead of theDaniel Dunbar
system CC. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107328 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30Move lib/Runtime to runtime/, and build after everything else.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107327 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30Remove redundant and incomplete bits from the users manual w.r.t. language ↵Douglas Gregor
conformance git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107326 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30New language-compatibility page, including language-compatibility ↵Douglas Gregor
information for the various language dialects Clang supports in a single, easy-to-find page git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107325 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30libclang: When invoking external clang process to get code completion results,Daniel Dunbar
pass -ccc-clang-cxx to force C++ support (even if the binary was built without it). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107324 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30IRgen: Fix debug info regression in r106970; when we eliminate the return valueDaniel Dunbar
store make sure to move the debug metadata from the store (which is actual 'return' statement location) to the return instruction (which otherwise would have the function end location as its debug info). - Tested by gdb test suite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107322 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30IRgen: Make sure any prolog instructions get debug info.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107320 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30Rewriter: Use the appropriate printing context instead of the defaultDaniel Dunbar
constructed one -- this is necessary to ensure types get printed correctly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107312 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30AST: Propogate printing policy to types in a bunch more places.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107311 91177308-0d34-0410-b5e6-96231b3b80d8