trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: April 2012

Re: [trinity-devel] tdebase build failure - easyvector.h:90:5: error: 'erase' was not declared in this scope

From: Darrell Anderson <humanreadable@...>
Date: Wed, 4 Apr 2012 20:53:45 -0700 (PDT)
> /build/src/tdebase/kicker/applets/launcher/easyvector.h:90:5:
> error: 'erase' was not declared in this scope, and no declarations were
> found by argument-dependent lookup at the point of instantiation [-fpermissive]
> 
> Damn,
> 
>   I got tdebase to build, but this is the first time I
> had to use -fpermissive on the new code. Any idea why that suddenly became
> required?
 
 http://gcc.gnu.org/onlinedocs/gcc-4.0.4/gcc/C_002b_002b-Dialect-Options.html:

-fpermissive
Downgrade some diagnostics about nonconformant code from errors to warnings. Thus, using -fpermissive will allow some nonconforming code to compile.

Loosely interpreted: the gcc developers are anal?

Loosely interpreted: the original developers of that code were sloppy?

I suppose in the long run we all address these issues with a newer gcc. Eventually we'll need a cheat sheet to help one another with appropriate corrections in the old code base. Probably this summer when I tinker with the next likely Slackware release I get to deal with the problems too. Or retire.

As I am moving along at a snail's pace learning C++, the latter option sounds palatable. :)

Darrell