Skip to content
  1. Feb 04, 2009
  2. Jan 30, 2009
    • Ted Kremenek's avatar
      Fix horrible non-termination bug in LiveVariables. The issue was that · 378e7fd3
      Ted Kremenek authored
      the liveness state of block-level expressions could oscillate because
      of two issues:
      - The initial value before a merge was not always set to "Top"
      - The set of live block-level expressions is a union, not an intersection
      
      This fixes <rdar://problem/650084>.
      
      llvm-svn: 63421
      378e7fd3
    • Ted Kremenek's avatar
      Move method out-of-line. · 0b0a6483
      Ted Kremenek authored
      llvm-svn: 63412
      0b0a6483
    • Douglas Gregor's avatar
      Switch Type::isAggregateType to use the C++ definition of "aggregate · ddb2485e
      Douglas Gregor authored
      type" rather than the C definition. We do this because both C99 and
      Clang always use "aggregate type" as "aggregate or union type", and
      the C++ definition includes union types.
      
      llvm-svn: 63395
      ddb2485e
    • Chris Lattner's avatar
      update for change in API. · 34beb046
      Chris Lattner authored
      llvm-svn: 63363
      34beb046
    • Ted Kremenek's avatar
      Fix a couple bugs: · 7594e2a5
      Ted Kremenek authored
      - NonLoc::MakeVal() would use sizeof(unsigned) (literally) instead of consulting
        ASTContext for the size (in bits) of 'int'. While it worked, it was a
        conflation of concepts and using ASTContext.IntTy is 100% correct.
      - RegionStore::getSizeInElements() no longer assumes that a VarRegion has the
        type "ConstantArray", and handles the case when uses use ordinary variables
        as if they were arrays.
      - Fixed ElementRegion::getRValueType() to just return the rvalue type of its
        "array region" in the case the array didn't have ArrayType.
      - All of this fixes <rdar://problem/6541136>
      
      llvm-svn: 63347
      7594e2a5
  3. Jan 29, 2009
  4. Jan 28, 2009
  5. Jan 27, 2009
    • Chris Lattner's avatar
      Split the single monolithic DiagnosticKinds.def file into one · 7368d581
      Chris Lattner authored
      .def file for each library.  This means that adding a diagnostic
      to sema doesn't require all the other libraries to be rebuilt.
      
      Patch by Anders Johnsen!
      
      llvm-svn: 63111
      7368d581
    • Ted Kremenek's avatar
      Fix bug in BasicStore::getLValueElement where if the base of an array... · 422d81dc
      Ted Kremenek authored
      Fix bug in BasicStore::getLValueElement where if the base of an array subscript expression was an ElementRegion we stacked another ElementRegion on top of that.
      
      This fixes PR 3422.
      
      llvm-svn: 63110
      422d81dc
    • Chris Lattner's avatar
      Introduce a new PresumedLoc class to represent the concept of a location · f1ca7d3e
      Chris Lattner authored
      as reported to the user and as manipulated by #line.  This is what __FILE__,
      __INCLUDE_LEVEL__, diagnostics and other things should follow (but not 
      dependency generation!).  
      
      This patch also includes several cleanups along the way: 
      
      - SourceLocation now has a dump method, and several other places 
        that did similar things now use it.
      - I cleaned up some code in AnalysisConsumer, but it should probably be
        simplified further now that NamedDecl is better.
      - TextDiagnosticPrinter is now simplified and cleaned up a bit.
      
      This patch is a prerequisite for #line, but does not actually provide 
      any #line functionality.
      
      llvm-svn: 63098
      f1ca7d3e
    • Ted Kremenek's avatar
      PathDiagnostics: · a3f462e4
      Ted Kremenek authored
      - Add the distinction between the 'bug type' and the 'bug description'
      
      HTMLDiagnostics:
      - Output the bug type field as HTML comments
      
      scan-build:
      - Use the bug type field instead of the bug description for the HTML table.
      - Radar filing now automatically picks up the bug description in the title (addresses <rdar://problem/6265970>)
      
      llvm-svn: 63084
      a3f462e4
  6. Jan 26, 2009
  7. Jan 25, 2009
  8. Jan 24, 2009
  9. Jan 23, 2009
  10. Jan 22, 2009
    • Ted Kremenek's avatar
      Fix RegionStore::getLValueElement() to handle the case when the base region is... · 92d48a71
      Ted Kremenek authored
      Fix RegionStore::getLValueElement() to handle the case when the base region is not an ElementRegion (also do some cleanups of its core logic).
      This gets array-struct.c to work with RegionStore.
      
      llvm-svn: 62781
      92d48a71
    • Ted Kremenek's avatar
      SymbolReaper::isLive(SymbolRef) now always returns true for... · 2dd9c9cb
      Ted Kremenek authored
      SymbolReaper::isLive(SymbolRef) now always returns true for SymbolRegionRvalues because these represent the symbolic values for parameters/globals upon entry to the function.  These values are always ;live' because they represent constraints on the context of how the function was called.  This will be useful for both summary generation but is also necessary to get RegionStore's lazy-binding of locations to symbols to work in practice with RemoveDeadBindings.
      
      llvm-svn: 62771
      2dd9c9cb
Loading