a proposal [Re: Continued: egcs-971201: testsuite results for i586-pc-linux-gnulibc1]

Max Lawson mlawson@drfmc.ceng.cea.fr
Wed Dec 3 15:32:00 GMT 1997


> From owner-egcs@cygnus.com Wed Dec  3 17:08 MET 1997
> Date: Wed, 3 Dec 1997 14:46:25 +0100
> From: Max Lawson <mlawson@drfmc.ceng.cea.fr>
> To: egcs@cygnus.com, law@cygnus.com, jason@cygnus.com
> Subject: Re: Continued: egcs-971201: testsuite results for i586-pc-linux-gnulibc1
> 
> 
> > From jason@cygnus.com Wed Dec  3 03:09 MET 1997
> > 
> > >>>>> Max Lawson <mlawson@drfmc.ceng.cea.fr> writes:
> > 
> > > $g++ -Wall -O test.cc 
> > > test.cc: In function `int main()':
> > > test.cc:10: virtual memory exhausted
> > 
> > As I said before, you need to add -Wno-return-type or the old memory
> > explosion bug resurfaces.  This is a known bug.  The problem is that
> > save_for_inline_copying wastes a ridiculous amount of memory in the
> > presence of recursive function definitions, which you get with templates.
> > With -Wno-return-type, we don't need to use save_for_inline_copying.
> 
> 
> I do not need to use any warning flag to obtain memory explosion. The 
> -Wno-return-type flag indeed solve the posted testcase problem, but can't 
> help. 
> I am now aware that my problem is mentioned in the first part of the online 
> faq (subject: virtual memory error). But what's called a large file ? And 
> how to simplify files ? In order to use template one has to merge header and 
> source files .... 
> 
> 


The way I succeed in simplifying my files is moving some member functions
definitions out of the class definition. Thereafter I no more have problem 
compiling.. :-)>

Maybe is this an usefull trick only in the case of class templates ? 

Anyhow, could this (expressed with the right words) be added to the faq ? 

With best regards, Max 



More information about the Gcc mailing list