-- a.d -- import b; -- b.d -- import foo 0 dmd a.d > b.d(1): ';' expected > Segmentation fault dmd b.d > b.d(1): ';' expected Program received signal SIGSEGV, Segmentation fault. 0x0000000000423610 in DsymbolTable::lookup (this=0x6118b0, ident=0x0) at dmd/dsymbol.c:858 858 sv = tab->lookup((char*)ident->string, ident->len); Current language: auto; currently c++ (gdb) bt #0 0x0000000000423610 in DsymbolTable::lookup (this=0x6118b0, ident=0x0) at dmd/dsymbol.c:858 #1 0x00000000004540d2 in Import::load (this=0x630360, sc=0x62fb10) at dmd/import.c:90 #2 0x00000000004542d1 in Import::semantic (this=0x630360, sc=0x62fb10) at dmd/import.c:120 #3 0x0000000000465aa9 in Module::semantic (this=0x62fea0) at dmd/module.c:652 #4 0x0000000000454229 in Import::load (this=0x61a1d0, sc=0x61a600) at dmd/import.c:110 #5 0x00000000004542d1 in Import::semantic (this=0x61a1d0, sc=0x61a600) at dmd/import.c:120 #6 0x0000000000465aa9 in Module::semantic (this=0x619cc0) at dmd/module.c:652 #7 0x00000000004640dc in main (argc=8, argv=0x619750) at dmd/mars.c:782
Added to DStress as http://dstress.kuehne.cn/nocompile/i/import_19_A.d http://dstress.kuehne.cn/nocompile/i/import_19_B.d
Created attachment 326 [details] Patch against DMD 2.028 Import shouldn't do any semantic action if it doesn't know which module it's supposed to be importing. The error message I've added may be unnecessary; just returning would probably be OK.
Fixed DMD2.030 and DMD1.045.
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル