Ted Kremenek
3db07a7016
Implemented serialization of CompoundLiteralExpr.
...
llvm-svn: 44134
2007-11-14 21:18:36 +00:00
Ted Kremenek
fab0c76a25
Added serialization of Union decls.
...
llvm-svn: 44133
2007-11-14 21:15:42 +00:00
Duncan Sands
730a32643f
Tweak the descriptions of the new 'const' and 'pure' attributes.
...
llvm-svn: 44132
2007-11-14 21:14:02 +00:00
Ted Kremenek
00e0b40599
Removed assertion inserted only for temporary debugging.
...
llvm-svn: 44131
2007-11-14 19:36:11 +00:00
Ted Kremenek
ec56081f38
Added missing break statement.
...
Reordered serialization methods for FunctionTypeProto and FunctionTypeNoProto
to be alphabetical by serialized type name.
llvm-svn: 44130
2007-11-14 19:33:01 +00:00
Steve Naroff
dde78986fb
Fairly major surgery to RewriteTest::SynthesizeObjcInternalStruct().
...
This allows us to handle funky stuff like...
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3
@interface NSLayoutManager : NSObject <NSCoding, NSGlyphStorage> {
#else /* MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3 */
@interface NSLayoutManager : NSObject <NSCoding> {
#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3 */
...which now rewrites to...
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3
#ifndef _REWRITER_typedef_NSLayoutManager
#define _REWRITER_typedef_NSLayoutManager
typedef struct objc_object NSLayoutManager;
#endif
struct NSLayoutManager {
struct NSObject _NSObject;
#else /* MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3 */
// @interface NSLayoutManager : NSObject <NSCoding> {
#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3 */
llvm-svn: 44129
2007-11-14 19:25:57 +00:00
Evan Cheng
0cbe920d7c
Oops. Debugging code shouldn't have been checked in.
...
llvm-svn: 44128
2007-11-14 19:08:32 +00:00
Ted Kremenek
26ba7973ea
Implemented serialization of EnumDecl and EnumConstantDecl.
...
llvm-svn: 44127
2007-11-14 18:12:19 +00:00
Ted Kremenek
8e93ca3de5
Implemented serialization of FieldDecls.
...
llvm-svn: 44126
2007-11-14 17:47:01 +00:00
Ted Kremenek
31ae973708
SourceManager, IdentifierTable, Selectors are now serialized in their own
...
block separate from ASTContext. This block is serialized out AFTER writing out
ASTContext, but deserialized BEFORE reading in ASTContext. This permits the
optimization of the serialization of the IdentifierTable where we only write
out identifiers that are used.
This was needed because TagDecls are owned by Types, and TagDecls contain
identifiers. Thus types need to be written out first to register with the
serializer any identifiers they refer to (and hence need to be serialized out
with IdentifierTable).
llvm-svn: 44125
2007-11-14 17:46:35 +00:00
Ted Kremenek
1172416d65
Removed debug #define that was accidentally checked in while debugging
...
the deserializer.
Fixed assertion when "stream jumping" in the deserializer to properly function
when we have reached the end of the stream.
llvm-svn: 44124
2007-11-14 17:42:09 +00:00
Fariborz Jahanian
794793ec1c
Removed unused variabel.
...
llvm-svn: 44123
2007-11-14 17:35:46 +00:00
Chris Lattner
e6c7a858b0
Fix a bug handling hex floats in c90 mode, pointed out by Neil.
...
llvm-svn: 44120
2007-11-14 16:14:50 +00:00
Steve Naroff
a509f04034
Fix yesterday's regression with rewriting @optional/@required.
...
llvm-svn: 44119
2007-11-14 15:03:57 +00:00
Steve Naroff
58ed6c04f2
Rewrite methods that span multiple lines.
...
llvm-svn: 44118
2007-11-14 14:34:23 +00:00
Steve Naroff
9e0887cff4
Allow properties within a protocol. The case below was asserting...now it works fine.
...
@protocol CAMediaTiming
@property int beginTime;
@end
Comments in the code tell the rest of the story...
llvm-svn: 44117
2007-11-14 14:15:31 +00:00
Duncan Sands
9e12a3f020
Simplify the attribute verification code.
...
llvm-svn: 44116
2007-11-14 14:02:11 +00:00
Duncan Sands
544e64aa96
Un XFAIL these tests, now that Bill has backported
...
the fix from 4.2.
llvm-svn: 44115
2007-11-14 13:40:53 +00:00
Anton Korobeynikov
46f4446bba
Document pure/const parameter attributes
...
llvm-svn: 44111
2007-11-14 10:30:13 +00:00
Anton Korobeynikov
6ca98cd532
Regenerate
...
llvm-svn: 44110
2007-11-14 09:53:48 +00:00
Anton Korobeynikov
ea09c697d7
Add pure/const attributes. Documentation will follow.
...
llvm-svn: 44109
2007-11-14 09:52:30 +00:00
Anton Korobeynikov
2c6387803e
Fix PIC jump table codegen on x86-32/linux. In fact, such thing should be applied
...
to all targets uses GOT-relative offsets for PIC (Alpha?)
llvm-svn: 44108
2007-11-14 09:18:41 +00:00
Duncan Sands
e2287ed552
Eliminate the recently introduced CCAssignToStackABISizeAlign
...
in favour of teaching CCAssignToStack that size 0 and/or align
0 means to use the ABI values. This seems a neater solution.
It is safe since no legal value type has size 0.
llvm-svn: 44107
2007-11-14 08:29:13 +00:00
Ted Kremenek
3c9c7b84fe
Implemented serialization of RecordDecls. Changed serialization of TagType to
...
have an owning pointer to the referred TagDecl. This should hopefully fix a
bug where TagDecls (including decls from structs, etc.) were not serialized.
llvm-svn: 44106
2007-11-14 08:06:37 +00:00
Ted Kremenek
545f7e39e1
Added two new overloaded versions of BatchEmitOwnedPtrs and
...
BatchReadOwnedPtrs.
llvm-svn: 44105
2007-11-14 08:05:03 +00:00
Evan Cheng
7f02cfa599
Clean up sub-register implementation by moving subReg information back to
...
MachineOperand auxInfo. Previous clunky implementation uses an external map
to track sub-register uses. That works because register allocator uses
a new virtual register for each spilled use. With interval splitting (coming
soon), we may have multiple uses of the same register some of which are
of using different sub-registers from others. It's too fragile to constantly
update the information.
llvm-svn: 44104
2007-11-14 07:59:08 +00:00
Duncan Sands
9c30fc234c
XFAIL these tests until the fix gets backported
...
from llvm-gcc-4.2 to 4.0.
llvm-svn: 44103
2007-11-14 07:42:50 +00:00
Chris Lattner
322a04ec7c
Document a limitation, patch contributed by George Russell
...
llvm-svn: 44102
2007-11-14 07:04:44 +00:00
Nick Lewycky
c6243020a6
Allow the block extractor take to take a list of basic blocks to not extract
...
from a file containing Function/BasicBlock pairings. This is not safe against
anonymous or abnormally-named Funcs or BBs.
Make bugpoint use this interface to pass the BBs list to the child bugpoint.
llvm-svn: 44101
2007-11-14 06:47:06 +00:00
Chris Lattner
07b201d9c0
implement test/Sema/typedef-prototype.c, allowing code
...
to declare a function with a typedef:
typedef int unary_int_func(int arg);
unary_int_func add_one;
This patch contributed by Seo Sanghyeon!
llvm-svn: 44100
2007-11-14 06:34:38 +00:00
Chris Lattner
a77e74edba
Implement PR1796 and Transforms/SimplifyCFG/noreturn-call.ll
...
by inserting unreachable after no-return calls.
llvm-svn: 44099
2007-11-14 06:19:25 +00:00
Steve Naroff
c17b056427
Comment out recent regression r44096.
...
llvm-svn: 44098
2007-11-14 03:37:28 +00:00
Owen Anderson
9306de0727
Start the process of making MachineLoopInfo possible by templating Loop.
...
llvm-svn: 44097
2007-11-14 02:33:58 +00:00
Fariborz Jahanian
fe38ba24af
Rewrite @optional/@required directives used inside protocol definitions.
...
llvm-svn: 44096
2007-11-14 01:37:46 +00:00
Fariborz Jahanian
da6165c3dc
Rewrite of forward protocol declaration.
...
llvm-svn: 44095
2007-11-14 00:42:16 +00:00
Ted Kremenek
164faf98f3
Implemented serialization of FunctionTypeNoProto.
...
llvm-svn: 44094
2007-11-14 00:38:50 +00:00
Ted Kremenek
7068cef079
Implemented serialization of VariableArrayTypes.
...
llvm-svn: 44093
2007-11-14 00:31:36 +00:00
Ted Kremenek
eef4a6296f
Implemented serialization of TypedefType.
...
llvm-svn: 44092
2007-11-14 00:27:46 +00:00
Ted Kremenek
ea27383d68
Implemented serialization of ConstantArrayType.
...
llvm-svn: 44091
2007-11-14 00:17:21 +00:00
Ted Kremenek
f35e589847
Implemented serialization of TagTypes.
...
llvm-svn: 44090
2007-11-14 00:03:56 +00:00
Ted Kremenek
919858a428
Modified ASTContext::getTagDeclType() to accept a NULL pointer for the passed
...
in TagDecl*. This allows the deserializer to use ASTContext to create the
TagTypes. Deserialize TagTypes then rely on pointer-backpatching to resolve
the decls.
This may not be the interface that we want, but as the implementation of
TagTypes will potentially change significantly in the future, I'm leaving this
for now. An appropriate FIXME is in place.
llvm-svn: 44089
2007-11-14 00:03:20 +00:00
Steve Naroff
971d2f1242
Fix regression with ObjC method definitions and -ast-print
...
llvm-svn: 44088
2007-11-13 23:48:03 +00:00
Fariborz Jahanian
bc92fd7542
Type encoding for structs.
...
llvm-svn: 44087
2007-11-13 23:21:38 +00:00
Hartmut Kaiser
6f5421cbee
Fixed a compilation error.
...
llvm-svn: 44083
2007-11-13 23:04:28 +00:00
Hartmut Kaiser
dde99f6a07
Fixed a strange construct. Please review.
...
llvm-svn: 44082
2007-11-13 23:04:06 +00:00
Hartmut Kaiser
1d4816584f
Updated VC++ build system
...
llvm-svn: 44081
2007-11-13 23:03:32 +00:00
Steve Naroff
7b8fa4746a
Rewrite method definition bodies. Also renamed a method to distinguish between method declarations and definitions.
...
llvm-svn: 44080
2007-11-13 23:01:27 +00:00
Ted Kremenek
204a1d3976
Removed line with typo (declared friendship with ASTContext). Line was
...
not needed since friendship is declared elsewhere.
llvm-svn: 44079
2007-11-13 22:57:59 +00:00
Ted Kremenek
767e7507c2
Added pretty-printing of statements during serialization.
...
llvm-svn: 44078
2007-11-13 22:56:10 +00:00
Ted Kremenek
049059a7db
Implemented serialization of AsmStmt (or rather what is currently implemented
...
in AsmStmt).
llvm-svn: 44077
2007-11-13 22:55:51 +00:00