Skip to content
  1. Sep 05, 2007
  2. Sep 04, 2007
  3. Sep 02, 2007
    • Steve Naroff's avatar
      · b03f5940
      Steve Naroff authored
      More progress on array initializers.
      
      - Added Expr::isConstantExpr().
      - Added type checking for InitListExpr elements.
      - Added diagnostic for trying to initialize a variable sized object.
      
      llvm-svn: 41674
      b03f5940
  4. Sep 01, 2007
  5. Aug 31, 2007
    • Ted Kremenek's avatar
    • Ted Kremenek's avatar
      Added "PrinterHelper" interface (include/AST/PrinterHelper) that can · 04f3cee1
      Ted Kremenek authored
      be passed as an (optional) argument to StmtPrinter to customize
      printing of AST nodes.
      
      Used new PrinterHelper interface to enhance printing and visualization
      of CFGs.  The CFGs now illustrate the semantic connectives between
      statements and terminators, wheras in the previous printing certain
      expressions would (visible) be printed multiple times to reflect which
      expressions used the results of other expressions.
      
      The end result is that the CFG is easier to read for flow of
      expression values (following principles similar to the LLVM IR).
      
      llvm-svn: 41651
      04f3cee1
    • Steve Naroff's avatar
      · 096dd942
      Steve Naroff authored
      Removed Sema::VerifyConstantArrayType(). With the new Array/ConstantArray/VariableArray nodes, this
      routine was causing more trouble than it was worth. Anders/Chris noticed that it could return an error code
      without emiting a diagnostic (which results in an silent invalid decl, which should *never* happen). In addition,
      this routine didn't work well for typedefs and field decls. Lastly, it didn't consider that initializers aren't
      in place yet.
      
      Added Type::getAsConstantArrayType(), Type::getAsVariableArrayType(), Type::getAsVariablyModifiedType(),
      and Type::isVariablyModifiedType();
      
      Modified Sema::ParseDeclarator() and Sema::ParseField() to use the new predicates. Also added a FIXME for
      the initializer omission. Also added a missing test for "static" @ file scope.
      
      llvm-svn: 41647
      096dd942
    • Ted Kremenek's avatar
      Added support for __builtin_choose_expr (ChooseExpr) in CFGs. · 527ec81d
      Ted Kremenek authored
      llvm-svn: 41646
      527ec81d
    • Anders Carlsson's avatar
      Add InitListExpr class. · 4692db0e
      Anders Carlsson authored
      llvm-svn: 41636
      4692db0e
  6. Aug 30, 2007
  7. Aug 29, 2007
    • Ted Kremenek's avatar
      Added GraphTraits to source-level CFGs (CFG and CFGBlock) to allow · 4e5f99da
      Ted Kremenek authored
      (LLVM-provided) graph algorithms such as DFS and graph visualization
      to work effortless on source-level CFGs.
      
      Further cleanup on pretty printing of CFGs.  CFGBlock::dump and
      CFGBlock::print now take the parent CFG as an argument.  This allows
      CFGBlocks to print their own appropriate label indicating whether or
      not they are the Entry/Exit/IndirectGotoBlock without the CFG::print
      routine doing it instead.
      
      Added Graphviz visualization for CFGs: CFG::viewCFG.  This employs the
      GraphTraits just implemented.
      
      Added "-view-cfg" mode the to clang driver.  This is identical to
      "-dump-cfg" except that it calls Graphviz to visualize the CFGs
      instead of dumping them to the terminal.
      
      llvm-svn: 41580
      4e5f99da
    • Chris Lattner's avatar
      Teach Type::is[un]SignedIntegerType about enum decls. This allows the code generator · 8a241f93
      Chris Lattner authored
      to emit signed comparisons when needed for enum decl references.  This implements
      test/CodeGen/enum.c.  I think enums should be good now.
      
      llvm-svn: 41572
      8a241f93
    • Steve Naroff's avatar
      Re-teach Expr::isNullPointerConstant() about ImplicitCastExpr:-) · c5e5027b
      Steve Naroff authored
      This fixes the following bug submitted by Neil...
      
      const char *f (void) { return 0; }
      
      ...which would incorrectly warn with -pedantic enabled.
      
      llvm-svn: 41559
      c5e5027b
  8. Aug 28, 2007
Loading