Thanks very much. I posted a pull request #1293 to fix the regression. We must fix it before 2.061 release.
Kenji Hara 2012/11/15 Rainer Schuetze <[email protected]>: > On 11/15/2012 3:46 AM, GitHub wrote: >> >> Branch: refs/heads/master >> Home: https://github.com/D-Programming-Language/dmd >> Commit: 7daa39cc3ff563b50004cda86f4cdc1ae76c2888 >> >> https://github.com/D-Programming-Language/dmd/commit/7daa39cc3ff563b50004cda86f4cdc1ae76c2888 >> Author: k-hara <[email protected]> >> Date: 2012-11-14 (Wed, 14 Nov 2012) >> >> Changed paths: >> M src/expression.c >> M src/interpret.c >> M src/optimize.c >> M test/runnable/constfold.d >> >> Log Message: >> ----------- >> fix Issue 8939 - ICE(glue.c) on passing by ref statically initialized >> const/immutable variable >> >> Don't optimize an argument on ref parameter, even which can interpret at >> compile time. > > > This seems to have broken this code: > > > class C > { > const int kIndex = 0; > > ////////////////////////////////////////////////////////////// > int refValue(V)(ref V var) > { > return var.length; > } > > bool foo() > { > string str[2]; > return refValue(str[kIndex]) != 0; > } > > } > > > compiled with -O: > > test.d(15): Error: variable kIndex used before set > > _______________________________________________ > dmd-internals mailing list > [email protected] > http://lists.puremagic.com/mailman/listinfo/dmd-internals _______________________________________________ dmd-internals mailing list [email protected] http://lists.puremagic.com/mailman/listinfo/dmd-internals
