Critical behavioral change between g++-4.4/g++-4.5 and g++-4.6 ?
Emmanuel Fleury
fleury@labri.fr
Sun Aug 21 12:09:00 GMT 2011
Hi,
On 08/21/2011 12:48 PM, Marc Glisse wrote:
> Wrong mailing list, you are looking for gcc-help.
Ok, sorry for that.
But, I looked thoroughly to the kyua code and I didn't see anything
wrong (even if I might have missed something, I admit it. I'm not a C++
god).
In fact, after a quick look at the g++-4.6 changelog, I found the
following item:
« * When an extern declaration within a function does not match a
declaration in the enclosing context, G++ now properly declares the name
within the namespace of the function rather than the namespace which was
open just before the function definition (c++/43145). »
See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43145
My work hypothesis for now is that the fix of this issue has changed
something in the way namespaces are handled
I think this issue is related to this change and that a bug has been
introduced in the compiler when c++/43145 has been fixed.
But, this is only an hypothesis.
> From the code. The definition (not just declaration) of templates
> should be available everywhere they are used (or you can manually force
> instantiation in one translation unit and inhibit it in the others).
And, could you spot the change that occurred in g++ between g++-4.5 and
g++-4.6 that changed its behavior ?
Why was it possible before and not anymore now ?
>> (sorry I didn't manage to circumvent the problem to a small piece of
>> code),
>
> Er, what did you try?
I am currently trying to do so and I didn't succeed to better understand
the problem by now.
My guess is that it is related to the namespace handling and I am
working in this direction. But, I have no more to say (except my
intuition that it might be related) and the code of kyua is new to me,
so it does take some time.
Regards
--
Emmanuel Fleury
If you can not measure it, you can not improve it.
-- Lord Kelvin
More information about the Gcc
mailing list