The following throws an Access Violation exception under windows when compiled with dmd -release -O int get_value() { return 1; } int[2] array1; int[2] array2; int test(ulong a1, ulong extra, ulong extra2, ulong extra3) { if (!((a1 & 1) | (get_value() | array1[a1^1]))) return 0; if (0 >= array2[a1^1]) return 0; return 1; } void main(char[][] args) { test(0, 0, 0, 0); } Tested with dmd 1.033, 1.041, 1.043, 1.053
changeset 308
http://www.dsource.org/projects/dmd/changeset/308
Fixed dmd 1.054 and 2.038
Thanks for the quick fix.
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル