18580, "daviditen", "Incorrect value from modified ref argument with --no-local", "2021-10-14T19:14:12Z"
For --no-local compilations the code from #16935 is getting incorrect results for the module-level variable getting passed to a virtual method. It appears that it is putting that variable on the heap and assigning its value to a non-reference temp which is then passed to the virtual method by reference. Something like:
var ipos1 = heap(int); var tmp = ipos1.value; x!.ff(tmp); writeln(ipos1);
chpl --no-local test/optimizations/copyPropagation/cp-problem2-no-local.chpl ./cp-problem2-no-local
Associated Future Test(s):
chpl version 1.26.0 pre-release
built with LLVM version 11.1.0
Copyright 2020-2021 Hewlett Packard Enterprise Development LP
Copyright 2004-2019 Cray Inc.
(See LICENSE file for more details)