Commit Graph

10391 Commits

Author SHA1 Message Date
Benjamin Kramer 62ab616666 Return bool as a bool instead of a uint64_t.
llvm-svn: 90610
2009-12-04 22:45:27 +00:00
Anders Carlsson cfb65d7432 Be a little more clever about inline member functions that are marked inline in the inline class declaration but not in the actual definition:
class A {
  inline void f();
}

void A::f() { }

This is not the most ideal solution, since it doesn't work 100% with regular functions (as my FIXME comment states).

llvm-svn: 90607
2009-12-04 22:35:50 +00:00
Anders Carlsson 1f78b2bf62 Diagnose declarations of implicit member functions.
llvm-svn: 90605
2009-12-04 22:33:25 +00:00
Daniel Dunbar acd6957b59 Driver: Switch -ccc-* options to using the standard options functionality.
- I still want to get rid of them, but manually handling them isn't adding value.

llvm-svn: 90602
2009-12-04 21:55:23 +00:00
John Thompson 47981226d5 Fix for PR5650 - Revised vector_size attribute handling to be done earlier before declaration is finalized.
llvm-svn: 90600
2009-12-04 21:51:28 +00:00
Steve Naroff b0e3390f53 Integrate the following from the 'objective-rewrite' branch:
http://llvm.org/viewvc/llvm-project?view=rev&revision=70978

llvm-svn: 90597
2009-12-04 21:36:32 +00:00
Steve Naroff f0df20a5ba Integrate the following from the 'objective-rewrite' branch:
http://llvm.org/viewvc/llvm-project?view=rev&revision=70926

llvm-svn: 90596
2009-12-04 21:29:41 +00:00
Steve Naroff 3ce3af2cb6 Integrate the following from the 'objective-rewrite' branch:
http://llvm.org/viewvc/llvm-project?view=rev&revision=70922

llvm-svn: 90595
2009-12-04 21:18:19 +00:00
Alexis Hunt 9b3a395bf3 Put in FIXME that this mangling is not official in.
llvm-svn: 90594
2009-12-04 21:11:13 +00:00
Daniel Dunbar 78e9de56f4 OptTable: Allow option groups to be used to define "help groups", which will
collate the options inside that group.

llvm-svn: 90592
2009-12-04 21:08:40 +00:00
Daniel Dunbar 250bd17374 OptParser: Add HelpHidden flag.
llvm-svn: 90591
2009-12-04 21:08:25 +00:00
Alexis Hunt bf2f0c2e34 Switch mangling of literal operator names to a string that's
a) legal
 b) likely to be chosen as the official mangling

This will break ABI compatibility with all literal operator names,
so you may need to recompile any such code. Sorry.

llvm-svn: 90587
2009-12-04 21:01:37 +00:00
Mike Stump afe4764fa5 Be sure to instantiate rtti for non-polymorphic bases.
llvm-svn: 90586
2009-12-04 20:55:13 +00:00
Ted Kremenek 45805b9a50 Teach AnalysisContext::getBody() about BlockDecls.
llvm-svn: 90585
2009-12-04 20:34:55 +00:00
Ted Kremenek ed2246aa2a Teach 'ExecutionContinues' (part of BugReporter's diagnostic generation) about BlockDecls.
llvm-svn: 90584
2009-12-04 20:34:31 +00:00
Ted Kremenek 75d6fa27bd Include BlockDeclRefExprs in constructed CFGs.
llvm-svn: 90583
2009-12-04 20:33:25 +00:00
Ted Kremenek c32f2c2e0f Replace SymbolReaper::isLive(VarDecl) with SymbolReaper::isLive(VarRegion).
llvm-svn: 90582
2009-12-04 20:32:20 +00:00
Anders Carlsson ce460529c0 When generating a virtual destructor, don't try to make a virtual call to the base class destructor because then we'll just re-enter the same destructor!
This was done to fix PR5619, so I went ahead and passed a dummy VTT pointer for now.

llvm-svn: 90578
2009-12-04 19:33:17 +00:00
Rafael Espindola 73d4637545 Add gcc's -no-canonical-prefixes option to clang.
llvm-svn: 90577
2009-12-04 19:31:58 +00:00
Mike Stump 875912ac13 Fixup nested try blocks.
llvm-svn: 90576
2009-12-04 19:21:57 +00:00
Mike Stump 5c820758f5 Fix warning and be sure to set up the rethrow pointer if we fall off
the end of all the catches.

llvm-svn: 90574
2009-12-04 19:03:47 +00:00
Anders Carlsson bad80eb792 Rename 'Class' to 'MostDerivedClass'
llvm-svn: 90573
2009-12-04 18:36:22 +00:00
Anders Carlsson 19462d681a Store the vtable components in a SmallVector.
llvm-svn: 90571
2009-12-04 16:24:46 +00:00
Anders Carlsson 4e1d75f3ed Use a different ConstantArray::get.
llvm-svn: 90570
2009-12-04 16:22:27 +00:00
Anders Carlsson 472404f8a6 Move the vtable vector directly into the Vtable builder.
llvm-svn: 90569
2009-12-04 16:19:30 +00:00
Anders Carlsson 7bb7076b51 Change getIndex to return false if the index wasn't found. Avoids an extra hash lookup.
llvm-svn: 90568
2009-12-04 15:49:02 +00:00
Eli Friedman 65d87222b2 Minor cleanup; no functionality change.
llvm-svn: 90565
2009-12-04 08:52:11 +00:00
Eli Friedman 81fb0d2656 Remove unused argument.
llvm-svn: 90563
2009-12-04 08:40:51 +00:00
Eli Friedman c07aebee90 Eliminate submethods vector.
llvm-svn: 90562
2009-12-04 08:36:58 +00:00
Eli Friedman 3d2e9de337 Eliminate the inner loop in VtableBuilder::OverrideMethod.
llvm-svn: 90561
2009-12-04 08:34:14 +00:00
Daniel Dunbar 20c13165a0 PR5684: Fix refacto, the backend consumer was copying the Diagnostic object,
which meant that hasErrorOccurred() checks to prevent codegen-on-invalid weren't
working.

llvm-svn: 90560
2009-12-04 08:17:40 +00:00
Daniel Dunbar 644dca07b9 ASTUnit/CIndex: Explicitly track the top-level decls when using an ASTUnit made
from a source file.
 - This allows CIndex to avoid iterating over all the top-level decls when using
   a PCH, which means we deserialize far fewer decls.

llvm-svn: 90559
2009-12-04 08:17:33 +00:00
Eli Friedman 78cde14444 Make sure to call PerformObjectMemberConversion where necessary.
llvm-svn: 90555
2009-12-04 07:18:51 +00:00
Chris Lattner 2474a7e9c2 Use PresumedLoc when emitting the 'included from' diagnostics. For a malformed
test like this:

#line 4 "foo"

#define XX ?

#if XX
#endif

We now emit:

In file included from t.c:7:
foo:7:5: error: invalid token at start of a preprocessor expression
#if XX
    ^
foo:5:12: note: instantiated from:
#define XX ?
           ^

instead of:

In file included from t.c:7:
foo:7:5: error: invalid token at start of a preprocessor expression
#if XX
    ^
./t.h:6:12: note: instantiated from:
#define XX ?
           ^

(where the note doesn't obey #line or print the include stack when needed).

This fixes PR5617

llvm-svn: 90554
2009-12-04 07:06:35 +00:00
Ted Kremenek 6e8541ddd0 Rename instance variable to avoid name conflict with parameters, and modify addTransition() to compare the correct state values.
llvm-svn: 90552
2009-12-04 06:57:49 +00:00
Eli Friedman 3de20c55e9 Missed change from last commit.
llvm-svn: 90550
2009-12-04 06:46:54 +00:00
Eli Friedman 2cfcef65b7 Make the type of the Decl referred to by a MemberExpr a bit more precise.
llvm-svn: 90549
2009-12-04 06:40:45 +00:00
Anders Carlsson 5c9e7b16a5 Correctly mangle the 'std' namespace inside extern "C++" blocks.
llvm-svn: 90544
2009-12-04 06:23:23 +00:00
Chris Lattner 6aab73137a minor tidy.
llvm-svn: 90543
2009-12-04 06:14:03 +00:00
Anders Carlsson f3935b4d4b Make sure that overridden method decls are always canonical.
llvm-svn: 90542
2009-12-04 05:51:56 +00:00
Eli Friedman 94bc2dade6 Fix regression in vtable improvements.
llvm-svn: 90540
2009-12-04 04:30:03 +00:00
Mike Stump 8c1253b4c2 Try/catch statements seem to be working well enough to turn on.
llvm-svn: 90538
2009-12-04 03:57:07 +00:00
Mike Stump 2ab55765f7 Disable for now, doesn't play nice with the temporary code.
llvm-svn: 90537
2009-12-04 03:55:53 +00:00
Eli Friedman b05eb963e0 Rename method to something easier to search for.
llvm-svn: 90536
2009-12-04 03:54:56 +00:00
Anders Carlsson a93e980fbc More work in preparation of getting rid of the submethods loop.
llvm-svn: 90535
2009-12-04 03:52:52 +00:00
Anders Carlsson f2f31f4371 Remove an unused member variable.
llvm-svn: 90534
2009-12-04 03:46:21 +00:00
Anders Carlsson e609636e0d Add a way to get the index of a method. Assert that we have the same index for now.
llvm-svn: 90533
2009-12-04 03:41:37 +00:00
Anders Carlsson b07567c315 Add a premature optimization.
llvm-svn: 90532
2009-12-04 03:07:26 +00:00
Anders Carlsson 50f147460a Add the method directly to the vtable.
llvm-svn: 90531
2009-12-04 03:06:03 +00:00
Anders Carlsson 79bce40365 Get rid of the PureVirtualMethods map.
llvm-svn: 90530
2009-12-04 02:58:12 +00:00