Skip to content
  1. Oct 30, 2008
  2. Oct 29, 2008
  3. Oct 28, 2008
  4. Oct 27, 2008
    • Daniel Dunbar's avatar
      Comment fix, ParseAST does not take ownership of the consumer. · 6f4eafe1
      Daniel Dunbar authored
      llvm-svn: 58281
      6f4eafe1
    • Ted Kremenek's avatar
      Added preliminary support for CompoundLiterals in the static analyzer: · bf263682
      Ted Kremenek authored
      - GRExprEngine::VisitCompoundLiteral...
         (1) visits the initializer list (generating ExplodedNodes)
         (2) creates a CompoundMemRegion for the literal
         (3) creates a new state with the bound literal values using
             GRStateManager::BindCompoundLiteral
      
      - GRStateManager::BindCompoundLiteral simply calls 
        StoreManager::BindCompoundLiteral to get a new store and returns a persistent
        GRState with that store.
      
      - BasicStore::BindCompoundLiteral simply returns the same store, as it
        doesn't handle field sensitivity
        
      - RegionStore::BindCompoundLiteral currently fires an assert (pending discussion
        of how to best implement mappings for CompoundLiteralRegion).
      
      llvm-svn: 58277
      bf263682
    • Ted Kremenek's avatar
      Pull determination of the super region for a VarRegion into a single... · eaf5e24c
      Ted Kremenek authored
      Pull determination of the super region for a VarRegion into a single getVarRegion() method.  This provides a common clean API for clients.
      
      llvm-svn: 58272
      eaf5e24c
    • Ted Kremenek's avatar
    • Douglas Gregor's avatar
      Refactor the expression class hierarchy for casts. Most importantly: · e200adc5
      Douglas Gregor authored
        - CastExpr is the root of all casts
        - ImplicitCastExpr is (still) used for all explicit casts
        - ExplicitCastExpr is now the root of all *explicit* casts
        - ExplicitCCastExpr (new name needed!?) is a C-style cast in C or C++
        - CXXFunctionalCastExpr inherits from ExplicitCastExpr
        - CXXNamedCastExpr inherits from ExplicitCastExpr and is the root of all
          of the C++ named cast expression types (static_cast, dynamic_cast, etc.)
        - Added classes CXXStaticCastExpr, CXXDynamicCastExpr, 
          CXXReinterpretCastExpr, and CXXConstCastExpr to 
      
      Also, fixed returned-stack-addr.cpp, which broke once when we fixed
      reinterpret_cast to diagnose double->int* conversions and again when
      we eliminated implicit conversions to reference types. The fix is in
      both testcase and SemaChecking.cpp.
      
      Most of this patch is simply support for the renaming. There's very
      little actual change in semantics.
      
      llvm-svn: 58264
      e200adc5
    • Ted Kremenek's avatar
      - Move ExprIterator to Stmt.h so that it can be used by classes defined in Stmt.h · 5778acf5
      Ted Kremenek authored
      - Implement child_begin() and child_end() for AsmStmt.  Previously these had stub implementations that did not iterate over the input/output operands of an inline assembly statement.
      - Use ExprIterator for performing iteration over input/output operands.
      
      llvm-svn: 58261
      5778acf5
Loading