summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Fixed copy-and-paste error causing categories to contain the protocols ↵David Chisnall2010-03-131-2/+2
| | | | | | declared on the class, not the protocols declared on the category. llvm-svn: 98455
* Give explicit template instantiations weak ODR linkage. FormerDouglas Gregor2010-03-132-8/+18
| | | | | | | | | iterations of this patch gave explicit template instantiation link-once ODR linkage, which permitted the back end to eliminate unused symbols. Weak ODR linkage still requires the symbols to be generated. llvm-svn: 98441
* Use raw_ostream instead of sprintf.Benjamin Kramer2010-03-131-3/+2
| | | | llvm-svn: 98438
* Use SmallString instead of SmallVectorKovarththanan Rajaratnam2010-03-131-52/+52
| | | | llvm-svn: 98436
* Re-revert the explicit template instantiation linkage patch. I am beginning ↵Douglas Gregor2010-03-132-12/+9
| | | | | | to look incompetent llvm-svn: 98425
* Reinstate patch to turn explicit template instantiations into weak symbolsDouglas Gregor2010-03-132-9/+12
| | | | llvm-svn: 98424
* Allow users to set CPPFLAGS and CXXFLAGS on the make command line.Jeffrey Yasskin2010-03-121-2/+2
| | | | | Tested: make CPPFLAGS=-m64 CXXFLAGS=-m64 -j8 && (cd tools/clang;make test) llvm-svn: 98399
* Fix a rare corner case bug which exposed a serious block API generationFariborz Jahanian2010-03-121-62/+62
| | | | | | | | | | | when initialized variable is a byref block variable and is referenced recursively in the initializer (you guessed it, it is block implementation of fibonacci number). Fix, on the other hand is trvial, by generating the API for byref variable before API for its initializer. We will have this test added to our internal test suite as a clang-style test is not possible due to very convoluted IR sequence. Fixes radar 7745514. llvm-svn: 98393
* If main file name is empty then use "<unknown>".Devang Patel2010-03-121-1/+4
| | | | llvm-svn: 98385
* More this adjustment simplification.Anders Carlsson2010-03-121-56/+59
| | | | llvm-svn: 98333
* Revert the linkage change for explicit template instantiations; something is ↵Douglas Gregor2010-03-122-12/+9
| | | | | | amiss llvm-svn: 98332
* Remove OldOffset.Anders Carlsson2010-03-121-7/+2
| | | | llvm-svn: 98331
* Remove debug output.Anders Carlsson2010-03-121-3/+0
| | | | llvm-svn: 98330
* Begin simplifying handling of thunks.Anders Carlsson2010-03-121-67/+67
| | | | llvm-svn: 98329
* Give explicit template instantiations weak linkage (but don't deferDouglas Gregor2010-03-122-9/+12
| | | | | | them). Fixes PR6578. llvm-svn: 98328
* Keep track of Record context to ensure that record elements are properly ↵Devang Patel2010-03-111-1/+20
| | | | | | nested in debug info. llvm-svn: 98283
* fix PR6433, crash on va_arg of typedef.Chris Lattner2010-03-111-8/+9
| | | | llvm-svn: 98264
* Use the new vtable layout code for computing virtual base offset offsets.Anders Carlsson2010-03-111-15/+18
| | | | llvm-svn: 98257
* Correctly mangle address of member in template arguments. Fixes PR6460Rafael Espindola2010-03-111-20/+49
| | | | llvm-svn: 98254
* Rename getVirtualBaseOffsetIndex to getVirtualBaseOffsetOffset to reflect ↵Anders Carlsson2010-03-115-28/+30
| | | | | | what it actually does. llvm-svn: 98248
* When possible, use the vbase offset offsets from the most derived class ↵Anders Carlsson2010-03-111-3/+10
| | | | | | directly. llvm-svn: 98247
* Keep track of, and dump, vbase offset offsets.Anders Carlsson2010-03-111-15/+77
| | | | llvm-svn: 98245
* Fix tests.Anders Carlsson2010-03-111-1/+1
| | | | llvm-svn: 98242
* Run the new vtable builder for construction vtables as well now. Note that ↵Anders Carlsson2010-03-111-13/+10
| | | | | | we still don't use the data it generates. llvm-svn: 98239
* Support PPC-32 DWARF EH intrinisics. Thanks to rdivacky for his assistance.John McCall2010-03-111-0/+77
| | | | llvm-svn: 98206
* set alignment on static locals properly, patch by Arnaud de Grandmaison!Chris Lattner2010-03-101-0/+2
| | | | llvm-svn: 98204
* Fix calculation of whether a member function needs a thunk in construction ↵Anders Carlsson2010-03-101-13/+23
| | | | | | vtables. llvm-svn: 98191
* We were mistakenly marking morally virtual bases as being uninteresting. Fix ↵Anders Carlsson2010-03-101-5/+13
| | | | | | this. llvm-svn: 98180
* Ignore non-interesting bases when emitting construction vtables.Anders Carlsson2010-03-101-0/+11
| | | | llvm-svn: 98177
* Don't accidentally mark some functions in construction vtables as unused. ↵Anders Carlsson2010-03-101-30/+42
| | | | | | Also land the test for a previous checkin, now that it's correct. llvm-svn: 98139
* Create a new InjectedClassNameType to represent bare-word references to the John McCall2010-03-101-0/+1
| | | | | | | | | | | | | injected class name of a class template or class template partial specialization. This is a non-canonical type; the canonical type is still a template specialization type. This becomes the TypeForDecl of the pattern declaration, which cleans up some amount of code (and complicates some other parts, but whatever). Fixes PR6326 and probably a few others, primarily by re-establishing a few invariants about TypeLoc sizes. llvm-svn: 98134
* When building construction vtables, we need to check if a primary virtual ↵Anders Carlsson2010-03-101-7/+29
| | | | | | base is actually a primary virtual base in the layout class. llvm-svn: 98131
* Improve vcall offset handling in construction vtables. With this we layout ↵Anders Carlsson2010-03-101-21/+58
| | | | | | the construction vtables from the ABI examples correctly. llvm-svn: 98127
* Delay codegen of vtables when handling implicit instantiations.Rafael Espindola2010-03-104-26/+44
| | | | | | This fixes PR6474. llvm-svn: 98123
* Use SmallString instead of alloca.Devang Patel2010-03-101-2/+3
| | | | llvm-svn: 98112
* Fix file reference for derived and composite types. Now, dwarf writer uses ↵Devang Patel2010-03-091-41/+38
| | | | | | strict verifier that ignores debug info for such types if their file info is unknown. llvm-svn: 98096
* More then one anonymous aggregates on one line creates chaos when MDNode ↵Devang Patel2010-03-092-7/+7
| | | | | | | | uniquness is combined with RAUW operation. Right solution is to avoid using RAUW. This fixes PR 6554. llvm-svn: 98083
* Use getLast() instead of getBasename().Devang Patel2010-03-091-1/+1
| | | | llvm-svn: 98072
* Start using DIFile. Corresponding llvm patch is r98020.Devang Patel2010-03-092-150/+129
| | | | llvm-svn: 98021
* add a codegen hack to work around an AST bug, allowing us to compile theChris Lattner2010-03-081-2/+12
| | | | | | code in PR6537. This should be reverted when the ast bug is fixed. llvm-svn: 97981
* Avoid using DIDescriptor.isNull(). Devang Patel2010-03-081-4/+4
| | | | llvm-svn: 97976
* Revert r97949.Devang Patel2010-03-081-4/+4
| | | | llvm-svn: 97964
* Avoid DIDescriptor.isNull() checks.Devang Patel2010-03-081-4/+4
| | | | llvm-svn: 97949
* Extend ObjCMessageExpr for class method sends with the source locationDouglas Gregor2010-03-081-1/+1
| | | | | | of the class name. llvm-svn: 97943
* Perform overload resolution when static_cast'ing from aDouglas Gregor2010-03-071-0/+10
| | | | | | | pointer-to-member-to-derived to a pointer-to-member-to-base. Fixes PR6072. llvm-svn: 97923
* Don't turn off mangling in implicitly extern "C" system headers. GCCDouglas Gregor2010-03-071-6/+0
| | | | | | | | | doesn't do this on any of the major platforms, and we don't really support any of the platforms that do (nor will we actually handle those headers well). Fixes PR6217; see PR6530 for details on what we would need to do to support these platforms. llvm-svn: 97899
* Add a message to these asserts.Benjamin Kramer2010-03-061-3/+3
| | | | llvm-svn: 97873
* Use static method in GlobalValueRafael Espindola2010-03-061-11/+1
| | | | llvm-svn: 97872
* PR6515: Implement __builtin_signbit and friends.Eli Friedman2010-03-061-0/+17
| | | | | | | I'm reasonably sure my implementation is correct, but it would be nice if someone could double-check. llvm-svn: 97864
* Implement __builtin_dwarf_sp_column for i386 (Darwin and not), x86-64 (all),John McCall2010-03-065-0/+120
| | | | | | | and ARM. Implement __builtin_init_dwarf_reg_size_table for i386 (both) and x86-64 (all). llvm-svn: 97859
OpenPOWER on IntegriCloud