Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Fix function type RTTI linkage and add tests. | Anders Carlsson | 2009-12-29 | 1 | -4/+14 | |
| | | | | llvm-svn: 92266 | |||||
* | strength reduce this call away. | Chris Lattner | 2009-12-29 | 1 | -1/+2 | |
| | | | | llvm-svn: 92253 | |||||
* | Get rid of FixedWidthIntType, as suggested by Chris and Eli. | Anders Carlsson | 2009-12-29 | 3 | -12/+4 | |
| | | | | llvm-svn: 92246 | |||||
* | adjust for llvm api changes. | Chris Lattner | 2009-12-28 | 1 | -10/+2 | |
| | | | | llvm-svn: 92236 | |||||
* | this form of SetDebugLocation is about to go away, add some #includes that | Chris Lattner | 2009-12-28 | 2 | -7/+15 | |
| | | | | | | are about to not come in implicitly. llvm-svn: 92228 | |||||
* | Promote arguments of frameaddr / returnaddr builtins to i32 type, when needed. | Anton Korobeynikov | 2009-12-27 | 1 | -2/+10 | |
| | | | | | | | This is needed for the platforms, where bitwidth of "int" is not 32 bits (e.g. 16 on msp430). llvm-svn: 92176 | |||||
* | Add a sanity assertion so that we don't silently generate bad code; I'll file | Eli Friedman | 2009-12-27 | 1 | -0/+2 | |
| | | | | | | a bug with a testcase hitting this assertion in a moment. llvm-svn: 92175 | |||||
* | Fix obvious mistake. | Eli Friedman | 2009-12-27 | 1 | -1/+1 | |
| | | | | llvm-svn: 92172 | |||||
* | Remove some dead variables clang-analyzer found. | Benjamin Kramer | 2009-12-25 | 3 | -7/+2 | |
| | | | | llvm-svn: 92162 | |||||
* | Minor optimization; emit proper unsupported messages for a couple of cases. | Eli Friedman | 2009-12-25 | 3 | -6/+16 | |
| | | | | llvm-svn: 92153 | |||||
* | Some small improvements to dead code elimination; helps a bit on | Eli Friedman | 2009-12-25 | 2 | -1/+10 | |
| | | | | | | LLVM-Code-Symbols test. llvm-svn: 92152 | |||||
* | Make copy constructor elimination work in more cases; the case in question | Eli Friedman | 2009-12-24 | 1 | -0/+3 | |
| | | | | | | here affects clang-on-clang. llvm-svn: 92151 | |||||
* | Move a bunch of class related functions to CGClass.cpp, no functionality change. | Anders Carlsson | 2009-12-24 | 2 | -774/+775 | |
| | | | | llvm-svn: 92148 | |||||
* | Pass the return value slot to all call exprs. | Anders Carlsson | 2009-12-24 | 5 | -20/+29 | |
| | | | | llvm-svn: 92145 | |||||
* | Fill in the return value slot in CGExprAgg::VisitCallExpr. This takes us ↵ | Anders Carlsson | 2009-12-24 | 7 | -20/+51 | |
| | | | | | | halfway towards fixing PR5824. llvm-svn: 92142 | |||||
* | Pass ReturnValueSlot to EmitCall. No functionality change yet. | Anders Carlsson | 2009-12-24 | 11 | -26/+29 | |
| | | | | llvm-svn: 92138 | |||||
* | Add a ReturnValueSlot class. Change the argument order in EmitCall to match ↵ | Anders Carlsson | 2009-12-24 | 5 | -10/+25 | |
| | | | | | | the other overload better. llvm-svn: 92136 | |||||
* | Fix double-destruction assertion to account for temporaries in conditionals | Douglas Gregor | 2009-12-24 | 1 | -1/+2 | |
| | | | | llvm-svn: 92134 | |||||
* | Assert that we aren't trying to push the same C++ temporary onto the live ↵ | Douglas Gregor | 2009-12-24 | 1 | -0/+3 | |
| | | | | | | temporary stack twice. A little insurance against PR5867 surprising us again llvm-svn: 92132 | |||||
* | Remove some dead code. | Mike Stump | 2009-12-24 | 1 | -29/+19 | |
| | | | | llvm-svn: 92123 | |||||
* | Cleanup some dead code. | Mike Stump | 2009-12-24 | 1 | -3/+1 | |
| | | | | llvm-svn: 92122 | |||||
* | Don't set hidden for a non-external symbol as that would make it extenal. | Mike Stump | 2009-12-24 | 1 | -1/+29 | |
| | | | | | | Refine codegen for visibility and hidden. WIP. llvm-svn: 92118 | |||||
* | Fix for bug 5691. | David Chisnall | 2009-12-24 | 1 | -6/+24 | |
| | | | | | | | | This fixes throwing exceptions inside @catch blocks nested inside outer @try blocks and also fixes jumping from an inner @finally to an outer @finally (via any relevant @catch blocks). The code exhibiting this bug was based on code from CGObjCMac. I believe that this bug may still be present on the Mac runtimes, although the test case in the bug contains a few GNUisms and won't compile without some minor tweaks with Apple's libobjc. llvm-svn: 92117 | |||||
* | Fix recent regression caught by g++.old-deja/g++.mike/eh19.C. | Mike Stump | 2009-12-24 | 1 | -0/+20 | |
| | | | | llvm-svn: 92109 | |||||
* | Fix regression found by g++.dg/eh/alias1.C. | Mike Stump | 2009-12-23 | 1 | -0/+4 | |
| | | | | llvm-svn: 92072 | |||||
* | Mangle block pointer types. Fixes PR5858. | Anders Carlsson | 2009-12-23 | 1 | -1/+2 | |
| | | | | llvm-svn: 92069 | |||||
* | There is no such thing as typeinfo for a cv-qualified type. Assert | Douglas Gregor | 2009-12-23 | 3 | -4/+12 | |
| | | | | | | | | that this is true when mangling, then fix up the various places in Sema and/or CodeGen that need to remove qualifiers. Addresses a linking issue when building LLVM with Clang. llvm-svn: 92064 | |||||
* | simplify my previous patch. | Chris Lattner | 2009-12-23 | 1 | -9/+2 | |
| | | | | llvm-svn: 92057 | |||||
* | fix opencl extvector element extraction on rvalues. We previously | Chris Lattner | 2009-12-23 | 1 | -8/+30 | |
| | | | | | | error_unsupported on test10 and crashed on test11. llvm-svn: 92056 | |||||
* | Mangle template template parameters. Fixes PR5861. | Anders Carlsson | 2009-12-23 | 1 | -9/+12 | |
| | | | | llvm-svn: 92030 | |||||
* | Update for the intrinsic changes in llvm: the object size intrinsic | Eric Christopher | 2009-12-23 | 1 | -1/+10 | |
| | | | | | | | only takes a boolean second argument now. Update tests accordingly. Currently the builtin still accepts the full range for compatibility. llvm-svn: 91983 | |||||
* | Move the implementation of ASTContext::getTypeSizeInChars() to the .cpp file to | Ken Dyck | 2009-12-22 | 1 | -0/+1 | |
| | | | | | | avoid #including CharUnits.h in ASTContext.h. llvm-svn: 91903 | |||||
* | Make sure that we mangle overloaded operators that are member functions ↵ | Anders Carlsson | 2009-12-22 | 1 | -7/+22 | |
| | | | | | | | | correctly, giving them the correct arity. With this seemingly insignificant fix, we are now able to build and link clang using clang itself! (LLVM still has to be built with gcc for the time being). llvm-svn: 91893 | |||||
* | x86_64: Structures with no fields but which have padding should be classified as | Daniel Dunbar | 2009-12-22 | 1 | -0/+4 | |
| | | | | | | | | integer. - This is consistent, but may not be correct. I will revisit x86_64 ABI handling for C++ as a whole at some point. - PR5831. llvm-svn: 91874 | |||||
* | Eliminate the ASTContext argument to CXXConstructorDecl::isCopyConstructor, ↵ | Douglas Gregor | 2009-12-22 | 2 | -3/+3 | |
| | | | | | | since the context is available in the Decl llvm-svn: 91862 | |||||
* | Improve on my previous fix for debug information. Rather than | Douglas Gregor | 2009-12-21 | 1 | -51/+42 | |
| | | | | | | | | | recursing in CGDebugInfo::CreateTypeNode, teach CanonicalizeTypeForDebugInfo---now called UnwrapTypeForDebugInfo---to keep unwrapping the type until we hit something that can be represented by debug information. Thanks to Anders for pointing this out! llvm-svn: 91840 | |||||
* | Teach debug info generation to handle TemplateSpecializationType, | Douglas Gregor | 2009-12-21 | 1 | -3/+50 | |
| | | | | | | | | ElaboratedType, QualifiedNameType, and SubstTemplateTypeParmType type nodes. Also, produce an "unsupported" diagnostic for C++0x type nodes and "typeof" nodes, rather than asserting nondescriptly. llvm-svn: 91837 | |||||
* | Incomplete structs should also have internal linkage. | Anders Carlsson | 2009-12-21 | 1 | -9/+76 | |
| | | | | llvm-svn: 91805 | |||||
* | Correcly handle pointers to member pointer types where the class or the ↵ | Anders Carlsson | 2009-12-20 | 1 | -42/+48 | |
| | | | | | | pointee is incomplete. llvm-svn: 91804 | |||||
* | Rework the way pointer types are handled by the RTTI builder. We now get the ↵ | Anders Carlsson | 2009-12-20 | 1 | -101/+354 | |
| | | | | | | right linkage for indirect pointers to incomplete structs. llvm-svn: 91799 | |||||
* | Remove ';' after method definition. Noticed by clang++, which one would think | Daniel Dunbar | 2009-12-19 | 3 | -18/+18 | |
| | | | | | | | would have a higher respect for its own code. This is getting old, is this warning really adding value? llvm-svn: 91779 | |||||
* | Fix for PR5524: make reference binding in default argument work correctly. | Eli Friedman | 2009-12-19 | 1 | -1/+4 | |
| | | | | llvm-svn: 91733 | |||||
* | Work in progress for setting the vtable pointers for all bases correctly in | Eli Friedman | 2009-12-18 | 3 | -13/+63 | |
| | | | | | | | the constructor. This doesn't handle cases requiring the VTT at the moment, and generates unnecessary stores, but I think it's essentially correct. llvm-svn: 91731 | |||||
* | Cleanup switch so it doesn't have a default case. | Eli Friedman | 2009-12-18 | 1 | -1/+7 | |
| | | | | llvm-svn: 91725 | |||||
* | Fix for PR5830: fix the computation of the offset to a virtual base. | Eli Friedman | 2009-12-18 | 1 | -3/+36 | |
| | | | | llvm-svn: 91724 | |||||
* | Fix a few MSVC warnings. | Daniel Dunbar | 2009-12-18 | 1 | -3/+1 | |
| | | | | llvm-svn: 91714 | |||||
* | CK_UserDefinedConversion is a valid kind when doing copy ctor elision. | Anders Carlsson | 2009-12-18 | 1 | -1/+2 | |
| | | | | llvm-svn: 91695 | |||||
* | Change the return type of ASTContext::getTypeSizeInChars() from uint64_t to the | Ken Dyck | 2009-12-18 | 1 | -1/+2 | |
| | | | | | | | new opaque value type, CharUnits. This will help us avoid accidentally mixing quantities that are in bit and character units. llvm-svn: 91689 | |||||
* | Rename getByteSize() and getTypeSizeInBytes() in ASTContext to getCharWidth() | Ken Dyck | 2009-12-18 | 1 | -1/+1 | |
| | | | | | | | and getTypeSizeInChars() to reflect their basis in character type units, not that of a possibly independent architecture-specific byte. llvm-svn: 91688 | |||||
* | Fix regression I introduced when dynamic_cast-ing to a reference type. | Anders Carlsson | 2009-12-18 | 1 | -1/+1 | |
| | | | | llvm-svn: 91687 |