[Issue 384] New: Different behaviour when compiling as separate object files
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Sep 27 14:30:41 PDT 2006
http://d.puremagic.com/issues/show_bug.cgi?id=384
Summary: Different behaviour when compiling as separate object
files
Product: D
Version: 0.167
Platform: Other
OS/Version: Linux
Status: NEW
Severity: major
Priority: P2
Component: DMD
AssignedTo: bugzilla at digitalmars.com
ReportedBy: aarti at interia.pl
Below simple test case:
mod.d
----
import submod;
void main() {
auto v = new myClass!(int)();
v.func(5);
}
----
submod.d
----
module submod;
import std.boxer;
class myClass(T) {
public:
void func(T v) {
Box b = std.boxer.box(v);
}
}
-------------
dmd mod.d submod.d -->>> OK
-------------
dmd -g -I/usr/local/src_d/phobos -c submod.d -ofobj/Debug/submod.o
dmd -g -I/usr/local/src_d/phobos -c test.d -ofobj/Debug/test.o
gcc -o test -m32 -Xlinker -ldl obj/Debug/submod.o obj/Debug/test.o -lpthread
-lm -lphobos
obj/Debug/test.o: In function
`_D6submod14__T7myClassTiZ7myClass4funcFiZv':/home/marcin/Programy/D/tst1/test.d:6:
undefined reference to `_arguments_i'
:/home/marcin/Programy/D/tst1/test.d:6: undefined reference to `_arguments_i'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 3 seconds)
-----------------------------
Similar error is happen when compiling "Any"
(http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D.announce&artnum=4827)
dmd -g -I/home/marcin/Programy/D/ -I/usr/local/src_d/phobos -c any.d
-ofobj/Debug/any.o
dmd -g -I/home/marcin/Programy/D/ -I/usr/local/src_d/phobos -c test_any.d
-ofobj/Debug/test_any.o
gcc -o test_any -m32 -Xlinker -ldl obj/Debug/any.o obj/Debug/test_any.o
-lpthread -lm -lphobos
obj/Debug/test_any.o: In function
`_D5doost3any3any28__T7anyCastTC8test_any4TestZ7anyCastFC5doost3any3any3AnyZC8test_any4Test':/home/marcin/Programy/D/doost/any/test_any.d:87:
undefined reference to `_init_24TypeInfo_C8test_any4Test'
obj/Debug/test_any.o: In function
`_D5doost3any3any27__T6HolderTC8test_any4TestZ6Holder4typeFZC8TypeInfo':/home/marcin/Programy/D/doost/any/test_any.d:38:
undefined reference to `_init_24TypeInfo_C8test_any4Test'
obj/Debug/test_any.o: In function
`_D5doost3any3any15__T7anyCastTPxZ7anyCastFC5doost3any3any3AnyZPx':/home/marcin/Programy/D/doost/any/test_any.d:87:
undefined reference to `_init_11TypeInfo_Px'
obj/Debug/test_any.o: In function
`_D5doost3any3any14__T6HolderTPxZ6Holder4typeFZC8TypeInfo':/home/marcin/Programy/D/doost/any/test_any.d:38:
undefined reference to `_init_11TypeInfo_Px'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 3 seconds)
Compiling with:
dmd test_any.d any.d
works properly...
This bug makes problem when using CodeBlocks IDE for developing D programs.
--
More information about the Digitalmars-d-bugs
mailing list