summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Move countInheritedIvars to within striking distance ofDaniel Dunbar2009-04-201-39/+34
| | | | | | | | | | | | GetClassSizeInfo Reduce nesting in GetInterfaceDeclStructLayout. Tweak some comments. No functionality change. llvm-svn: 69621
* the __gnuc_inline__ attribute is actually named __gnu_inline__,Chris Lattner2009-04-201-1/+1
| | | | | | PR4023 llvm-svn: 69618
* Inline GetFirstIvarInRecord into sole caller.Daniel Dunbar2009-04-201-28/+9
| | | | | | - No functionality change. llvm-svn: 69582
* Set a bit in IMAGE_INFO to indicate that we don't contain anyDaniel Dunbar2009-04-201-3/+12
| | | | | | | | @synthesized ivars for superclasses. - <rdar://problem/6806371> [clang] Mark code without miscompiled @synthesized properties llvm-svn: 69581
* Lift out GetNamedIvarList.Daniel Dunbar2009-04-201-30/+40
| | | | | | | | | Drop uses of GetFirstInvarInRecord, instead we lookup the ivars we know are in the record. - This is somewhat less efficient, but I need to detangle this code first... llvm-svn: 69579
* Don't emit ivar offsets for unnamed bit fields.Daniel Dunbar2009-04-201-5/+8
| | | | | | Also, added assertion that the field matches what would be looked up. llvm-svn: 69572
* PR3247: Handle a couple of cases where we weren't emitting VLA sizes (and Eli Friedman2009-04-202-1/+9
| | | | | | subsequently crashed). llvm-svn: 69567
* PR3248: Make sure the evaluate the operand of a sizeof when it has a VLA type.Eli Friedman2009-04-201-0/+4
| | | | | | Adapted from patch by Tim Northover. llvm-svn: 69566
* Remove non-const form of lookupFieldDeclForIvar.Daniel Dunbar2009-04-203-4/+7
| | | | llvm-svn: 69563
* Comment fixes.Daniel Dunbar2009-04-201-6/+6
| | | | llvm-svn: 69562
* Lift GetClassSizeInfo out of GenerateClass, add a FIXME.Daniel Dunbar2009-04-191-29/+37
| | | | | | - No functionality change. llvm-svn: 69561
* PR3853: Add CodeGen support for __thread.Eli Friedman2009-04-192-11/+6
| | | | llvm-svn: 69545
* Silence gcc warning.Eli Friedman2009-04-191-1/+1
| | | | llvm-svn: 69541
* silence a warning, it isn't clear what the right answer is here,Chris Lattner2009-04-191-1/+1
| | | | | | will talk to steve. llvm-svn: 69519
* silence a warning, I need to talk to Devang about this code.Chris Lattner2009-04-191-1/+1
| | | | llvm-svn: 69517
* Fix rdar://6804402 - crash on objc implementations declared withChris Lattner2009-04-192-10/+23
| | | | | | | @class but no implementation. This was broken in all 3 runtime impls. llvm-svn: 69512
* Fix bug in computation of ivar offsets for (adjacent) bitfields.Daniel Dunbar2009-04-191-10/+13
| | | | | | | | - The confusing IRgen bitfield interface is partly to blame here; fixing the functional error for now, cleanups to the interface to follow. llvm-svn: 69503
* revert david's patch, which causes a testsuite failure.Chris Lattner2009-04-191-3/+2
| | | | llvm-svn: 69501
* Reuse ObjcIvarOffsetVariable instead of duplicating code.Daniel Dunbar2009-04-191-22/+9
| | | | | | - No functionality change (but added a FIXME). llvm-svn: 69496
* Remove some unnecessary complexity.Daniel Dunbar2009-04-191-11/+5
| | | | | | - No functionality change. llvm-svn: 69495
* "This patch fixes message sends to super in class methods for the GNU ↵Chris Lattner2009-04-181-2/+3
| | | | | | | | runtime (currently an instance method lookup is being performed)." Patch by David Chisnall! llvm-svn: 69493
* Use EmitCallArgs in EmitObjCMessageExpr.Anders Carlsson2009-04-181-4/+1
| | | | llvm-svn: 69471
* Make CodeGenFunction::EmitCallArgs a template function that takes a generic ↵Anders Carlsson2009-04-182-38/+38
| | | | | | "Type Info" parameter. The type info parameter knows how to iterate over its arguments. llvm-svn: 69469
* Use getAsPointerType instead of using getCanonicalType directly.Daniel Dunbar2009-04-181-10/+6
| | | | | | - <rdar://problem/6803995> llvm-svn: 69435
* Fix a bug found by inspection, class/meta references could be emittedDaniel Dunbar2009-04-181-17/+39
| | | | | | into the wrong section (they shared the same lookup table). llvm-svn: 69433
* fix incorrect lowering of __builtin_ia32_shufpd, rdar://6803924Chris Lattner2009-04-181-1/+2
| | | | llvm-svn: 69428
* FunctionDecl::getBody() is getting an ASTContext argument for use inDouglas Gregor2009-04-183-5/+5
| | | | | | | | lazy PCH deserialization. Propagate that argument wherever it needs to be. No functionality change, except that I've tightened up a few PCH tests in preparation. llvm-svn: 69406
* fix a crash compiling code with its own definition of objc_assign_weak.Chris Lattner2009-04-171-5/+11
| | | | | | rdar://6800430 llvm-svn: 69392
* Use PresumedLoc to record line number in debug info entries.Devang Patel2009-04-171-11/+22
| | | | llvm-svn: 69389
* Don't put msgrefs in used globals (in particular, we don't wantDaniel Dunbar2009-04-171-1/+0
| | | | | | no-dead-strip set on them). llvm-svn: 69388
* Appropriately set file name and directory name in debug info compile units.Devang Patel2009-04-172-27/+31
| | | | llvm-svn: 69387
* Fix rdar://6800926 - crash compiling non-fragile _Bool bitfield ivar,Chris Lattner2009-04-171-5/+5
| | | | | | | the functional change here is changing ConvertType -> ConvertTypeForMem so that we handle i1 fields properly as memory. llvm-svn: 69361
* tidy some code.Chris Lattner2009-04-171-5/+2
| | | | llvm-svn: 69360
* Add support for generating (very basic) C++ destructors. These aren't called ↵Anders Carlsson2009-04-175-40/+143
| | | | | | by anything yet. llvm-svn: 69343
* Attributes on block functions were not being set.Daniel Dunbar2009-04-174-8/+16
| | | | | | | - <rdar://problem/6800351> clang not producing correct large struct return code for Blocks llvm-svn: 69337
* Implement basic code generation of constructor calls. We can now compile:Anders Carlsson2009-04-174-0/+71
| | | | | | | | | | | | struct S { S(int, int); }; void f() { S s(10, 10); } llvm-svn: 69330
* Add GetAddrOfCXXConstructor and use it.Anders Carlsson2009-04-162-5/+16
| | | | llvm-svn: 69328
* Removed a no longer needed FIXME comment.Fariborz Jahanian2009-04-161-2/+0
| | | | llvm-svn: 69315
* Category method synbols must be qualified by gategory name toFariborz Jahanian2009-04-161-0/+6
| | | | | | match gcc's. llvm-svn: 69305
* Fix a crash bug when comparing overload quality of conversion operators with ↵Sebastian Redl2009-04-161-55/+56
| | | | | | | | | | | conversion constructors. Remove an atrocious amount of trailing whitespace in the overloaded operator mangler. Sorry, couldn't help myself. Change the DeclType parameter of Sema::CheckReferenceInit to be passed by value instead of reference. It wasn't changed anywhere. Let the parser handle C++'s irregular grammar around assignment-expression and conditional-expression. And finally, the reason for all this stuff: implement C++ semantics for the conditional operator. The implementation is complete except for determining lvalueness. llvm-svn: 69299
* Ensure that the most recent declaration of a tentative definition winsDaniel Dunbar2009-04-161-3/+5
| | | | | | when generating a common definition. llvm-svn: 69287
* Fixup codegen for copy/dispose for block literals. Radar 6791245Mike Stump2009-04-151-4/+10
| | | | llvm-svn: 69232
* Defer generation of tentative definitions.Daniel Dunbar2009-04-152-31/+46
| | | | | | | | | | | | | | - PR3980. - <rdar://problem/6762287> [irgen] crash when generating tentative definition of incomplete structure - This also avoids creating common definitions for things which are later overwritten. - XFAIL'ed external-defs.c, it isn't completing types properly yet. llvm-svn: 69231
* Set DebugInfo at the beginning of GenerateBlockFunction().Devang Patel2009-04-151-0/+5
| | | | llvm-svn: 69228
* Actually generate code for the simple constructors we know we can generate ↵Anders Carlsson2009-04-151-1/+22
| | | | | | code for. llvm-svn: 69222
* Don't use \01 in symbol name if unnecessary.Daniel Dunbar2009-04-151-1/+1
| | | | | | | | - This was particularly bad since I fixed one instance of this name and not another, meaning we got an LLVM module with the same effective name in two different globals! llvm-svn: 69205
* Fix alignment on obj_msgrefs to match llvm-gcc.Daniel Dunbar2009-04-151-2/+1
| | | | llvm-svn: 69199
* Add test case for superrefs section (and make spacing consistent).Daniel Dunbar2009-04-151-2/+2
| | | | llvm-svn: 69198
* __objc_superrefs belongs to __DATA segment.Fariborz Jahanian2009-04-151-1/+1
| | | | llvm-svn: 69170
* Start attempting to generate code for C++ ctors.Anders Carlsson2009-04-153-5/+65
| | | | llvm-svn: 69168
OpenPOWER on IntegriCloud