Skip to content
  1. Apr 22, 2009
    • Chris Lattner's avatar
      Fix rdar://6814047, a crash on invalid in blocks code I noticed when · 41b86947
      Chris Lattner authored
      working on the previous fix.
      
      llvm-svn: 69742
      41b86947
    • Ted Kremenek's avatar
      Fix: <rdar://problem/6777209> false Dereference of null pointer in loop:... · 35f875c1
      Ted Kremenek authored
      Fix: <rdar://problem/6777209> false Dereference of null pointer in loop: pointer increment/decrement preserves non-nullness
      
      When the StoreManager doesn't reason well about pointer-arithmetic, propagate
      the non-nullness constraint on a pointer value when performing pointer
      arithmetic uisng ++/--.
      
      llvm-svn: 69741
      35f875c1
    • Ted Kremenek's avatar
      Tweak pretty-printing of constraints. · 1a1b62c1
      Ted Kremenek authored
      llvm-svn: 69740
      1a1b62c1
    • Douglas Gregor's avatar
      Don't bother writing a visible-declarations record for the translation · b475a5ca
      Douglas Gregor authored
      unit into the PCH file, since we won't be performing name lookup into
      it anyway. Reduces the size of the Carbon.h PCH file by ~200k.
      
      llvm-svn: 69739
      b475a5ca
    • Chris Lattner's avatar
      fix marking of nested blocks with the "hasBlockDeclRefExprs" to · 497d7b0c
      Chris Lattner authored
      mark exactly the blocks which have references that are "live through".
      This fixes a rejects valid: 
      rdar://6808730 - [sema] [blocks] block rejected at global scope
      
      llvm-svn: 69738
      497d7b0c
    • Douglas Gregor's avatar
      Lazy deserialization of the declaration chains associated with · a868bbd3
      Douglas Gregor authored
      identifiers from a precompiled header.
      
      This patch changes the primary name lookup method for entities within
      a precompiled header. Previously, we would load all of the names of
      declarations at translation unit scope into a large DenseMap (inside
      the TranslationUnitDecl's DeclContext), and then perform a special
      "last resort" lookup into this DeclContext when we knew there was a
      PCH file (see Sema::LookupName). Now, when we see an identifier named
      for the first time, we load all of the declarations with that name
      that are visible from the translation unit into the IdentifierInfo's
      chain of declarations. Thus, the explicit "look into the translation
      unit's DeclContext" code is gone, and Sema effectively uses the same
      IdentifierInfo-based name lookup mechanism whether we are using a PCH
      file or not. 
      
      This approach should help PCH scale with the size of the input program
      rather than the size of the PCH file. The "Hello, World!" application
      with Carbon.h as a PCH file now loads 20% of the identifiers in the
      PCH file rather than 85% of the identifiers. 
      
      90% of the 20% of identifiers loaded are actually loaded when we
      deserialize the preprocessor state. The next step is to make the
      preprocessor load macros lazily, which should drastically reduce the
      number of types, declarations, and identifiers loaded for "Hello,
      World".
      
      llvm-svn: 69737
      a868bbd3
    • Chris Lattner's avatar
      this is a warning now, return a well formed ast. · 1f9183c7
      Chris Lattner authored
      llvm-svn: 69731
      1f9183c7
  2. Apr 21, 2009
Loading