|
Archives
D Programming
DD.gnu digitalmars.D digitalmars.D.bugs digitalmars.D.dtl digitalmars.D.dwt digitalmars.D.announce digitalmars.D.learn digitalmars.D.debugger C/C++ Programming
c++c++.announce c++.atl c++.beta c++.chat c++.command-line c++.dos c++.dos.16-bits c++.dos.32-bits c++.idde c++.mfc c++.rtl c++.stl c++.stl.hp c++.stl.port c++.stl.sgi c++.stlsoft c++.windows c++.windows.16-bits c++.windows.32-bits c++.wxwindows digitalmars.empire digitalmars.DMDScript |
D.gnu - GDC hangs - AbstractWriter.d
dmd -I. -fversion=Posix -fversion=Mango -c -ofmango/io/AbstractWriter.o mango/io/AbstractWriter.d Running this hangs the compiler. $ dmd -v Reading specs from /usr/local/gcc-3.4/lib/gcc/powerpc-apple-darwin7.5.0/3.4.3/specs Configured with: ./configure --prefix=/usr/local/gcc-3.4 --enable-languages=c,d,c++ Thread model: posix gcc version 3.4.3 DMD patch 0.8 The rest of the files are available on DSource- it's the SVN Head version. John Nov 26 2004
There are three slightly unusual things about this file: a) it uses the operator overload opShl(), and also alias's those as "put" (which is subsequently referenced from within the file). b) it uses an anonymous struct as part of a union (see union Encoder) c) It also happens to be an abstract class, with toString() being an abstract method. I wonder if (c) is the culprit? It is kinda' weird, and should probably change. AbstractReader.d is of a similar nature. - Kris "teqDruid" <teqDruid_member pathlink.com> wrote in message news:co8foe$1o2k$1 digitaldaemon.com... | dmd -I. -fversion=Posix -fversion=Mango -c -ofmango/io/AbstractWriter.o | mango/io/AbstractWriter.d | | Running this hangs the compiler. | | $ dmd -v | Reading specs from | /usr/local/gcc-3.4/lib/gcc/powerpc-apple-darwin7.5.0/3.4.3/specs | Configured with: ./configure --prefix=/usr/local/gcc-3.4 | --enable-languages=c,d,c++ | Thread model: posix | gcc version 3.4.3 | | DMD patch 0.8 | | The rest of the files are available on DSource- it's the SVN Head version. | | John | | | Nov 28 2004
Just checked-in a change for (c) that might alleviate the problem ... "Kris" <fu bar.com> wrote in message news:cod62a$2di$1 digitaldaemon.com... | There are three slightly unusual things about this file: | | a) it uses the operator overload opShl(), and also alias's those as "put" | (which is subsequently referenced from within the file). | b) it uses an anonymous struct as part of a union (see union Encoder) | c) It also happens to be an abstract class, with toString() being an | abstract method. | | I wonder if (c) is the culprit? It is kinda' weird, and should probably | change. AbstractReader.d is of a similar nature. | | - Kris | | | "teqDruid" <teqDruid_member pathlink.com> wrote in message | news:co8foe$1o2k$1 digitaldaemon.com... | | dmd -I. -fversion=Posix -fversion=Mango -c -ofmango/io/AbstractWriter.o | | mango/io/AbstractWriter.d | | | | Running this hangs the compiler. | | | | $ dmd -v | | Reading specs from | | /usr/local/gcc-3.4/lib/gcc/powerpc-apple-darwin7.5.0/3.4.3/specs | | Configured with: ./configure --prefix=/usr/local/gcc-3.4 | | --enable-languages=c,d,c++ | | Thread model: posix | | gcc version 3.4.3 | | | | DMD patch 0.8 | | | | The rest of the files are available on DSource- it's the SVN Head version. | | | | John | | | | | | | | Nov 28 2004
Kris wrote:| | dmd -I. -fversion=Posix -fversion=Mango -c -ofmango/io/AbstractWriter.o | | mango/io/AbstractWriter.d Just checked-in a change for (c) that might alleviate the problem ... Nov 28 2004
Ach! :-) Any suggestions? Surely it can't be the union? "Anders F Björklund" <afb algonet.se> wrote in message news:codnen$t37$1 digitaldaemon.com... | Kris wrote: | | > | | dmd -I. -fversion=Posix -fversion=Mango -c -ofmango/io/AbstractWriter.o | > | | mango/io/AbstractWriter.d | > | > Just checked-in a change for (c) that might alleviate the problem ... | | Sorry, no - it still just hangs: | | gdc -c -fversion=Posix -fversion=Mango -o mango/io/AbstractWriter.o | mango/io/AbstractWriter.d | | Latest Mango update: | > At revision 153. | | --anders Nov 28 2004
teqDruid wrote:dmd -I. -fversion=Posix -fversion=Mango -c -ofmango/io/AbstractWriter.o mango/io/AbstractWriter.d Running this hangs the compiler. $ dmd -v Reading specs from /usr/local/gcc-3.4/lib/gcc/powerpc-apple-darwin7.5.0/3.4.3/specs Configured with: ./configure --prefix=/usr/local/gcc-3.4 --enable-languages=c,d,c++ Thread model: posix gcc version 3.4.3 DMD patch 0.8 The rest of the files are available on DSource- it's the SVN Head version. John Nov 28 2004
Yes, they do ~ unfortunately. Is it something you can fix (in the compiler) reasonably easily? I can't readily break the co-dependency in the files under question ... - Kris "David Friedman" <d3rdclsmail_a_ _t_earthlink_d_._t_net> wrote in message news:coe8hk$1gqd$1 digitaldaemon.com... | teqDruid wrote: | > dmd -I. -fversion=Posix -fversion=Mango -c -ofmango/io/AbstractWriter.o | > mango/io/AbstractWriter.d | > | > Running this hangs the compiler. | > | > $ dmd -v | > Reading specs from | > /usr/local/gcc-3.4/lib/gcc/powerpc-apple-darwin7.5.0/3.4.3/specs | > Configured with: ./configure --prefix=/usr/local/gcc-3.4 | > --enable-languages=c,d,c++ | > Thread model: posix | > gcc version 3.4.3 | > | > DMD patch 0.8 | > | > The rest of the files are available on DSource- it's the SVN Head version. | > | > John | > | > | | This compiler bug is triggered by classes/interfaces that refer to each | other. I think it's IWriter and IWritable in this case. | | David Nov 28 2004
Yes, I should have a fix for this out soon. David Kris wrote:Yes, they do ~ unfortunately. Is it something you can fix (in the compiler) reasonably easily? I can't readily break the co-dependency in the files under question ... - Kris "David Friedman" <d3rdclsmail_a_ _t_earthlink_d_._t_net> wrote in message news:coe8hk$1gqd$1 digitaldaemon.com... | teqDruid wrote: | > dmd -I. -fversion=Posix -fversion=Mango -c -ofmango/io/AbstractWriter.o | > mango/io/AbstractWriter.d | > | > Running this hangs the compiler. | > | > $ dmd -v | > Reading specs from | > /usr/local/gcc-3.4/lib/gcc/powerpc-apple-darwin7.5.0/3.4.3/specs | > Configured with: ./configure --prefix=/usr/local/gcc-3.4 | > --enable-languages=c,d,c++ | > Thread model: posix | > gcc version 3.4.3 | > | > DMD patch 0.8 | > | > The rest of the files are available on DSource- it's the SVN Head version. | > | > John | > | > | | This compiler bug is triggered by classes/interfaces that refer to each | other. I think it's IWriter and IWritable in this case. | | David Nov 28 2004
|