NS wrote:
Are you using mingw-w64.sf.net or mingw.sf.net?
I guess I should have made clear that every aspect of this is 64-bit
(not, for example, running 32-bit software on a 64-bit OS).
So far as I understand mingw.sf.net is only for 32-bit.
Anyway, the person who installed it just told me he got it from
mingw-w64.sf.net
Meanwhile, I tried using
g++ --param ggc-min-heapsize=999999 -c -O3 ...
instead of the previous
g++ -c -O3 ...
I thought that would prevent the garbage collect. It made zero difference.
The second to last I/O operation reads from one of the many header files
included into this compile.
The last I/O operation tries to open the first header file included by
the above header file in the directory named by the first -I switch on
the command line. That fails because that header isn't there.
One would expect that very soon thereafter it would try to open that
same header file in the directory named by the second -I switch, which
would have worked for that header and in fact had all ready worked for a
header opened earlier in the compile.
But to do that, it must combine the long directory path name from that
second -I switch with the name of the desired header file. I assume
that requires allocating some space and I expect that could require
running the garbage collector.
Anyway, it then uses cpu time but does no I/O for 17 seconds, then exits.
So does --param ggc-min-heapsize=999999 not mean what I think (not
garbage collect until more than 999999KB is used)? Or not work in the
version? Or I got some detail of the syntax wrong? Or I'm totally
misunderstanding the situation? Or what?