On 2015-10-15, at 16:01, David de Jongh wrote: > The problem I found was that overlapping moves (to perform array > initialization, for example) no longer worked. I (and no doubt many others) > flew into a rage after looking at the object code and realizing that there > was no test for the overlapping move condition. It was changed in a > subsequent PTF, but by then it was too late - we had replaced the offending > code with PERFORM loops. > David de Jongh > What does the Standard say? Various languages have different treatment of overlapping operations, such as:
o The construct is an error (but IBM's COBOL had not been reporting that). o The operation is performed sequentially, element-by-element (sometimes the documentation includes pseudocode). o The operation is performed as if the entire source is accessed before any change is made to the target. o Or, even (ugh), undefined, implementation defined, implementation dependent, hardware model dependent, or the standard doesn't mention the topic. -- gil