Skip to content
  1. Sep 12, 2007
    • Ted Kremenek's avatar
      Added extensions (subclasses) to the StmtVisitor class that · d1600343
      Ted Kremenek authored
      are useful for dataflow analysis: CFGStmtVisitor and DataflowStmtVisitor.
      
      CFGStmtVisitor is the same as StmtVisitor is that it has separate visitors
      for "root" statements in a CFGBlock (statements that have a designated
      slot int the list of statements in a CFGBlock).  It also recognizes statements
      that have implicit control-flow, and calls special visitor methods for those.
      
      DataflowStmtVisitor extends CFGStmtVisitor to serve as a template for
      implementing transfer functions.  It does a pre-/post-order traversal of
      substatements depending on whether we are doing a forward/backward analysis.
      It also has special handling for implicit-control-flow statements so that
      they are visited only once.
      
      llvm-svn: 41884
      d1600343
    • Fariborz Jahanian's avatar
      Patch for building method declaration nodes. Also fixed a segfault in cocoa.m due · cfb31fab
      Fariborz Jahanian authored
      to use of @property.
      
      llvm-svn: 41880
      cfb31fab
    • Hartmut Kaiser's avatar
      Removed clang solution file for VC++, which didn't work properly because of... · 0249104a
      Hartmut Kaiser authored
      Removed clang solution file for VC++, which didn't work properly because of hard coded paths in the llvm project files.
      Changed windows detection to use LLVM pp constant.
      
      llvm-svn: 41878
      0249104a
    • Steve Naroff's avatar
      · 6109140b
      Steve Naroff authored
      Fix the following bug submitted by Ted Kremenek:
      
      void func() {
      int xx = xx; // incorrectly diagnosed 'xx' as an undeclared identifier.
      }
      
      This smallish bug resulted in a largish fix. Here are some highlights:
      
      - Needed to make sure ParseDeclarator is called *before* parsing any
      initializer. Removed the "Init" argument to ParseDeclarator.
      - Added AddInitializerToDecl() to the Action & Sema classes.
      In Sema, this hook is responsible for validating the initializer and
      installing it into the respective decl.
      - Moved several semantic checks from ParseDeclarator() to 
      FinalizeDeclaratorGroup(). Previously, this hook was only responsible for 
      reversing a list. Now it plays a much larger semantic role. 
      
      All of the above changes ended up simplifying ParseDeclarator(), which
      is goodness...
      
      llvm-svn: 41877
      6109140b
    • Ted Kremenek's avatar
      Added static method "CFG::hasImplicitControlFlow". · 3a5aa768
      Ted Kremenek authored
      This method is used to determine if an expression contains implicit
      control-flow, and thus appears in a distinct statement slot in the CFG.
      
      For example:
      
        (1) x = ... ? ... ? ...
      
        logically becomes:
      
        (1) ... ? ... : ...  (a unique statement slot for the ternary ?)
        (2) x = [E1]         (where E1 is actually the ConditionalOperator*)
      
      A client of the CFG, when walking the statement at (2), will encounter
      E1.  In this case, hasImplicitControlFlow(E1) == true, and the client
      will know that the expression E1 is explicitly placed into its own statement
      slot to capture the implicit control-flow it has.
      
      llvm-svn: 41868
      3a5aa768
  2. Sep 11, 2007
  3. Sep 10, 2007
  4. Sep 08, 2007
  5. Sep 07, 2007
  6. Sep 06, 2007
    • Ted Kremenek's avatar
      LiveVariables: · 3f8ed265
      Ted Kremenek authored
       - Finished 99% of analysis logic.  Probably a few bugs.
       - Added querying functions to query liveness.
       - Added better pretty printing of liveness.
       - Added better bookkeeping of per-variable liveness information.
       - Added LiveVariablesAuditor interface, which allows "lazy" querying
         of intra-basic block liveness information.
      
      Driver:
       - Minor cleanups involved in dumping liveness information.
      
      llvm-svn: 41753
      3f8ed265
    • Steve Naroff's avatar
      · 09bf815f
      Steve Naroff authored
      The goal of this commit is to get just enough Sema support to recognize Objective-C classes
      as types. That said, the AST nodes ObjcInterfaceDecl, ObjcInterfaceType, and ObjcClassDecl are *very*
      preliminary.
      
      The good news is we no longer need -parse-noop (aka MinimalActions) to parse cocoa.m.
      
      llvm-svn: 41752
      09bf815f
    • Ted Kremenek's avatar
      Added LabelLoc to GotoStmt to record the source location of the label token · 73c18e03
      Ted Kremenek authored
      in the actual GotoStmt.
      
      Fixed bug where GotoStmt::getSourceRange incorrectly used the target LabelStmt
      to compute its extent.
      
      llvm-svn: 41745
      73c18e03
    • Ted Kremenek's avatar
      Added libClangAnalysis · e8050564
      Ted Kremenek authored
      llvm-svn: 41742
      e8050564
    • Ted Kremenek's avatar
      Added an early implementation of Live-Variables analysis built on · b56a9909
      Ted Kremenek authored
      source-level CFGs.  This code may change significantly in the near
      future as we explore different means to implement dataflow analyses.
      
      Added a driver option, -dump-live-variables, to view the output of
      live variable analysis.  This output is very ALPHA; it will be improved shortly.
      
      llvm-svn: 41737
      b56a9909
    • Chris Lattner's avatar
      remove the FATAL classifier. · 542a4400
      Chris Lattner authored
      llvm-svn: 41736
      542a4400
    • Chris Lattner's avatar
      remove sorry. · aa4b29c5
      Chris Lattner authored
      llvm-svn: 41734
      aa4b29c5
    • Steve Naroff's avatar
      · ca85d1dc
      Steve Naroff authored
      Start implementing Actions interface for ObjC classes, instance variables, and methods.
      
      Lot's of small changes to the parser.
      
      llvm-svn: 41732
      ca85d1dc
    • Fariborz Jahanian's avatar
      Patch for parsing objective-c style method calls. · bd25f7d4
      Fariborz Jahanian authored
      llvm-svn: 41731
      bd25f7d4
  7. Sep 05, 2007
  8. Sep 04, 2007
    • Fariborz Jahanian's avatar
      Fixed a typo pointed out by Anders Calrsson. · 7eccba3b
      Fariborz Jahanian authored
      llvm-svn: 41716
      7eccba3b
    • Steve Naroff's avatar
      · 67ae4439
      Steve Naroff authored
      Simplified initializer semantic analysis by adding the following 2 methods:
      
      - ArrayType::getBaseType(), and 
      - ConstantArrayType::getMaximumElements().
      
      Wanted to do this cleanup before adding structure support, which will add more complexity.
      
      llvm-svn: 41715
      67ae4439
Loading