Checkpoint  10 am
Update prior to handoff to Kyle
Merge pull request #985 from noakesmichael/regress

Update REGRESSIONS for triage hand off
Introduce ParamForLoop as a thin veneer on BlockStmt
ParamForLoop: Refactor the constructor
Convert ParamForLoop to inherit from LoopStmt
Allow this test to fail again.

For other's sanity, allow this test to continue to fail on cygwin until we fix
it to be more portable and look into whether qio makes similar assumptions.
Merge pull request #988 from lydia-duncan/allowQioTestToFailAgain

Allow this test to fail again.

For other's sanity, allow this test to continue to fail on cygwin until we fix
it to be more portable and look into whether qio makes similar assumptions.
Merge pull request #989 from noakesmichael/param-for-loop-0

Introduce the statement ParamForLoop

This is the remaining looping AST node that relies on loop state within BlockStmt.  Introduce a new AST node for this type of loop that inherits directly from LoopStmt.

1) Introduce a simple version of ParamForLoop as a direct decedent of BlockStmt

2) Add a "factory" method on the class ParamForLoop to support the parser/builder.

3) Migrate ParamForLoop from a direct dependence on BlockStmt to a direct dependence on LoopStmt.

Compiled: STD clang/darwin, STD gcc/linux64, LLVM gcc/linux64
Tested: paratest --verify
Review: none
Introduce virtual overrides for blockInfoGet/Set and the method paramInfoGet
Introduce functions is/toParamForLoop(BaseAST* a) and virtual method isParamForLoop()
Add virtual methods getFirstExpr/getNextExpr and add a guard to catch any unexpected uses of ParamForLoop::blockInfoGet
Add virtual methods for codegen (flag an error if invoked) and verify
Add support for AstVisitor
Merge pull request #990 from noakesmichael/param-for-loop-1

ParamForLoop: Flesh out the implementation

Begin to separate ParamForLoop from BlockStmt; for example introduce paramInfoGet/Set to serve the role currently played by BlockStmt::blockInfoGet/Set and override the latter virtual methods with implementations
that print a warning message if the abstraction is being violated.

Add the core set of utility operations e.g. isParamForLoop(), toParamForLoop(), getFirstExpr/getNextExpr,
and support for AstVisitor.

Compiled STD clang/darwin, STD gcc/linux64, LLVM gcc/linux64
Tested: paratest --verify
Review: none


local implementations of the virtual methods blockInfoGet/Set that generate warning messages if they are invoked so that we can