Skip to content
  1. Nov 12, 2007
    • Steve Naroff's avatar
      · b342361c
      Steve Naroff authored
      Now that we can refer to instance variables, make sure they are considered lvalues.
      
      llvm-svn: 44017
      b342361c
    • Steve Naroff's avatar
      · e46504b2
      Steve Naroff authored
      Implement instance variable references.
      
      llvm-svn: 44016
      e46504b2
    • Steve Naroff's avatar
      · e3d1ab29
      Steve Naroff authored
      - Minor cleanup to yesterday's changes to Sema::ObjcActOnStartOfMethodDef();
      - 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
      e3d1ab29
    • Gordon Henriksen's avatar
      Typo fix in the tutorial. · 1ced282c
      Gordon Henriksen authored
      llvm-svn: 44014
      1ced282c
    • Duncan Sands's avatar
      Compile fix. · 5dc0c928
      Duncan Sands authored
      llvm-svn: 44013
      5dc0c928
    • Owen Anderson's avatar
      Add a flag for indirect branch instructions. · 933b5b7e
      Owen Anderson authored
      Target maintainers: please check that the instructions for your target are correctly marked.
      
      llvm-svn: 44012
      933b5b7e
    • Evan Cheng's avatar
      Refactor some code. · be51f28e
      Evan Cheng authored
      llvm-svn: 44010
      be51f28e
    • Steve Naroff's avatar
      · 8e5c112a
      Steve Naroff authored
      Forgot this file from my last commit...
      
      llvm-svn: 44009
      8e5c112a
    • Steve Naroff's avatar
      · ff4dbff4
      Steve Naroff authored
      Remove Action::ObjcActOnMethodDefinition(). Rationale:
      
      - 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
      ff4dbff4
    • Steve Naroff's avatar
      · 3434bebe
      Steve Naroff authored
      Make sure @property is allowed within a category.
      
      Bug submitted by Keith Bauer.
      
      CookieJar:Desktop keith$ cat test.m
      #import <WebKit/WebKit.h>
      
      llvm-svn: 44007
      3434bebe
    • Steve Naroff's avatar
      · d0bf516e
      Steve Naroff authored
      Remove Sema::ObjcBuildMethodParameter().
      Modify Sema::ParseParamDeclarator() to work for both ActOnStartOfFunctionDef() and ObjcActOnStartOfMethodDef().
      
      llvm-svn: 44006
      d0bf516e
    • Owen Anderson's avatar
      Fix rewriting of PHI nodes. · 556fb346
      Owen Anderson authored
      Could someone more familiar with machine-level stuff review this for me?
      
      llvm-svn: 44005
      556fb346
    • Hartmut Kaiser's avatar
      Updated VC++ build system · 28af9f7d
      Hartmut Kaiser authored
      llvm-svn: 44004
      28af9f7d
    • Owen Anderson's avatar
      Remove unnecessary #include's. · f66f0d61
      Owen Anderson authored
      llvm-svn: 44003
      f66f0d61
    • Owen Anderson's avatar
      As Chris and Evan pointed out, BreakCriticalMachineEdges doesn't really need · a1cd4521
      Owen Anderson authored
      to be a pass of its own.  Instead, move it out into a helper method.
      
      llvm-svn: 44002
      a1cd4521
    • Owen Anderson's avatar
      Fix on 64-bit machines. · 55f4e5d2
      Owen Anderson authored
      llvm-svn: 44001
      55f4e5d2
    • Steve Naroff's avatar
      · b313fc32
      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
      b313fc32
  2. Nov 11, 2007
    • Steve Naroff's avatar
      · bb87572d
      Steve Naroff authored
      Replace 3 method definition functions (ObjcParseMethodDefinition, ParseObjCInstanceMethodDefinition, ParseObjCClassMethodDefinition) with 1 method definition function (ParseObjCMethodDefinition).
      
      Less code/confusion.
      
      llvm-svn: 43999
      bb87572d
    • Anton Korobeynikov's avatar
      Clarify the meaning of '-2' register number · 0644bb86
      Anton Korobeynikov authored
      llvm-svn: 43998
      0644bb86
    • Anton Korobeynikov's avatar
      Use TableGen to emit information for dwarf register numbers. · 4edfea43
      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
      4edfea43
    • Steve Naroff's avatar
      · 49effdef
      Steve Naroff authored
      Tweak Sema::ActOnInstanceMessage() to treat the built-in "Class" type the same as "id".
      
      llvm-svn: 43996
      49effdef
    • Steve Naroff's avatar
      · cac26f4f
      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
      cac26f4f
    • Steve Naroff's avatar
      · 5f9ae64f
      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
      5f9ae64f
    • Anton Korobeynikov's avatar
      Add convenient helper to obtain list of ints · a468a11d
      Anton Korobeynikov authored
      llvm-svn: 43993
      a468a11d
    • Steve Naroff's avatar
      · 22e078e0
      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
      22e078e0
  3. Nov 10, 2007
    • Dale Johannesen's avatar
      Add CCAssignToStackABISizeAlign for convenience in · b988e7e8
      Dale Johannesen authored
      dealing with types whose size & alignment are
      different on different subtargets.  Use it for x86 f80.
      
      llvm-svn: 43988
      b988e7e8
    • Fariborz Jahanian's avatar
      0bd56b77
    • Fariborz Jahanian's avatar
      pretty priting for method definitions. · 16e31230
      Fariborz Jahanian authored
      llvm-svn: 43986
      16e31230
    • Steve Naroff's avatar
      · 257b4a24
      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
      257b4a24
    • Ted Kremenek's avatar
      Fixed a bug introduced by my last patch. Now we properly clear out the BatchIDVec · b0cdfeb4
      Ted Kremenek authored
      vector before reusing it.
      
      llvm-svn: 43984
      b0cdfeb4
    • Ted Kremenek's avatar
      Fixed hack in BatchReadOwnedPtrs to no longer use the array of pointers passed in for · cdf5fca3
      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
      cdf5fca3
    • Ted Kremenek's avatar
      195c478e
    • Steve Naroff's avatar
      · 68754c59
      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
      68754c59
    • Fariborz Jahanian's avatar
      Minor code clean up in method def area. · 6aafd413
      Fariborz Jahanian authored
      llvm-svn: 43980
      6aafd413
    • Fariborz Jahanian's avatar
    • Arnold Schwaighofer's avatar
      d2c16ff9
    • Ted Kremenek's avatar
      Changed the serialization of IdentifierTable to only serialize out entries · 739156ab
      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
      739156ab
    • Ted Kremenek's avatar
      Modifed the test serialization driver to... · 11d700bf
      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
      11d700bf
    • Ted Kremenek's avatar
      Added "random access" to the Deserializer to allow a client to jump to any · 55e30be8
      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
      55e30be8
    • Ted Kremenek's avatar
      Made Deserializer a friend class of BitstreamReader. · a7f49ce5
      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
      a7f49ce5
Loading