- Nov 26, 2009
-
-
Anders Carlsson authored
llvm-svn: 89930
-
Anders Carlsson authored
Add a ThunkAdjustment struct which holds a non-virtual and a virtual adjustment offset. Start using it. General cleanup in Mangle.cpp. llvm-svn: 89925
-
- Nov 25, 2009
-
-
Devang Patel authored
llvm-svn: 89867
-
Anders Carlsson authored
llvm-svn: 89835
-
Douglas Gregor authored
statements, e.g., for(; X x = X(); ) { ... } Daniel or Anders, please review! llvm-svn: 89832
-
Douglas Gregor authored
All statements that involve conditions can now hold on to a separate condition declaration (a VarDecl), and will use a DeclRefExpr referring to that VarDecl for the condition expression. ForStmts now have such a VarDecl (I'd missed those in previous commits). Also, since this change reworks the Action interface for if/while/switch/for, use FullExprArg for the full expressions in those expressions, to ensure that we're emitting Note that we are (still) not generating the right cleanups for condition variables in for statements. That will be a follow-on commit. llvm-svn: 89817
-
- Nov 24, 2009
-
-
Douglas Gregor authored
cleanups for while loops: 1) Make sure that we destroy the condition variable of a while statement each time through the loop for, e.g., while (shared_ptr<WorkInt> p = getWorkItem()) { // ... } 2) Make sure that we always enter a new cleanup scope for the body of the while loop, even when there is no compound expression, e.g., while (blah) RAIIObject raii(blah+1); llvm-svn: 89800
-
Anders Carlsson authored
With this change, the clang-on-clang test result is now Expected Passes : 224 Unexpected Failures: 37 Which means that we can compile over 80% of clang with clang! :) llvm-svn: 89799
-
Anders Carlsson authored
Handle cases where we're constructing an array of objects and the constructor has default arguments. llvm-svn: 89783
-
Douglas Gregor authored
make sure that this variable is destroyed when we exit the switch statement. llvm-svn: 89776
-
Anders Carlsson authored
We always need to emit the base expression of a member expression, even when the member decl refers to an enum. Thanks to Eli for pointing this out! llvm-svn: 89775
-
Douglas Gregor authored
- Outside the "if", to ensure that we destroy the condition variable at the end of the "if" statement rather than at the end of the block containing the "if" statement. - Inside the "then" and "else" branches, so that we emit then- or else-local cleanups at the end of the corresponding block when the block is not a compound statement. To make adding these new cleanup scopes easier (and since switch/do/while will all need the same treatment), added the CleanupScope RAII object to introduce a new cleanup scope and make sure it gets cleaned up. llvm-svn: 89773
-
Douglas Gregor authored
llvm-svn: 89769
-
Anders Carlsson authored
llvm-svn: 89742
-
Anders Carlsson authored
llvm-svn: 89741
-
Anders Carlsson authored
llvm-svn: 89737
-
Anders Carlsson authored
It is common for vtables to contain pointers to functions that have either incomplete return types or incomplete argument types. Handle this by returning the llvm::OpaqueType for those cases, which CodeGenModule::GetOrCreateLLVMFunction knows about, and treats as being an "incomplete function". llvm-svn: 89736
-
Douglas Gregor authored
rather than burying it in a CXXConditionDeclExpr (that occassionally hides behind implicit conversions). Similar changes for switch, while, and do-while will follow, then the removal of CXXConditionDeclExpr. This commit is the canary. llvm-svn: 89717
-
- Nov 23, 2009
-
-
Anders Carlsson authored
llvm-svn: 89705
-
Anders Carlsson authored
llvm-svn: 89692
-
Anders Carlsson authored
llvm-svn: 89678
-
Douglas Gregor authored
llvm-svn: 89649
-
Daniel Dunbar authored
llvm-svn: 89633
-
Daniel Dunbar authored
- Ideally we would have an single iteration interface for this, but this works for now. llvm-svn: 89632
-
- Nov 22, 2009
-
-
Anders Carlsson authored
llvm-svn: 89613
-
Anders Carlsson authored
llvm-svn: 89569
-
- Nov 21, 2009
-
-
Fariborz Jahanian authored
type and fixes a long-standing code gen. crash reported in at least two PRs and a radar. (radar 7405040 and pr5025). There are couple of remaining issues that I would like for Ted. and Doug to look at: Ted, please look at failure in Analysis/MissingDealloc.m. I have temporarily added an expected-warning to make the test pass. This tests has a declaration of 'SEL' type which may not co-exist with the new changes. Doug, please look at a FIXME in PCHWriter.cpp/PCHReader.cpp. I think the changes which I have ifdef'ed out are correct. They need be considered for in a few Indexer/PCH test cases. llvm-svn: 89561
-
Daniel Dunbar authored
- Several important FIXMEs related to whether arguments are expressions or external names, and the mangling of extern "C" names (c.f., PR5522). llvm-svn: 89556
-
Daniel Dunbar authored
- Sometimes we have to mangle things we wouldn't normally (e.g., because they appear in a template expression). - This also tidies up the predicate to be more obvious what is getting mangled. llvm-svn: 89555
-
Daniel Dunbar authored
Mangler: Strengthen invariants, MangleContext::mangleName should only be called on var or function decls. llvm-svn: 89554
-
Daniel Dunbar authored
Mangler: Inline a bunch of functions into their sole caller, not that I don't love typing for typings sake, but... llvm-svn: 89553
-
Daniel Dunbar authored
llvm-svn: 89551
-
Daniel Dunbar authored
llvm-svn: 89550
-
Daniel Dunbar authored
llvm-svn: 89549
-
Daniel Dunbar authored
instead of requiring clients to make a raw_svector_ostream, which is just an implementation detail. llvm-svn: 89548
-
Daniel Dunbar authored
llvm-svn: 89547
-
Daniel Dunbar authored
llvm-svn: 89545
-
Alexis Hunt authored
The following attributes are currently supported in C++0x attribute lists (and in GNU ones as well): - align() - semantics believed to be conformant to n3000, except for redeclarations and what entities it may apply to - final - semantics believed to be conformant to CWG issue 817's proposed wording, except for redeclarations - noreturn - semantics believed to be conformant to n3000, except for redeclarations - carries_dependency - currently ignored (this is an optimization hint) llvm-svn: 89543
-
Mike Stump authored
llvm-svn: 89513
-
- Nov 20, 2009
-
-
Anders Carlsson authored
llvm-svn: 89467
-