chapel-lang/chapel — pull request #732 by hildeth (2014-10-31 21:36:19+00:00)
Title: Add classes/figueroa/RecordConstructor2.skipif

This test arguably works correctly in both configurations, even though its output differs
when run with the --baseline option compared to when run without it. That is because
--baseline disables the removeUnnecessaryAutoCopyCalls() optimization. The compiler may
add or remove autoCopy calls at will, so the user should not write code that depends upon
its having run (except as needed for memory management reasons).

In this test, running autoCopy has a side-effect (setting the contents of the record to
2). The autoCopy function does this because every constructor implicitly calls the
initialize() function, and that is what is done by the initialize() function for this
record type.

The compiler could do a better job of aligning --baseline vs. optimized behavior by
inserting fewer autoCopy calls to begin with. Also, the fact that the compiler-generated
autoCopy calls initialize is quite hidden.