Skip to content
  1. Aug 04, 2011
  2. Aug 03, 2011
  3. Aug 02, 2011
    • Rafael Espindola's avatar
      Update for LLVM change in PassManagerBuilder. · 56a7dab0
      Rafael Espindola authored
      llvm-svn: 136728
      56a7dab0
    • Chris Lattner's avatar
      disable array bounds overflow warning for cases where an array · f51dae03
      Chris Lattner authored
      has a single element.  This disables the warning in cases where
      there is a clear bug, but this is really rare (who uses arrays
      with one element?) and it also silences a large class of false
      positive issues with C89 code that is using tail padding in structs.
      
      A better version of this patch would detect when an array is in
      a tail position in a struct, but at least patch fixes the huge
      false positives that are hitting postgres and other code.
      
      llvm-svn: 136724
      f51dae03
    • Chad Rosier's avatar
      Fix cmake for r136702 (at least for the most part). Chandler has been kind · 7b15b2e8
      Chad Rosier authored
      enough to offer to investigate the underlying issue.  Thanks to Doug for his
      assistance as well.
      
      llvm-svn: 136719
      7b15b2e8
    • Fariborz Jahanian's avatar
      objective-c rewrite: Fixes rewriting of objective-c collection · c7c346fd
      Fariborz Jahanian authored
      statement inside a block. // rdar://9878420
      
      llvm-svn: 136717
      c7c346fd
    • Chad Rosier's avatar
      Temporarily revert parts of r136702 to make cmake builds happy. · edbb3ef9
      Chad Rosier authored
      Someone with more cmake experience want to throw me a bone? :)
      
      llvm-svn: 136709
      edbb3ef9
    • Douglas Gregor's avatar
      Change the hashing function for DeclContext lookup within an AST file · 3b65ed0a
      Douglas Gregor authored
      by eliminating the type ID from constructor, destructor, and
      conversion function names. There are several reasons for this change:
        - A given type (say, int*) isn't guaranteed to have a single, unique
        type ID within a chain of PCH files. Hence, we could end up hashing
        based on the wrong type ID, causing name lookup to fail.
      
        - The mapping from types back to type IDs required one DenseMap
        entry for every type that was ever deserialized, which was an
        unacceptable cost to support just the name lookup of constructors,
        destructors, and conversion functions. Plus, this mapping could
        never actually work with chained or multiple PCH, based on the first
        bullet.
      
      Once we have eliminated the type from the hash function, these
      problems go away, as does my horrible "reverse type remap" hack, which
      was doomed from the start (see bullet #1 above) and far too
      complicated. 
      
      However, note that removing the type from the hash function means that
      all constructors, destructors, and conversion functions have the same
      hash key, so I've updated the caller to double-check that the
      declarations found have the appropriate name.
      
      llvm-svn: 136708
      3b65ed0a
    • Ted Kremenek's avatar
      [analyzer] Drastically simplify ExprEngine::VisitInitListExpr() by assuming... · 9a2001a8
      Ted Kremenek authored
      [analyzer] Drastically simplify ExprEngine::VisitInitListExpr() by assuming all initializer expressions have already been evaluated.
      
      llvm-svn: 136706
      9a2001a8
    • Eli Friedman's avatar
    • Chad Rosier's avatar
      When the compiler crashes, the compiler driver now produces diagnostic · be10f985
      Chad Rosier authored
      information including the fully preprocessed source file(s) and command line 
      arguments.  The developer is asked to attach this diagnostic information to a 
      bug report.
      rdar://9575623
      
      llvm-svn: 136702
      be10f985
    • Jonathan D. Turner's avatar
      Following up the earlier refactoring/cleanup work by fixing up how we manage... · db1c9e32
      Jonathan D. Turner authored
      Following up the earlier refactoring/cleanup work by fixing up how we manage the virtual files the ASTReader has to handle.  Specifically, this occurs when the reader is reading AST files that were created in memory and not written to disk.  For example, when a user creates a chained PCH using command line flags.  These virtual files are stored in MemoryBuffers in ChainIncludeSource.cpp, and then read back in by the ASTReader.  This patch moves the management of these buffers into the ModuleManager, so that it becomes the authority on where these buffers are located.
      
      llvm-svn: 136697
      db1c9e32
    • Anna Zaks's avatar
      KeychainAPI checker: only check the paths on which the allocator function... · 9ab728bb
      Anna Zaks authored
      KeychainAPI checker: only check the paths on which the allocator function returned noErr. (+ minor cleanup)
      
      llvm-svn: 136694
      9ab728bb
    • Douglas Gregor's avatar
      Implement a proper local -> global type ID remapping scheme in the AST · 5204bded
      Douglas Gregor authored
      reader. This scheme permits an AST file to be loaded with its type IDs
      shifted anywhere in the type ID space. 
      
      At present, the type indices are still allocated in the same boring
      way they always have been, just by adding up the number of types in
      each PCH file within the chain. However, I've done testing with this
      patch by randomly sliding the base indices at load time, to ensure
      that remapping is occurring as expected. I may eventually formalize
      this in some testing flag, but loading multiple (non-chained) AST
      files at once will eventually exercise the same code.
      
      There is one known problem with this patch, which involves name lookup
      of operator names (e.g., "x.operator int*()") in cases where multiple
      PCH files in the chain. The hash function itself depends on having a
      stable type ID, which doesn't happen with chained PCH and *certainly*
      doesn't happen when sliding type IDs around. We'll need another
      approach. I'll tackle that next.
      
      llvm-svn: 136693
      5204bded
Loading