summaryrefslogtreecommitdiffstats
path: root/clang/clang.xcodeproj
Commit message (Collapse)AuthorAgeFilesLines
...
* move DeclObjc.h down to be alphabetically organizedChris Lattner2007-10-031-1/+1
| | | | llvm-svn: 42594
* Finish renaming ObjC declaration actions.Steve Naroff2007-10-031-1/+0
| | | | | | | | | | | | Add comments. Switch to new indentation style for the Action class. Since many actions take many arguments, the new style will... - make it easier to add/remove arguments without messing up the indentation... - make it easier to add comments to each argument (see ActOnMethodDeclaration for an example)... - in general, just makes it easier to see what is being passed. The rest of Actions will be converted "lazily"...there is no immediate need to hack all the existing methods. llvm-svn: 42587
* Renamed getCatLoc() to getLocation() to be consistant for suchFariborz Jahanian2007-10-031-0/+1
| | | | | | getter names. llvm-svn: 42577
* Rename several ObjC action methods to use the "ActOn" prefix (still a few ↵Steve Naroff2007-10-021-1/+0
| | | | | | | | | more to do). Remove Action::ObjCStartCategoryInterface/ObjCFinishInterface - they are unused. . llvm-svn: 42559
* Unified such names as protocol references, instance methods and class methodsFariborz Jahanian2007-10-021-0/+1
| | | | | | and their accessors in a variety of objective-c classes. llvm-svn: 42555
* - Add ObjcInterfaceDecl::lookupInstanceMethod(), lookupClassMethod().Steve Naroff2007-10-021-1/+0
| | | | | | | | - Add ObjcMessageExpr::getSelector(), getClassName(). - Change Sema::getObjCInterfaceDecl() to simply take an IdentifierInfo (no Scope needed). - Remove FIXME for printing ObjCMessageExpr's. llvm-svn: 42543
* This patch introduces the ObjcCategoryImplDecl class and does the checking ↵Fariborz Jahanian2007-10-021-0/+1
| | | | | | | | related to unimplemented methods in category implementation. llvm-svn: 42531
* Move ObjC decls to DeclObjC.h, a new AST header.Steve Naroff2007-10-011-1/+4
| | | | | | Update clients and add to project file. llvm-svn: 42494
* Removed use of hash table for class decls and do a name look up directly.Fariborz Jahanian2007-09-291-0/+1
| | | | | | | There is still an issue if doing ScopedLookup is an overkill and we can just access the decl using the identifier. llvm-svn: 42463
* Yesterday I discovered that 78% of all selectors in "Cocoa.h" take 0/1 argument.Steve Naroff2007-09-281-1/+0
| | | | | | | | | | | | This motivated implementing a devious clattner inspired solution:-) This approach uses a small value "Selector" class to point to an IdentifierInfo for the 0/1 case. For multi-keyword selectors, we instantiate a MultiKeywordSelector object (previously known as SelectorInfo). Now, the incremental cost for selectors is only 24,800 for Cocoa.h! This saves 156,592 bytes, or 86%!! The size reduction is also the result of getting rid of the AST slot, which was not strictly necessary (we will associate a selector with it's method using another table...most likely in Sema). This change was critical to make now, before we have too many clients. I still need to add some comments to the Selector class...will likely add later today/tomorrow. llvm-svn: 42452
* Patch for method implementation. It populates ObjcImplementationDecl object ↵Fariborz Jahanian2007-09-271-0/+1
| | | | | | | | with method implementation declarations . It checks and warns on those methods declared in class interface and not implemented. llvm-svn: 42412
* objc messages have side effects, return true from hasLocalSideEffect,Chris Lattner2007-09-261-1/+0
| | | | | | | | | | fixing: VoidMethod.m:14:5: warning: expression result unused [Greeter hello]; ^~~~~~~~~~~~~~~ llvm-svn: 42380
* Updated XCode project to reflect that DataflowValues.h and DataflowSolver.h haveTed Kremenek2007-09-251-5/+13
| | | | | | moved to include/clang/Analysis/FlowSensitive. llvm-svn: 42327
* This patch introduces a new class to keep track of class implementation ↵Fariborz Jahanian2007-09-251-0/+1
| | | | | | | | | info. It also adds more semantic checks for class and protocol declarations. Test cases are good indications of kind of checking being done in this patch. llvm-svn: 42311
* Make case sorting deterministic by not depending on pointer Chris Lattner2007-09-211-1/+0
| | | | | | values. Patch mostly by Gabor Greif for PR1682. llvm-svn: 42203
* Updated XCode project with locations of "Analysis" visitor header files.Ted Kremenek2007-09-201-6/+18
| | | | llvm-svn: 42176
* Added support to clang driver to view ASTs using GraphViz. ThisTed Kremenek2007-09-191-0/+7
| | | | | | functionality is still preliminary. llvm-svn: 42152
* Progress on message expressions...Steve Naroff2007-09-181-1/+0
| | | | | | | | | | | - Add ObjcMessageExpr AST node and associated constructors. - Add SourceLocation's to ActOnKeywordMessage/ActOnUnaryMessage API. - Instantiate message expressions... - Replace alloca usage with SmallString. Next step, installing a correct type, among other tweaks... llvm-svn: 42116
* Re-added UninitializedValues.cpp to the XCode project because the file was ↵Ted Kremenek2007-09-171-4/+5
| | | | | | renamed. llvm-svn: 42057
* - Refactored ObjcKeywordInfo into ObjcKeywordInfo, ObjcKeywordDecl, and ↵Steve Naroff2007-09-171-1/+0
| | | | | | | | | | | | ObjcKeywordMessage. - Removed helper ObjcGetSelectorInfo(), moving the code directly into ObjcBuildMethodDeclaration(). - Many refinements to ParseObjCMessageExpression(). - Add ActOnMessageExpression(). Next step, finish the message actions and (finally) create/instantiate an ObjcMessageExpr AST. llvm-svn: 42050
* Added ASTConsumer.h to XCode project.Ted Kremenek2007-09-171-0/+3
| | | | llvm-svn: 42030
* Add support for ObjC keyword selectors.Steve Naroff2007-09-171-1/+1
| | | | | | | | | | - Add SelectorInfo/SelectorTable classes, modeled after IdentifierInfo/IdentifierTable. - Add SelectorTable instance to ASTContext, created lazily through ASTContext::getSelectorInfo(). - Add SelectorInfo slot to ObjcMethodDecl. - Add helper function to derive a SelectorInfo from ObjcKeywordInfo. Misc: Got the Decl stats stuff up and running again...it was missing support for ObjC AST's. llvm-svn: 42023
* switch the llvm emitter to ASTConsumer interface.Chris Lattner2007-09-161-5/+1
| | | | llvm-svn: 42013
* Initial checkin of rewriter interface. It is just stubbed out for now.Chris Lattner2007-09-151-0/+24
| | | | llvm-svn: 41990
* Start converting Action methods from Parse-prefix to ActOn-prefix.Steve Naroff2007-09-151-1/+0
| | | | | | The previous naming scheme was confusing, since it resulted in both the Parser and Action modules having methods with the same name. In addition, the Action module never does any parsing... llvm-svn: 41986
* Added several files to XCode project file...Ted Kremenek2007-09-141-2/+15
| | | | | | | | | | Analysis/DataflowSolver.h Analysis/UnintializedValues.cpp include/clang/Analysis/CFGVarDeclVisitor.h include/clang/Analysis/DataflowValues.h include/clang/Analysis/UninitializedValues.h llvm-svn: 41974
* Several improvement to Sema::ParseRecordBody()...Steve Naroff2007-09-141-1/+0
| | | | | | | | - Adding a safer prologue. The previous prologue would accept a null and therefore assume we had an interface (which was incorrect). - Fixed FieldDecl's classof method. This allowed me to simplify some unnecessary casting. - When diagnosing errors, make sure the FieldDecl/EnclosingDecl are marked as invalid. In addition, don't delete the field...rather, add all fields to the enclosing decl. Memory management can/should be done elsewhere. This code was never "upgraded" to the recently added invalid decl strategy. llvm-svn: 41964
* Patch to store ivars into interface class object.Fariborz Jahanian2007-09-141-0/+1
| | | | llvm-svn: 41961
* Move Decl::NextDeclarator (w/ setters/getters) down to ScopedDecl/FieldDecl.Steve Naroff2007-09-131-1/+0
| | | | | | Decl is now svelte:-) llvm-svn: 41935
* Patch for collecting ivars before running action on them.Fariborz Jahanian2007-09-131-0/+1
| | | | llvm-svn: 41932
* Add ASTContext::StringMap<char> to unique selector names.Steve Naroff2007-09-121-1/+0
| | | | llvm-svn: 41894
* Added files CFGStmtVisitor and DataflowStmtVisitor to XCode project.Ted Kremenek2007-09-121-0/+5
| | | | llvm-svn: 41886
* - Add an ObjcIvarDecl AST node (a subclass of FieldDecl).Steve Naroff2007-09-111-1/+0
| | | | | | | - Instantiate the node in Sema::ParseField(), based on the type of the TagDecl. - Add Sema::ObjcAddInstanceVariable(), responsible for adorning/adding the ObjcIvarDecl. llvm-svn: 41864
* Change ObjcMethodDecl class derivation.Fariborz Jahanian2007-09-111-0/+1
| | | | llvm-svn: 41860
* Some small tweaks to the recent Objc support...Steve Naroff2007-09-101-1/+0
| | | | llvm-svn: 41803
* Added "Dead Stores", a flow-sensitive checker that checks for storesTed Kremenek2007-09-061-0/+14
| | | | | | | | | | to variables that are no longer live. This analysis is built on top of CFGs and the LiveVariables analysis. changes to driver: added driver option "-check-dead-stores" to run the analysis llvm-svn: 41754
* Added an early implementation of Live-Variables analysis built onTed Kremenek2007-09-061-0/+23
| | | | | | | | | | source-level CFGs. This code may change significantly in the near future as we explore different means to implement dataflow analyses. Added a driver option, -dump-live-variables, to view the output of live variable analysis. This output is very ALPHA; it will be improved shortly. llvm-svn: 41737
* Start implementing Actions interface for ObjC classes, instance variables, ↵Steve Naroff2007-09-051-1/+1
| | | | | | | | and methods. Lot's of small changes to the parser. llvm-svn: 41732
* Simplified initializer semantic analysis by adding the following 2 methods:Steve Naroff2007-09-041-1/+1
| | | | | | | | | - ArrayType::getBaseType(), and - ConstantArrayType::getMaximumElements(). Wanted to do this cleanup before adding structure support, which will add more complexity. llvm-svn: 41715
* Fix a bug/missing-feature Ted noticed: the 'unused' warning should notChris Lattner2007-08-311-1/+0
| | | | | | | | | | warn about the last stmt in a stmtexpr, f.e. there should be no warning for: int maxval_stmt_expr(int x, int y) { return ({int _a = x, _b = y; _a > _b ? _a : _b; }); } llvm-svn: 41655
* Added "PrinterHelper" interface (include/AST/PrinterHelper) that canTed Kremenek2007-08-311-0/+3
| | | | | | | | | | | | | | | | be passed as an (optional) argument to StmtPrinter to customize printing of AST nodes. Used new PrinterHelper interface to enhance printing and visualization of CFGs. The CFGs now illustrate the semantic connectives between statements and terminators, wheras in the previous printing certain expressions would (visible) be printed multiple times to reflect which expressions used the results of other expressions. The end result is that the CFG is easier to read for flow of expression values (following principles similar to the LLVM IR). llvm-svn: 41651
* Teach the stmtdumper to dump location/range info when a SourceMgr is available.Chris Lattner2007-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | | For example, -parse-ast-dump now prints: static inline int __inline_isinff(float __x) (CompoundStmt 0x2409a20 (ReturnStmt 0x2409a10 (BinaryOperator 0x24099f0 'int' <///usr/include/architecture/i386/math.h:183:63, col:102> '==' (CallExpr 0x24098f0 'float' <col:63, col:82> (ImplicitCastExpr 0x24098e0 'float (*)(float)' <col:63> (DeclRefExpr 0x2409880 'float (float)' <col:63> Decl='__builtin_fabsf' 0x2409840)) (DeclRefExpr 0x24098a0 'float' <col:79> Decl='__x' 0x2409810)) (CallExpr 0x24099c0 'float' <col:87, col:102> (ImplicitCastExpr 0x2409870 'float (*)(void)' <col:87> (DeclRefExpr 0x2409980 'float (void)' <col:87> Decl='__builtin_inff' 0x2409940)))))) where it only prints filename/line# if it changes from the previous value. We really need loc info on stmts though, like we have on exprs. llvm-svn: 41602
* Implement GCC-compatible layout and typing of enum constants and enum decl. Chris Lattner2007-08-291-1/+1
| | | | | | A small bit of codegen work is still pending. llvm-svn: 41571
* Fix bogus warnings (noticed by Chris) with array-constraints.c.Steve Naroff2007-08-261-1/+1
| | | | | | | | | Remove bogus type conversions in Sema::GetTypeForDeclarator(). This commit only deals with the array types (DeclaratorCheck::Array), though the rest of this routine should be reviewed. Given the complexity of C declarators, I don't want to change the entire routine now (will discuss with Chris tomorrow). llvm-svn: 41443
* add a new ImaginaryLiteral AST node that is used toChris Lattner2007-08-261-1/+1
| | | | | | | | | | | | | | | | | | represent imaginary literals: float _Complex A; void foo() { A = 1.0iF; } generates: (BinaryOperator 0x2305ec0 '_Complex float' '=' (DeclRefExpr 0x2305e60 '_Complex float' Decl='A' 0x2305cf0) (ImaginaryLiteral 0x2305f40 '_Complex float' (FloatingLiteral 0x2305ea0 'float' 1.000000)))) llvm-svn: 41413
* refactor enough of the top-level parsing logic to parse andChris Lattner2007-08-251-0/+4
| | | | | | ignore 'namespace foo {}' llvm-svn: 41400
* Teach emit-llvm for scalars to properly handle compound assignment Chris Lattner2007-08-241-1/+0
| | | | | | operators in all their glory :) llvm-svn: 41373
* Added ExprCXX.cppTed Kremenek2007-08-241-0/+5
| | | | llvm-svn: 41370
* completely refactor codegen of scalar expressions out into its own ↵Chris Lattner2007-08-241-0/+4
| | | | | | | | | CGExprScalar.cpp file. This patch temporarily breaks compound assignment operators, but greatly simplifies many things. llvm-svn: 41355
* rename two files.Chris Lattner2007-08-241-8/+8
| | | | llvm-svn: 41350
OpenPOWER on IntegriCloud