digitalmars.D.bugs - extern (C) member function causes internal compiler error
- Chris Newton (18/18) Dec 12 2004 This code cause the following internal compiler error on DMD .106 on lin...
- Thomas Kuehne (4/16) Dec 12 2004 this has been fixed since dmd-0.107, the current version is dmd-0.109
This code cause the following internal compiler error on DMD .106 on linux (Fedora Core 2) with gcc (GCC) 3.3.3 20040412 (Red Hat Linux 3.3.3-7) class Foo { extern (C) static void staticCFunc() { Foo.func(); } void func() {} } [baron athe trunk]$ dmd -c test2.d -I/usr/local/include/D/phobos Internal error: e2ir.c 814 Now obviously calling func() without an object is wrong, but I don't think it should cause a compiler error. :) If in staticFunc() you supply the call to func() with an object, it compiles well and good. Also, if the static function is external to the class, the compiler correctly reports a compile error and exits cleanly. Chris Newton
Dec 12 2004
this has been fixed since dmd-0.107, the current version is dmd-0.109 Thomas "Chris Newton" <redshodan yahoo.com> schrieb im Newsbeitrag news:pan.2004.12.12.11.25.40.211547 yahoo.com...This code cause the following internal compiler error on DMD .106 on linux (Fedora Core 2) with gcc (GCC) 3.3.3 20040412 (Red Hat Linux 3.3.3-7) class Foo { extern (C) static void staticCFunc() { Foo.func(); } void func() {} } [baron athe trunk]$ dmd -c test2.d -I/usr/local/include/D/phobos Internal error: e2ir.c 814
Dec 12 2004