Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Move VtableBuilder::OverrideMethod out of line in preparation of other ↵ | Anders Carlsson | 2009-12-03 | 1 | -112/+117 | |
| | | | | | | changes to it. No functionality change. llvm-svn: 90382 | |||||
* | Remove untrue statement. | Mike Stump | 2009-12-03 | 1 | -3/+0 | |
| | | | | llvm-svn: 90377 | |||||
* | Note a failure I saw from the g++ testsuite: | Mike Stump | 2009-12-03 | 1 | -0/+1 | |
| | | | | | | FAIL: g++.old-deja/g++.mike/eh23.C (test for excess errors) llvm-svn: 90374 | |||||
* | Work-in-progress: teach mangler how to mangle thunks for destructors. | Eli Friedman | 2009-12-03 | 2 | -3/+16 | |
| | | | | llvm-svn: 90360 | |||||
* | Cleanups on exceptional edges don't work at all, yet. This doesn't | Mike Stump | 2009-12-02 | 1 | -5/+0 | |
| | | | | | | | catch very many of them and if we caught all of them, the errors would be annoying. I'm working on this next. WIP. llvm-svn: 90358 | |||||
* | Add a cleanup scope for each catch clause. | Mike Stump | 2009-12-02 | 1 | -15/+19 | |
| | | | | llvm-svn: 90357 | |||||
* | Add missing branch to exit. Seemingly obvious when I look at the | Mike Stump | 2009-12-02 | 1 | -0/+3 | |
| | | | | | | code, but to track this down was laborious. llvm-svn: 90356 | |||||
* | Fix for PR5522 and PR5666: fix a bunch of mangling issues with extern variables | Eli Friedman | 2009-12-02 | 1 | -11/+25 | |
| | | | | | | and funcctions declared locally within a function. llvm-svn: 90344 | |||||
* | Pull the terminate handler up so that we can use it for the catch | Mike Stump | 2009-12-02 | 1 | -35/+31 | |
| | | | | | | | parameter setup code and set up the catch parameter setup code to protect that code with terminate. llvm-svn: 90340 | |||||
* | Turn off for now. | Mike Stump | 2009-12-02 | 1 | -2/+2 | |
| | | | | llvm-svn: 90339 | |||||
* | Put the Builder classes into the anonymous namespace. | Mike Stump | 2009-12-02 | 2 | -1/+4 | |
| | | | | llvm-svn: 90335 | |||||
* | Change rtti/Rtti to RTTI, as it is an acronym. | Mike Stump | 2009-12-02 | 7 | -39/+40 | |
| | | | | llvm-svn: 90334 | |||||
* | Rename CGRtti.cpp to CGRTTI.cpp. | Mike Stump | 2009-12-02 | 2 | -1/+1 | |
| | | | | llvm-svn: 90331 | |||||
* | Avoid warning for getTerminateFn defined but not used. | Mike Stump | 2009-12-02 | 1 | -9/+3 | |
| | | | | llvm-svn: 90330 | |||||
* | terminate doesn't throw. | Mike Stump | 2009-12-02 | 1 | -0/+1 | |
| | | | | llvm-svn: 90308 | |||||
* | More exception handling improvements... WIP. | Mike Stump | 2009-12-02 | 3 | -47/+112 | |
| | | | | | | | | | | | Highlights include: Add a helper to generate __cxa_free_exception and _ZSt9terminatev. Add a region to handle EH object deallocation for ctor failures for throw. Add a terminate handler for __cxa_end_catch. A framework for adding cleanup actions for the exceptional edges only. llvm-svn: 90305 | |||||
* | Added an assert. | Fariborz Jahanian | 2009-12-01 | 1 | -1/+4 | |
| | | | | llvm-svn: 90285 | |||||
* | Make EmitStoreOfScalar generate a more sane representation of boolean stores. | Eli Friedman | 2009-12-01 | 1 | -6/+1 | |
| | | | | | | "Fixes" PR5645. llvm-svn: 90272 | |||||
* | (objc2 nonfragile-abi specific). If the translation unit includes an ↵ | Fariborz Jahanian | 2009-12-01 | 1 | -11/+10 | |
| | | | | | | | | | implementation of a subclass (direct or indirect) of a weak_import root class, emit a weak reference for the root class's metaclass (should complete radar 6815425). llvm-svn: 90249 | |||||
* | Update for llvm intrinsics change. | Eric Christopher | 2009-12-01 | 1 | -0/+7 | |
| | | | | llvm-svn: 90208 | |||||
* | Much work on try/catch statement. WIP. | Mike Stump | 2009-12-01 | 1 | -69/+250 | |
| | | | | | | | | | | | | | | | | | Highlights include: Fix __cxa_begin_catch so it now returns a value. Added getUnwindResumeOrRethrowFn helper to build up calls to _Unwind_Resume_or_Rethrow. Broke out object copying code into CopyObject from EmitCXXThrowExpr. Built up another version of CopyObject that can copy from memory for use in the catch parameter code. RTTI generation for type matching for catch. Code to check for the type match for catch. Code to generate the catch parameter, WIP, need make sure references and pointers and copy ctors work. llvm-svn: 90205 | |||||
* | Have ASTRecordLayout keep track of the key function, in preparation of ↵ | Anders Carlsson | 2009-11-30 | 5 | -67/+50 | |
| | | | | | | fixing a synthetic ctor/dtor bug. llvm-svn: 90168 | |||||
* | More support for virtual destructor calls. | Fariborz Jahanian | 2009-11-30 | 1 | -15/+26 | |
| | | | | | | Fixes pr5619 llvm-svn: 90158 | |||||
* | Reflow comments and fix 80-col violation. | Mike Stump | 2009-11-30 | 1 | -29/+27 | |
| | | | | llvm-svn: 90152 | |||||
* | Fix an assert. | Anders Carlsson | 2009-11-30 | 1 | -2/+2 | |
| | | | | llvm-svn: 90149 | |||||
* | Don't try to generate common globals for C++ files, instead of depending on ↵ | Daniel Dunbar | 2009-11-30 | 1 | -1/+1 | |
| | | | | | | the FE to set NoCommon, and simplify CodeGenOptions initialization. llvm-svn: 90119 | |||||
* | Minor cleanup (no functionality change). | Eli Friedman | 2009-11-30 | 1 | -23/+12 | |
| | | | | llvm-svn: 90105 | |||||
* | Don't pass false (default) for isVolatile parameter to CreateLoad. | Daniel Dunbar | 2009-11-29 | 5 | -20/+22 | |
| | | | | llvm-svn: 90098 | |||||
* | Explicitly use setVolatile instead of extra IRBuilder argument. | Daniel Dunbar | 2009-11-29 | 1 | -1/+3 | |
| | | | | llvm-svn: 90095 | |||||
* | Don't pass false (default) for isVolatile parameter to CreateStore. | Daniel Dunbar | 2009-11-29 | 1 | -8/+8 | |
| | | | | llvm-svn: 90094 | |||||
* | Simplify code. No functionality change. | Benjamin Kramer | 2009-11-29 | 1 | -22/+6 | |
| | | | | llvm-svn: 90087 | |||||
* | Add DeclarationName support for C++0x operator literals. They should now work as | Alexis Hunt | 2009-11-29 | 1 | -0/+6 | |
| | | | | | | | function names outside of templates - they'll probably cause some damage there as they're largely untested. llvm-svn: 90064 | |||||
* | Change LangOptions::ObjCConstantStringClass to an std::string to avoid ↵ | Daniel Dunbar | 2009-11-29 | 1 | -2/+2 | |
| | | | | | | worrying about the lifetime. llvm-svn: 90052 | |||||
* | Move MainFileName option variable into CodeGenOptions instead of LangOptions. | Daniel Dunbar | 2009-11-29 | 1 | -3/+3 | |
| | | | | llvm-svn: 90051 | |||||
* | Remove remaining VISIBILITY_HIDDEN from anonymous namespaces. | Benjamin Kramer | 2009-11-28 | 7 | -17/+7 | |
| | | | | llvm-svn: 90044 | |||||
* | Tests now pass with the assertion. | Eli Friedman | 2009-11-28 | 1 | -3/+0 | |
| | | | | llvm-svn: 90026 | |||||
* | Add a much more thorough test of casts to virtual bases, and fix | Eli Friedman | 2009-11-28 | 1 | -14/+13 | |
| | | | | | | GetCXXBaseClassOffset to actually pass the test. llvm-svn: 90025 | |||||
* | We always want to create a virtual function pointer entry if the path from ↵ | Anders Carlsson | 2009-11-28 | 1 | -27/+5 | |
| | | | | | | the derived return value to the base overridden return value contains a virtual base class. llvm-svn: 90024 | |||||
* | Move the vtable builder to an anonymous namespace. | Anders Carlsson | 2009-11-27 | 1 | -1/+5 | |
| | | | | llvm-svn: 90021 | |||||
* | Don't build the entire vtable when all we want is the index of a virtual method. | Anders Carlsson | 2009-11-27 | 4 | -19/+251 | |
| | | | | llvm-svn: 90017 | |||||
* | Add case for CK_DerivedToBaseMemberPointer cast kind to | Eli Friedman | 2009-11-27 | 1 | -6/+13 | |
| | | | | | | AggExprEmitter::VisitCastExpr. llvm-svn: 89988 | |||||
* | More work on ScalarExprEmitter::EmitCastExpr: for every cast kind, either | Eli Friedman | 2009-11-27 | 1 | -8/+32 | |
| | | | | | | | | | | | 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 | |||||
* | Cleanup for ScalarExprEmitter::EmitCastExpr; no functional changes. | Eli Friedman | 2009-11-27 | 1 | -15/+19 | |
| | | | | llvm-svn: 89986 | |||||
* | Fix for PR5594: use EmitGlobalDefinition instead of EmitCXXDestructor so that | Eli Friedman | 2009-11-27 | 1 | -3/+3 | |
| | | | | | | we check whether the vtable needs to be generated. llvm-svn: 89984 | |||||
* | Lazily create the __cxa_pure_virtual reference. | Anders Carlsson | 2009-11-26 | 1 | -11/+19 | |
| | | | | llvm-svn: 89965 | |||||
* | Use the new CovariantThunkAdjustment in the vtable builder. | Anders Carlsson | 2009-11-26 | 1 | -49/+63 | |
| | | | | | | Make the pure virtual methods map a set instead. llvm-svn: 89961 | |||||
* | Remove dead forward declaration. Fix struct/class mismatch. Remove trailing ↵ | Benjamin Kramer | 2009-11-26 | 1 | -19/+20 | |
| | | | | | | whitespace. llvm-svn: 89947 | |||||
* | Remove unused variable. | Eli Friedman | 2009-11-26 | 1 | -1/+0 | |
| | | | | llvm-svn: 89945 | |||||
* | Shortcut explicit calls to a trivial copy assignment operator. | Eli Friedman | 2009-11-26 | 1 | -0/+8 | |
| | | | | llvm-svn: 89944 | |||||
* | Simplify and fix up the handling of implicit constructors, copy assignment | Eli Friedman | 2009-11-26 | 3 | -138/+16 | |
| | | | | | | | | 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 |