[Lumiera] Gtk3 Is Underway

Ichthyostega prg at ichthyostega.de
Wed Aug 15 17:38:47 CEST 2012

Am 15.08.2012 10:32, schrieb Michael Fisher:
> I was able to make decent progress with migrating to a gtkmm-3.0 gui. 
> Under wheezy, the lumiera gui will build against the provided gtk3 (and
> gdl3) libraries.  I have created three new branches for the endeavor.
> mfisher31/gtk3 - Bulk of gtk3 specific transformations here
> mfisher31/gdlmm3 - Includes above + gdlmm-port (works)
> mfisher31/gcc-4.7 - Changes specific to allow compiling with the wheezy
> stock compiler (non-gui).

thanks! I'll have a more close look next days.

> I'm not exactly sure what I have going on in the gcc-4.7 branch is what
> 'should' be happening so I made it separate.

I've looked at some of the changes yesterday. It seems that gcc-47 is more
picky when it comes to parsing template definitions. Basically the language
requires that each function name used in a template needs to be known (declared
somewhere) right away. BUT there is the exception regarding the "parameter
dependent names": the compiler can't conclude anything regarding symbols,
where the exact meaning *could* depend on the concrete parameters used
to instantiate the template. In these cases, the lanugage requires the
compiler to postpone the search for a declaration to the point when
the template is actually instantiated with concrete type parameters.

Now, in the cases I saw, the 4.7 compiler complained about a name not
declared; you did the right thing to prefix the names with this->
because in these cases the type of the "this" pointer indeed depends
on the template parameters, and indeed the intention was to mix in
these member functions via a base class provided on template instantiation.

So, your solution to make that names parameter dependent and thus postpone
the compiler check to actual instantiation time was the canonical solution.

I rather don't understand why the older compiler didn't complain; probably
it's just a sloppiness, and thus it's good to fix those situations.


More information about the Lumiera mailing list