Re: Critical behavioral change between g++-4.4/g++-4.5 and g++-4.6 ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux