summaryrefslogtreecommitdiffstats
path: root/clang/Sema/Sema.h
Commit message (Collapse)AuthorAgeFilesLines
...
* Store output and input operands as well as clobber information in the ↵Anders Carlsson2007-11-221-0/+7
| | | | | | AsmStmt. Ted, could you please review the serialization/deserialization code? llvm-svn: 44266
* Store inline asm code in the AST.Anders Carlsson2007-11-201-1/+2
| | | | llvm-svn: 44255
* Finish up variadic methods/messages.Steve Naroff2007-11-151-4/+6
| | | | llvm-svn: 44172
* Implement support for variadic methods (work in progress).Steve Naroff2007-11-151-1/+2
| | | | llvm-svn: 44171
* implement test/Sema/typedef-prototype.c, allowing codeChris Lattner2007-11-141-1/+2
| | | | | | | | | | | 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
* Rename Sema method to follow class naming conventionNate Begeman2007-11-131-1/+1
| | | | llvm-svn: 44069
* 'super' nailed.Fariborz Jahanian2007-11-121-0/+1
| | | | llvm-svn: 44025
* - Minor cleanup to yesterday's changes to Sema::ObjcActOnStartOfMethodDef();Steve Naroff2007-11-121-0/+4
| | | | | | | | - Add Sema::CurMethodDecl, in preparation for adding ObjcIvarRefExpr. - Add ObjcInterfaceDecl::lookupInstanceVariable(), in prep for adding ivars. - A couple renames in ObjcInterfaceDecl, while I was in the vicinity:-) llvm-svn: 44015
* Remove Action::ObjcActOnMethodDefinition(). Rationale:Steve Naroff2007-11-121-2/+0
| | | | | | | | | - It is not an "action" - it is never called by the parser. - It was only used by one method, Sema::ObjcActOnStartOfMethodDef(). As a result, the logic it embodied is now directly implemented in Sema::ObjcActOnStartOfMethodDef(). llvm-svn: 44008
* Remove Sema::ObjcBuildMethodParameter().Steve Naroff2007-11-121-5/+3
| | | | | | Modify Sema::ParseParamDeclarator() to work for both ActOnStartOfFunctionDef() and ObjcActOnStartOfMethodDef(). llvm-svn: 44006
* Replace 2 method definition actions (ActOnFunctionDefBody, ↵Steve Naroff2007-11-111-2/+2
| | | | | | ActOnMethodDefBody) with 1 method definition action (ActOnFinishFunctionBody). I can't think of any reason that we would need two action hooks. llvm-svn: 44000
* This is the last 5% of the solution to teaching Sema::ActOnInstanceMessage() ↵Steve Naroff2007-11-111-4/+3
| | | | | | | | | | | | | | | 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
* Teach Sema::ActOnInstanceMessage() about private methods. That is, methods ↵Steve Naroff2007-11-111-1/+1
| | | | | | | | | | 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
* Minor code clean up in method def area.Fariborz Jahanian2007-11-101-1/+1
| | | | llvm-svn: 43980
* Represent method definitions as separate AST nodes. Pretty print will come next.Fariborz Jahanian2007-11-101-0/+1
| | | | llvm-svn: 43979
* Some code clean up in the form of name changes for functions whichFariborz Jahanian2007-11-091-4/+5
| | | | | | process method definitions. llvm-svn: 43967
* Added class context to method declarations. Provide "interface *" typeFariborz Jahanian2007-11-091-1/+2
| | | | | | to 'self' method of instance methods. llvm-svn: 43957
* First patch toward rewriting of method definitions. This is work in progress.Fariborz Jahanian2007-11-081-0/+7
| | | | llvm-svn: 43915
* AST for objective-c's @throw statement and its pretty-printing.Fariborz Jahanian2007-11-071-0/+3
| | | | llvm-svn: 43802
* Patch for objc2's property ASTs, as well as pretty-priting the ASTs.Fariborz Jahanian2007-11-061-0/+6
| | | | llvm-svn: 43778
* Implement rewrite rules for ObjC string constants.Steve Naroff2007-11-031-1/+2
| | | | llvm-svn: 43665
* AST for @try statement.Fariborz Jahanian2007-11-021-0/+4
| | | | llvm-svn: 43640
* AST for @finally statement.Fariborz Jahanian2007-11-021-0/+3
| | | | llvm-svn: 43629
* AST build for @catch clause (this is work in progress).Fariborz Jahanian2007-11-011-0/+4
| | | | llvm-svn: 43628
* 1) More additions for objective-c's qualifier type.Fariborz Jahanian2007-10-311-2/+3
| | | | | | 2) Fixed a test failure (which should have failed all along!). llvm-svn: 43589
* Fixed problem with rewriting stand-alone @implementation (with no matching ↵Fariborz Jahanian2007-10-311-1/+2
| | | | | | | | @interface). A new test case added. llvm-svn: 43568
* Implement a more sensible strategy for ObjC built-in types (addressing a ↵Steve Naroff2007-10-311-8/+2
| | | | | | | | | | | | long standing FIXME in Sema::GetObjcIdType()). This removes several gross hacks to work around the previous "lazy" behavior. Two notes: - MinimalActions still needs to be taught about the built-in types (This breaks one of the -noop test cases). I started this, then added a FIXME. - I didn't convert Sema::GetObjcProtoType() yet. llvm-svn: 43567
* Encode Class, SEL and Objective-C objects.Anders Carlsson2007-10-311-0/+3
| | | | llvm-svn: 43540
* - Add location info to category/protocol AST'sSteve Naroff2007-10-301-1/+2
| | | | | | - Rewrite categories. llvm-svn: 43501
* More support for rewriting ObjC intefaces. Still some edge cases to handle...Steve Naroff2007-10-301-2/+3
| | | | llvm-svn: 43493
* This commit contains lot's of small tweaks to how we pass around and store ↵Steve Naroff2007-10-291-4/+6
| | | | | | SourceLocation's for interfaces/protocols/categories/implementations. llvm-svn: 43475
* Implement *skeletal* support for representing GNU inline asm stmts in the AST,Chris Lattner2007-10-291-0/+3
| | | | | | | resolving a crash on a .i file in PR1750. We now generate 49 errors on the .i file in that bug. llvm-svn: 43433
* Start rewriting ObjC interfaces. As a start, we comment out all the methods. ↵Steve Naroff2007-10-261-2/+4
| | | | | | This involved refining how the parser/AST passes/manages SourceLocations for ObjcMethodDecl's. llvm-svn: 43404
* Implementation of AST for @protocol expression.Fariborz Jahanian2007-10-171-0/+10
| | | | llvm-svn: 43075
* Generate code for static variables that don't have initializers. Also, ↵Anders Carlsson2007-10-171-1/+2
| | | | | | report an error if a static initializer is not constant. llvm-svn: 43058
* Fix location processing of @selector: the range should include the @ sign.Fariborz Jahanian2007-10-161-0/+1
| | | | llvm-svn: 43051
* Add Sema::CheckMessageArgumentTypes()...Steve Naroff2007-10-161-2/+6
| | | | llvm-svn: 43050
* Fix location processing of @encode: the range should include the @ sign.Chris Lattner2007-10-161-0/+1
| | | | | | @selector probably gets this wrong also. llvm-svn: 43048
* Patch to implement AST generation for objective-c's @selector expression.Fariborz Jahanian2007-10-161-0/+9
| | | | llvm-svn: 43038
* Add code generation and sema checking for __builtin_va_arg.Anders Carlsson2007-10-151-0/+7
| | | | llvm-svn: 43006
* Added ASTContext::setObjcIdType/getObjcIdType(), set by Sema.Steve Naroff2007-10-151-3/+0
| | | | | | Also noticed ASTContext::BuiltinVaListType wasn't being initialized to the null type (so I set it). llvm-svn: 42983
* - Added Sema::AddFactoryMethodToGlobalPool and ↵Steve Naroff2007-10-141-0/+29
| | | | | | | | | | | Sema::AddInstanceMethodToGlobalPool and DenseMaps. This will allow us to efficiently lookup a method from a selector given no type information (for the "id" data type). - Fixed some funky "} else {" indentation in Sema::ActOnAddMethodsToObjcDecl(). I'd prefer we stay away from this style...it wastes space and isn't any easier to read (from my perspective, at least:-) - Changed Parser::ParseObjCInterfaceDeclList() to only call Action::ActOnAddMethodsToObjcDecl() when it actually has methods to add (since most interface have methods, this is a very minor cleanup). llvm-svn: 42957
* Fixed a @compatible_alias bug. In the process, discovered unnecessary 2ndry ↵Fariborz Jahanian2007-10-121-1/+2
| | | | | | | | lookup ok class names and streamlined this logic to do the lookup once. llvm-svn: 42926
* This patch implementa objective-c's @compatibilty-alias declaration.Fariborz Jahanian2007-10-111-0/+5
| | | | llvm-svn: 42883
* Patch to create protocol conforming class types.Fariborz Jahanian2007-10-111-3/+5
| | | | llvm-svn: 42856
* Refinements to Sema::GetObjcIdType()...Steve Naroff2007-10-101-4/+3
| | | | | | | | | - Cache the typedef, not the type (avoids importing AST/Type.h). - Emit an error if "id" cannot be found. - Comment the routine and add a FIXME to reconsider how we emulate GCC's new fangled behavior. This isn't a priority for now, since almost no code depends on having "id" built-in. - Add a test. llvm-svn: 42845
* - Make sure default return/argument types (for methods) default to "id".Steve Naroff2007-10-101-0/+7
| | | | | | | - Cache the "id" type in Sema...initialize ObjcIdType and TUScope (oops). - Fix ActOnInstanceMessage to allow for "id" type receivers...still work to do (next). llvm-svn: 42842
* Remove Scope argument from ObjC actions that either don't need it or can now ↵Steve Naroff2007-10-101-12/+11
| | | | | | | | use TUScope. Also improve a recently added comment. llvm-svn: 42826
* Make sure methods with no return type default to "id".Steve Naroff2007-10-091-1/+7
| | | | | | | | | | This fixes a crasher in Sema::MatchTwoMethodDeclarations(), identified by selector-overload.m (just added). Added Action::ActOnTranslationUnitScope() and renamed Action::PopScope to ActOnPopScope. Added a Translation Unit Scope instance variable to Sema (will be very useful to ObjC-related actions, since ObjC declarations are always file-scoped). llvm-svn: 42817
* Update DeclKind enums to reflect ObjcProtocolDecl's inheritance change.Chris Lattner2007-10-091-1/+1
| | | | llvm-svn: 42802
OpenPOWER on IntegriCloud