aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-10-24untabifyDevang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43280 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-24Fixed a strange construct, please review.Hartmut Kaiser
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43278 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-24Silenced a VC++ warning.Hartmut Kaiser
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43277 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-23Add some plumbing to rewrite message expressions (still under construction).Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43274 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-23Fix typo.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43269 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-23Handle nested structs.Devang Patel
typdef struct A { int i; struct A *next; } A git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43268 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-23Implemented serialization for IdentifierInfo and IdentifierTable.Ted Kremenek
Updated serialization test code in the driver to test serialization of these types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43266 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-23Handle simple struct member expr.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43258 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-23- Add rewrite rule for @class.Steve Naroff
- Add setter/getter to ObjcClassDecl. - Predefined key runtime functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43257 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-23Patch to complete metadata generation for each implemented class.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43255 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-23Begin struct layout work.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43236 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-23Patch for initialization of class's Meta-class metadata.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43235 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-22This patch generates protocol metadata and all its sub-metadata.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43233 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19Fix a crash on test/Sema/invalid-decl.c Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43188 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19Silenced a VC++ warning.Hartmut Kaiser
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43179 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19add NL at end of fileGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43178 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19rewrite of metadata for implemented instance methods.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43159 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19Include a simple test case for the previous commit...Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43158 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Fix the previous (short lived:-) FIXME.Steve Naroff
I didn't realize that GCC considers this a hard error (I thought it was built-in). Since it's not, we should simply emit an error. [dylan:~/llvm/tools/clang] admin% cc -c trivial.m trivial.m:6: error: cannot find interface declaration for 'NSConstantString' [administrators-powerbook59:~/llvm/tools/clang] admin% ../../Debug/bin/clang trivial.m trivial.m:6:16: error: cannot find interface declaration for 'NSConstantString' NSString *s = @"123"; ^ 1 diagnostic generated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43157 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Fixed DeclStmt::child_begin() to actually create an iterator thatTed Kremenek
visits its decls, rather than just creating an "end()" iterator. Fixed child_end() for statements and expressions to use child_iterator() to create the end() iterator, rather than just returning NULL. Fixed bug in StmtIterator where we did not correctly detect if we had marched off the end of the ScopedDecls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43156 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Check for Nullness of value built in GetObjcProtoType.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43155 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Minor grammar fix.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43154 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Add a FIXME to an assert.Steve Naroff
Change a dyn_cast_or_null back to cast (which is more efficient). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43152 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Patch to rewrite ivar tables metadata for classes defined.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43151 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18remove dead #includeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43149 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18First patch toward rewriting of objective-c's meta data.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43143 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Tweak a recent fix to UsualArithmeticConversions (made by Chris - r43113). ↵Steve Naroff
The benefit of this tweak is it guarantees the entire routine operates on unqualified types (which I believe is a bit clearer). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43142 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Added StmtIterator.cpp and StmtIterator.h to the XCode project.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43139 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Refactored StmtIterator into classes StmtIteratorBase (non-templated)Ted Kremenek
and StmtIteratorImpl (templated), which StmtIterator and ConstStmtIterator now succintly subclass. Implemented iteration over the initializers in DeclStmts. This is not thoroughly tested, so there may be bugs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43138 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Replaced virtual method call to child_begin() in child_end() byTed Kremenek
directly inlining its logic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43137 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Fixed broken build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43132 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Silenced a couple of VC++ warnings.Hartmut Kaiser
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43125 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Updated VC++ build systemHartmut Kaiser
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43124 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Fix a bug in Sema::CheckConditionalOperands(). When mixing pointers and null ↵Steve Naroff
pointer constants, we need to promote the null pointer constant (which is an integer) to the pointer type. Test case is self explanatory. This surfaced yesterday, when compiling test/Sema/cocoa.m on Leopard. Since this has nothing to do with ObjC, it's kind of bizarre this hasn't shown up before. I imagine Cocoa.h on Leopard may have changed recently? Thanks to Ted for localizing the bug and giving me a useful AST dump... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43114 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18UsualArithmeticConversions is crashing with an assertChris Lattner
when comparing "float" and "const float". This "fixes" the issue, but may not be the right fix. Steve, please review. Testcase here: test/Sema/usual-float.c git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43113 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Fix the following bug...Steve Naroff
unsigned char asso_values[] = { 34 }; int legal2() { return asso_values[0]; } The code that creates the new constant array type was operating on the original type. As a result, the constant type being generated was "unsigned char [1][]" (which is wrong). The fix is to operate on the element type - in this case, the correct type is "unsigned char [1]" I added this case to array-init.c, which clearly didn't catch this bogosity... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43112 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18remove extraneous space in @selector()Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43110 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18remove typedef.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43109 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Implemented 90% functionality of new child_iterator for Stmt objectsTed Kremenek
that will (soon) allow iteration over the initializers in declarations. This new iterator mechanism is implemented by the classes StmtIterator and ConstStmtIterator. Patched a few files to use "operator++" instead of "operator+" on child_iterators. Friendship added in VarDecl to StmtIterator to allow returning a reference to the initializer within the VarDecl. We may not wish this as a permanent solution. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43105 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Make control flow in Expr::isConstantExpr more simple andChris Lattner
local, making the code easier to read. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43104 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17Add new API to rewrite one stmt/expr with another.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43101 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17Add rewriter support for @encode expressions. For example,Chris Lattner
we currently turn: c = @encode(char *)[2] + 4; into: c = "foo"[2] + 4; Right now the foo string is hard coded, but you can imagine a world where it wouldn't be :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43093 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17The size returned by Rewriter::getRangeSize should includeChris Lattner
the size of the last token. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43092 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17Fix assertion for raw lexer.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43091 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17Move token length calculation out of the diagnostics machinery into Chris Lattner
the lexer, where it can be shared. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43090 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17wean the diagnostics machinery off the preprocessor.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43085 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17Add a new type of lexer: a raw lexer, which does not require a preprocessorChris Lattner
object in order to do its thing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43084 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17rename test file for builtin "id"...Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43082 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17Fixed includes of "clang/AST/DeclObjC.h" to work on case-sensitiveTed Kremenek
filesystems (was "#include "clang/AST/DeclObjc.h", which worked fine on a case-insensitive HFS+ volume on the Mac). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43080 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17add some comments.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43079 91177308-0d34-0410-b5e6-96231b3b80d8