- Oct 17, 2008
-
-
Daniel Dunbar authored
llvm-svn: 57716
-
Daniel Dunbar authored
- Encode unions and bit-fields correctly. - Accept option to name record fields (used for NeXT runtime). llvm-svn: 57685
-
Daniel Dunbar authored
- Mechanism for detecting if a structure should be expanded wasn't reliable. Simplified by just keeping track of what we should be expanding. - This fixes a bug in using NSInvocation to invoke a method which returned a structure, which in used by Key Value Observing, which in the end, caused a miscompile in poor little Sketch. llvm-svn: 57675
-
Daniel Dunbar authored
llvm-svn: 57674
-
- Oct 16, 2008
-
-
Argyrios Kyrtzidis authored
llvm-svn: 57642
-
Daniel Dunbar authored
floats. - With testcase, which also has some other things GCC folds but we don't commented out in it. llvm-svn: 57624
-
Daniel Dunbar authored
is to encode the state of the #pragma pack stack as an attribute when the structure is declared. - Extend PackedAttr to take an alignment (in bits), and reuse for both __attribute__((packed)) (which takes no argument, instead packing tightly (to "minimize the memory required") and for #pragma pack (which allows specification of the maximum alignment in bytes). __attribute__((packed)) is just encoded as Alignment=1. This conflates two related but different mechanisms, but it didn't seem worth another attribute. - I have attempted to follow the MSVC semantics as opposed to the gcc ones, since if I understand correctly #pragma pack originated with MSVC. The semantics are generally equivalent except when the stack is altered during the definition of a structure; its not clear if anyone does this in practice. See testcase if curious. llvm-svn: 57623
-
- Oct 15, 2008
-
-
Daniel Dunbar authored
Also added serialization support to OverloadExpr. llvm-svn: 57588
-
Argyrios Kyrtzidis authored
Instead of using two sets of Decl kinds (Struct/Union/Class and CXXStruct/CXXUnion/CXXClass), use one 'Record' and one 'CXXRecord' Decl kind and make tag kind a property of TagDecl. Cleans up the code a bit and better reflects that Decl class structure. llvm-svn: 57541
-
- Oct 14, 2008
-
-
Daniel Dunbar authored
llvm-svn: 57502
-
Daniel Dunbar authored
llvm-svn: 57501
-
Daniel Dunbar authored
on non-float types. llvm-svn: 57477
-
- Oct 12, 2008
-
-
Argyrios Kyrtzidis authored
No functionality change. llvm-svn: 57417
-
Argyrios Kyrtzidis authored
When the static type on the Decl side is a subclass of DeclContext the compiler will use a "inlinable" static_cast, instead of always using an out-of-line function call. Note, though, that the isa<> check still uses an out-of-line function call. llvm-svn: 57415
-
Chris Lattner authored
llvm-svn: 57391
-
Chris Lattner authored
llvm-svn: 57390
-
- Oct 10, 2008
-
-
Steve Naroff authored
Final phase of converting BlockDecls over to DeclContext. This is unfortunately a largish/complex diff, however it was necessry to pass all the current block tests. llvm-svn: 57337
-
Dale Johannesen authored
llvm-svn: 57332
-
- Oct 08, 2008
-
-
Steve Naroff authored
This required changes to attach the compound statement later on (like we do for functions). llvm-svn: 57304
-
Steve Naroff authored
- Modify BlockExpr to reference the BlockDecl. This is "cleanup" necessary to improve our lookup semantics for blocks (to fix <rdar://problem/6272905> clang block rewriter: parameter to function not imported into block?). Still some follow-up work to finish this (forthcoming). llvm-svn: 57298
-
Ted Kremenek authored
A little more tweaking with StmtIterator and SizeOfAlignofExpr. A recent commit actually introduced a regression, not fixed a bug. llvm-svn: 57282
-
Ted Kremenek authored
This also removes the ugly hack needed in CFG.cpp for subclassing DeclStmt to create a DeclStmt with one Decl*. llvm-svn: 57275
-
Ted Kremenek authored
Fixed a masked bug when iterating over the child expressions of SizeOfAlignOfTypeExpr. This bug was unmasked by recent changes to StmtIterator. llvm-svn: 57273
-
Ted Kremenek authored
Serialization for OwningDeclGroupRefs now works. llvm-svn: 57272
-
Ted Kremenek authored
llvm-svn: 57271
-
- Oct 07, 2008
-
-
Ted Kremenek authored
llvm-svn: 57222
-
Ted Kremenek authored
Modified DeclGroupRef to always load/store the internal pointer value as Decl*. This hopefully will obviate any concerns with violating strict type-aliasing issues. llvm-svn: 57213
-
- Oct 06, 2008
-
-
Ted Kremenek authored
llvm-svn: 57206
-
Ted Kremenek authored
This patch precedes removing getDecl() DeclStmt::entirely. llvm-svn: 57205
-
Ted Kremenek authored
llvm-svn: 57204
-
Ted Kremenek authored
Added PrintRawDeclStmt; use this method to print out DeclStmt instead of using PrintRawDecl (which falsely assumes DeclStmts have only one Decl). llvm-svn: 57191
-
Ted Kremenek authored
llvm-svn: 57190
-
Chris Lattner authored
llvm-svn: 57162
-
Chris Lattner authored
which is checking for something that can be inconsistent with what we can constant fold. llvm-svn: 57159
-
Chris Lattner authored
interface into the constant folding interface. llvm-svn: 57158
-
Chris Lattner authored
llvm-svn: 57157
-
Chris Lattner authored
llvm-svn: 57154
-
Chris Lattner authored
__builtin_constant_p properly, and add some scaffolding for FloatExprEvaluator to eventually handle huge_val and inf. llvm-svn: 57152
-
Chris Lattner authored
code. llvm-svn: 57151
-
Chris Lattner authored
llvm-svn: 57149
-