- Nov 12, 2007
-
-
Owen Anderson authored
to be a pass of its own. Instead, move it out into a helper method. llvm-svn: 44002
-
Owen Anderson authored
llvm-svn: 44001
-
Steve Naroff authored
Replace 2 method definition actions (ActOnFunctionDefBody, ActOnMethodDefBody) with 1 method definition action (ActOnFinishFunctionBody). I can't think of any reason that we would need two action hooks. llvm-svn: 44000
-
- Nov 11, 2007
-
-
Steve Naroff authored
Replace 3 method definition functions (ObjcParseMethodDefinition, ParseObjCInstanceMethodDefinition, ParseObjCClassMethodDefinition) with 1 method definition function (ParseObjCMethodDefinition). Less code/confusion. llvm-svn: 43999
-
Anton Korobeynikov authored
llvm-svn: 43998
-
Anton Korobeynikov authored
This makes DwarfRegNum to accept list of numbers instead. Added three different "flavours", but only slightly tested on x86-32/linux. Please check another subtargets if possible, llvm-svn: 43997
-
Steve Naroff authored
Tweak Sema::ActOnInstanceMessage() to treat the built-in "Class" type the same as "id". llvm-svn: 43996
-
Steve Naroff authored
This is the last 5% of the solution to teaching Sema::ActOnInstanceMessage() about private methods (r43989). While the diff is large, the idea is very simple. When we parse method definitions (in an @implementation), we need to add them incrementally (rather than wait until the @end). Other details... - Renamed Sema::ActOnAddMethodsToObjcDecl() to Sema::ActOnAtEnd(). The methods are now optional arguments. - Removed Parser::AllImplMethods (a nice cleanup). - Added location info to ObjcImplementationDecl (since we will need it very soon:-) - Modified message.m test to no longer allow the bogus diagnostic. llvm-svn: 43995
-
Steve Naroff authored
Make sure Sema::CheckIncrementDecrementOperand() removes typedefs when doing it's analysis. Thanks to Seo Sanghyeon for his excellent (first) bug fix! llvm-svn: 43994
-
Anton Korobeynikov authored
llvm-svn: 43993
-
Steve Naroff authored
Teach Sema::ActOnInstanceMessage() about private methods. That is, methods declared in an implementation (but not listed in the interface). This commit is only 95% of the bug fix. The last piece to this puzzle is to add the method decls to the implementation incrementally (as we encounter them). At the moment, the methods aren't added until we see an @end (which is too late). I will complete this later... llvm-svn: 43989
-
- Nov 10, 2007
-
-
Dale Johannesen authored
dealing with types whose size & alignment are different on different subtargets. Use it for x86 f80. llvm-svn: 43988
-
Fariborz Jahanian authored
llvm-svn: 43987
-
Fariborz Jahanian authored
llvm-svn: 43986
-
Steve Naroff authored
Fix a basic bug (having to do with typedefs) in Sema::UsualArithmeticConversions(). This resuled in the following crash below. Also modified the usual-float.c test case to capture this case. [steve-naroffs-imac:clang/test/Sema] snaroff% ../../../../Debug/bin/clang usual-float.c Assertion failed: (0 && "Sema::UsualArithmeticConversions(): illegal float comparison"), function UsualArithmeticConversions, file SemaExpr.cpp, line 960. 0 clang 0x001ef9b9 _ZN40_GLOBAL__N_Signals.cpp_00000000_4E6DAF8315PrintStackTraceEv + 45 1 clang 0x001efd5f _ZN40_GLOBAL__N_Signals.cpp_00000000_4E6DAF8313SignalHandlerEi + 323 2 libSystem.B.dylib 0x90c6297b _sigtramp + 43 3 ??? 0xffffffff 0x0 + 4294967295 4 libSystem.B.dylib 0x90cdb782 raise + 26 5 libSystem.B.dylib 0x90cead3f abort + 73 6 libSystem.B.dylib 0x90cdc923 __assert_rtn + 101 7 clang 0x00077316 _ZN5clang4Sema26UsualArithmeticConversionsERPNS_4ExprES3_b + 1004 8 clang 0x000803cf _ZN5clang4Sema27CheckMultiplyDivideOperandsERPNS_4ExprES3_NS_14SourceLocationEb + 181 9 clang 0x0007a8e8 _ZN5clang4Sema10ActOnBinOpENS_14SourceLocationENS_3tok9TokenKindEPvS4_ + 472 10 clang 0x000cf058 _ZN5clang6Parser26ParseRHSOfBinaryExpressionENS_6Action12ActionResultILj0EEEj + 1286 11 clang 0x000cf2de _ZN5clang6Parser25ParseAssignmentExpressionEv + 86 llvm-svn: 43985
-
Ted Kremenek authored
vector before reusing it. llvm-svn: 43984
-
Ted Kremenek authored
deserialization as a temporary location for storing serialized pointer identifiers. The definition of SerializedPtrID will likely change significantly in the future, and the current implementation caused compilation errors on some 64-bit machines. llvm-svn: 43983
-
Ted Kremenek authored
llvm-svn: 43982
-
Steve Naroff authored
Since we are all working on Leopard, change the built-in MacOS X version number (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) to target Leopard. This is only a short term solution, until the clang driver implements the "-mmacosx-version-min" flag (which will compute this value based on the target). llvm-svn: 43981
-
Fariborz Jahanian authored
llvm-svn: 43980
-
Fariborz Jahanian authored
llvm-svn: 43979
-
Arnold Schwaighofer authored
llvm-svn: 43978
-
Ted Kremenek authored
that are referenced in the ASTs. This assumes that we serialize out the decls/stmts first, and use the pointer-tracking logic in the Serializer to determine if an IdentifierInfo (or its string key) is ever referenced. This is a significant space optimization for serialized ASTs. Consider the following program: void foo(int x,int y) { return x > y ? x : y+1; } Here are the sizes of the files for the serialized ASTs: Full IdentifierTable: 23676 bytes Only-referenced Identifiers: 304 bytes. For this simple program, this is a 77% reduction in the file size of the serialized ASTs. llvm-svn: 43975
-
Ted Kremenek authored
(1) serialize out top-level decls BEFORE serializing out translation unit structures like ASTContext. (2) deserialize out translation unit structures like ASTContext before top-level decls by first skipping the decls in the bitstream, deserializing ASTContext and friends, and then jumping back to the bitstream block with the decls and then deserializing them. Change (1) allows us to utilize the pointer-tracking system in the Serializer to only serialize out metadata that is actually referenced by the ASTS. Change (2) allows us to deserialize the metadata first as before, which signficantly reduces the amount of pointer backpatching the deserializer would have to do if the decls were deserialized first. llvm-svn: 43974
-
Ted Kremenek authored
serialized block in the bitstream, including a block in an entirely different nesting than the current block. This is useful for deserializing objects from a bitstream in an order different from the order that they were serialized. llvm-svn: 43973
-
Ted Kremenek authored
Moved some of the logic in BitstreamReader::ExitBlock into a utility function BitstreamReader::PopBlockScope. The latter is a private method. It will also be called by Deserializer to manipulate the current "block scope." llvm-svn: 43972
-
Evan Cheng authored
llvm-svn: 43971
-
Chris Lattner authored
llvm-svn: 43969
-
Chris Lattner authored
whether the location is the start and/or end of an expansion. These are currently not set or used by anything. llvm-svn: 43968
-
- Nov 09, 2007
-
-
Fariborz Jahanian authored
process method definitions. llvm-svn: 43967
-
Chris Lattner authored
llvm-svn: 43964
-
Evan Cheng authored
llvm-svn: 43961
-
Hartmut Kaiser authored
llvm-svn: 43960
-
Hartmut Kaiser authored
llvm-svn: 43959
-
Hartmut Kaiser authored
llvm-svn: 43958
-
Fariborz Jahanian authored
to 'self' method of instance methods. llvm-svn: 43957
-
Chris Lattner authored
llvm-svn: 43956
-
Evan Cheng authored
llvm-svn: 43955
-
Anton Korobeynikov authored
llvm-svn: 43954
-
Dale Johannesen authored
llvm-svn: 43950
-