Skip to content
  1. Feb 23, 2011
    • Argyrios Kyrtzidis's avatar
      [analyzer] Migrate the BasicObjCFoundationChecks to CheckerV2: · dd058d8a
      Argyrios Kyrtzidis authored
      	NilArgChecker
      	CFNumberCreateChecker
      	ClassReleaseChecker
      
      llvm-svn: 126275
      dd058d8a
    • Argyrios Kyrtzidis's avatar
      [analyzer] Fix CheckerManager::runCheckersForObjCMessage. · 22f2586b
      Argyrios Kyrtzidis authored
      It would run PostObjCMessage checkers even for PreObjCMessage checking.
      
      llvm-svn: 126274
      22f2586b
    • Argyrios Kyrtzidis's avatar
      [analyzer] Refactor BugTypes and their ownership model. · a1540db6
      Argyrios Kyrtzidis authored
      -In general, don't have the BugReporter deleting BugTypes, BugTypes will eventually become owned by checkers
       and outlive the BugReporter. In the meantime, there will be some leaks since some checkers assume that
       the BugTypes they create will be destroyed by the BugReporter.
      -Have BugReporter::EmitBasicReport create BugTypes that are reused if the same name & category strings
       are passed to EmitBasicReport. These BugTypes are owned and destroyed by the BugReporter.
       This allows bugs reported through EmitBasicReport to be coalesced.
      -Remove the llvm::FoldingSet<BugReportEquivClass> from BugType and move it into the BugReporter.
       For uniquing BugReportEquivClass also use the BugType* so that we can iterate over all of them using only one set.
      
      llvm-svn: 126272
      a1540db6
  2. Feb 22, 2011
  3. Feb 20, 2011
  4. Feb 19, 2011
  5. Feb 18, 2011
  6. Feb 17, 2011
    • Oscar Fuentes's avatar
      CMake: updated source file list. · 79b52bfc
      Oscar Fuentes authored
      llvm-svn: 125783
      79b52bfc
    • Argyrios Kyrtzidis's avatar
      [analyzer] Use the new registration mechanism for the debugging info "checks". · 57d736fd
      Argyrios Kyrtzidis authored
      The relative checker package is 'debug':
      
      '-dump-live-variables' is replaced by '-analyzer-checker=debug.DumpLiveVars'
      '-cfg-view' is replaced by '-analyzer-checker=debug.ViewCFG'
      '-cfg-dump' is replaced by '-analyzer-checker=debug.DumpCFG'
      
      llvm-svn: 125780
      57d736fd
    • Argyrios Kyrtzidis's avatar
      [analyzer] Use the new registration mechanism on the non-path-sensitive-checkers: · af45aca6
      Argyrios Kyrtzidis authored
        DeadStoresChecker
        ObjCMethSigsChecker
        ObjCUnusedIvarsChecker
        SizeofPointerChecker
        ObjCDeallocChecker
        SecuritySyntaxChecker
      
      llvm-svn: 125779
      af45aca6
    • Argyrios Kyrtzidis's avatar
      [analyzer] · 24ffc08f
      Argyrios Kyrtzidis authored
      -Introduce CheckerV2, a set of templates for convenient declaration & registration of checkers.
       Currently useful just for checkers working on the AST not the path-sensitive ones.
      -Enhance CheckerManager to actually collect the checkers and turn it into the entry point for
       running the checkers.
      -Use the new mechanism for the LLVMConventionsChecker.
      
      llvm-svn: 125778
      24ffc08f
    • Argyrios Kyrtzidis's avatar
      [analyzer] Pass CheckerManager to the registration functions. · 507ff53e
      Argyrios Kyrtzidis authored
      llvm-svn: 125777
      507ff53e
    • Argyrios Kyrtzidis's avatar
      When building StaticAnalyzer/Frontend add -I "<Checkers build dir>" to allow Checkers.inc to be · 9d5235d5
      Argyrios Kyrtzidis authored
      included without '..', thus being compatible with build systems of *BSDs.
      
      Patch by Joerg Sonnenberger!
      
      llvm-svn: 125758
      9d5235d5
    • John McCall's avatar
      Change the representation of GNU ?: expressions to use a different expression · c07a0c7e
      John McCall authored
      class and to bind the shared value using OpaqueValueExpr.  This fixes an
      unnoticed problem with deserialization of these expressions where the
      deserialized form would lose the vital pointer-equality trait;  or rather,
      it fixes it because this patch also does the right thing for deserializing
      OVEs.
      
      Change OVEs to not be a "temporary object" in the sense that copy elision is
      permitted.
      
      This new representation is not totally unawkward to work with, but I think
      that's really part and parcel with the semantics we're modelling here.  In
      particular, it's much easier to fix things like the copy elision bug and to
      make the CFG look right.
      
      I've tried to update the analyzer to deal with this in at least some          
      obvious cases, and I think we get a much better CFG out, but the printing
      of OpaqueValueExprs probably needs some work.
      
      llvm-svn: 125744
      c07a0c7e
    • Chris Lattner's avatar
      Step #1/N of implementing support for __label__: split labels into · c8e630e4
      Chris Lattner authored
      LabelDecl and LabelStmt.  There is a 1-1 correspondence between the
      two, but this simplifies a bunch of code by itself.  This is because
      labels are the only place where we previously had references to random
      other statements, causing grief for AST serialization and other stuff.
      
      This does cause one regression (attr(unused) doesn't silence unused
      label warnings) which I'll address next.
      
      This does fix some minor bugs:
      1. "The only valid attribute " diagnostic was capitalized.
      2. Various diagnostics printed as ''labelname'' instead of 'labelname'
      3. This reduces duplication of label checking between functions and blocks.
      
      Review appreciated, particularly for the cindex and template bits.
      
      llvm-svn: 125733
      c8e630e4
    • Chris Lattner's avatar
      simplify a bit. · 5a9b1ec9
      Chris Lattner authored
      llvm-svn: 125724
      5a9b1ec9
  7. Feb 16, 2011
  8. Feb 15, 2011
  9. Feb 14, 2011
Loading