[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[csmith-project/csmith] da5501: add Comma operators and embedded assignments



  Branch: refs/heads/master
  Home:   https://github.com/csmith-project/csmith

  Commit: da550190c39123630069be526989e27c4e55f0ab
      https://github.com/csmith-project/csmith/commit/da550190c39123630069be526989e27c4e55f0ab
  Author: Xuejun Yang <jxyang@cs.utah.edu>
  Date:   2011-07-11 (Mon, 11 Jul 2011)

  Changed paths:
    M src/Expression.h
  A src/ExpressionAssign.cpp
  A src/ExpressionAssign.h
  A src/ExpressionComma.cpp
  A src/ExpressionComma.h
  M src/StatementAssign.h
  M src/csmith.vcproj

  Log Message:
  -----------
  add Comma operators and embedded assignments


  Commit: 1eb4fd9f51e432c60cc5f6dcf358625cd1f21b96
      https://github.com/csmith-project/csmith/commit/1eb4fd9f51e432c60cc5f6dcf358625cd1f21b96
  Author: Xuejun Yang <jxyang@cs.utah.edu>
  Date:   2011-07-11 (Mon, 11 Jul 2011)

  Changed paths:
    M src/CGContext.cpp
  M src/Constant.cpp
  M src/Constant.h
  M src/DefaultRndNumGenerator.cpp
  M src/Effect.cpp
  M src/Expression.cpp
  M src/Expression.h
  M src/ExpressionAssign.cpp
  M src/ExpressionAssign.h
  M src/ExpressionComma.cpp
  M src/ExpressionComma.h
  M src/Fact.h
  M src/FactMgr.cpp
  M src/FactMgr.h
  M src/FactPointTo.cpp
  M src/FactPointTo.h
  M src/FactUnion.cpp
  M src/FactUnion.h
  M src/Filter.cpp
  M src/Function.cpp
  M src/FunctionInvocation.cpp
  M src/FunctionInvocationBinary.cpp
  M src/FunctionInvocationUnary.cpp
  M src/FunctionInvocationUser.cpp
  M src/FunctionInvocationUser.h
  M src/ProbabilityTable.h
  M src/Statement.cpp
  M src/StatementAssign.cpp
  M src/StatementAssign.h
  M src/StatementBreak.cpp
  M src/StatementContinue.cpp
  M src/StatementFor.cpp
  M src/StatementIf.cpp
  M src/Type.cpp
  M src/Type.h
  M src/Variable.cpp
  M src/Variable.h
  M src/VariableSelector.cpp
  M src/VariableSelector.h
  M src/VectorFilter.cpp
  M src/VectorFilter.h

  Log Message:
  -----------
  supporting side-effecting expressions and bug fixing for unions

1) add two more expression types: ExpressionAssign for embedded assignments; and ExpressionComma for comma expressions. Give them enough probability to show up in random programs (10% each for now)

2) allow pointer fields inside unions

3) expanded VectorFilter so it filter out candidates after looking up a ProbabilityTable. This is useful for choosing Expression/statement types where a random number is translated into a type based on pre-determined distributions.

4) expand the points-to analysis to accommodate the facts that a shallow copy of struct/unions could impact multiple pointers that are fields of copied structs.

5) expand the effect analysis to accommodate the facts that RHS of assignments could have side effect if it contains 1) function call, 2) embedded assignments, or 3) comma expressions.

6) to simplify points-to analysis, disallow an integer union field to be loop control variable if another field of the same union happens to be pointer

7) rename class "Table" to "TableEntry"

8) fix some bugs in analyzing read/write conflicts between union fields

9) add debugging code to the random number generator

10) kill some warnings barked by MSVC and gcc

11) clean up obsolete code


  Commit: 3f833ee04a283ba63a16a4ed9f203e717bf9588a
      https://github.com/csmith-project/csmith/commit/3f833ee04a283ba63a16a4ed9f203e717bf9588a
  Author: Xuejun Yang <jxyang@cs.utah.edu>
  Date:   2011-07-11 (Mon, 11 Jul 2011)

  Changed paths:
    M src/Statement.cpp

  Log Message:
  -----------
  fix a typo


  Commit: 4b68f633035c6feb7aa2d7f7ea287a1655251fb0
      https://github.com/csmith-project/csmith/commit/4b68f633035c6feb7aa2d7f7ea287a1655251fb0
  Author: Xuejun Yang <jxyang@cs.utah.edu>
  Date:   2011-07-11 (Mon, 11 Jul 2011)

  Changed paths:
    M src/Makefile.am
  M src/csmith.vcxproj

  Log Message:
  -----------
  add two new classes: ExpressionAssign and ExpressionComma


Compare: https://github.com/csmith-project/csmith/compare/cc2cae0...4b68f63