- Nov 30, 2009
-
-
Daniel Dunbar authored
Don't try to generate common globals for C++ files, instead of depending on the FE to set NoCommon, and simplify CodeGenOptions initialization. llvm-svn: 90119
-
Eli Friedman authored
llvm-svn: 90105
-
- Nov 29, 2009
-
-
Daniel Dunbar authored
llvm-svn: 90098
-
Daniel Dunbar authored
llvm-svn: 90095
-
Daniel Dunbar authored
llvm-svn: 90094
-
Benjamin Kramer authored
llvm-svn: 90087
-
Alexis Hunt authored
function names outside of templates - they'll probably cause some damage there as they're largely untested. llvm-svn: 90064
-
Daniel Dunbar authored
llvm-svn: 90052
-
Daniel Dunbar authored
llvm-svn: 90051
-
- Nov 28, 2009
-
-
Benjamin Kramer authored
llvm-svn: 90044
-
Eli Friedman authored
llvm-svn: 90026
-
Eli Friedman authored
GetCXXBaseClassOffset to actually pass the test. llvm-svn: 90025
-
Anders Carlsson authored
We always want to create a virtual function pointer entry if the path from the derived return value to the base overridden return value contains a virtual base class. llvm-svn: 90024
-
- Nov 27, 2009
-
-
Anders Carlsson authored
llvm-svn: 90021
-
Anders Carlsson authored
llvm-svn: 90017
-
Eli Friedman authored
AggExprEmitter::VisitCastExpr. llvm-svn: 89988
-
Eli Friedman authored
implement it explicitly or assert that it doesn't make sense for a scalar. This caught a couple interesting issues: one, CK_BaseToDerivedMemberPointer casts were getting silently miscompiled, and two, Sema was constructing some strange implicit casts of type CK_UserDefinedConversion. The change in SemaExprCXX makes sure the cast kinds are getting set correctly. llvm-svn: 89987
-
Eli Friedman authored
llvm-svn: 89986
-
Eli Friedman authored
we check whether the vtable needs to be generated. llvm-svn: 89984
-
- Nov 26, 2009
-
-
Anders Carlsson authored
llvm-svn: 89965
-
Anders Carlsson authored
Make the pure virtual methods map a set instead. llvm-svn: 89961
-
Benjamin Kramer authored
llvm-svn: 89947
-
Eli Friedman authored
llvm-svn: 89945
-
Eli Friedman authored
llvm-svn: 89944
-
Eli Friedman authored
operators, and destructors. Avoids generating declarations/definitions of trivial constructors/destructors, and makes sure the trivial copy assignment operator is generated when necessary. llvm-svn: 89943
-
Eli Friedman authored
llvm-svn: 89938
-
Anders Carlsson authored
llvm-svn: 89935
-
Eli Friedman authored
instead of checking explicitly for an EnumConstantDecl. This folds references to constant integer VarDecls, which has two benefits: 1. Slightly smaller emitted code from emitting a constant instead of a load, and skipping emitting some constant globals. 2. Some code forgets to define static constant member variables; emitting a load instead of the value in that case leads to a link error. (Such programs are technically not well-formed, but in practice build with g++.) llvm-svn: 89934
-
Anders Carlsson authored
llvm-svn: 89933
-
Eli Friedman authored
internal linkage. Fixes PR5433. llvm-svn: 89931
-
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
-