Launchpad has imported 13 comments from the remote bug at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31164.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2007-03-13T16:48:36+00:00 Dave-neary wrote:

Hi,

There is a problem when using slots & trackable from Boost with GCC 4.1
- I don't know whether this is a GCC problem or a Boost problem, but it
affects us (OpenWengo) on both Fedora Core and Feisty, since both
distribute gcc 4.1.

I'm attaching a test case - the expected output is:

create A
fire SGN
A
create B
fire SGN
A
B
delete A
fire SGN
B
delete B
fire SGN
exit

This doesn't happen :)

What actually happens is that you get jibberish after "fire SGN" once
you have deleted A, since the correct signal slot isn't selected. I'll
attach the test case straight away.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/boost/+bug/75724/comments/4

------------------------------------------------------------------------
On 2007-03-13T16:49:19+00:00 Dave-neary wrote:

Created attachment 13202
Test case to show problem with Boost and GCC 4.1

Reply at:
https://bugs.launchpad.net/ubuntu/+source/boost/+bug/75724/comments/5

------------------------------------------------------------------------
On 2007-03-13T16:50:36+00:00 Dave-neary wrote:

Additional bug tracker entries have been created against Ubuntu:
https://launchpad.net/ubuntu/+source/gcc-4.1/+bug/75724 and OpenSuse:
https://bugzilla.novell.com/show_bug.cgi?id=228524

And against Boost:
http://sourceforge.net/tracker/index.php?func=detail&aid=1679990&group_id=7586&atid=107586

Dave.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/boost/+bug/75724/comments/6

------------------------------------------------------------------------
On 2007-03-13T17:54:55+00:00 Rguenth wrote:

And this duplicate doesn't add any useful information on top of what was entered
into the novell bugzilla.  Nobody here is going to wade through boost to 
understand what is going on here.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/boost/+bug/75724/comments/8

------------------------------------------------------------------------
On 2007-04-02T10:13:52+00:00 Pawel-sikora-9 wrote:

attached testcase works fine with vs2k3/boost-1.33/stlport.
it also works with g++-4.0.0/20050519(RH 4.0.0-8)/boost/libstdc++
on x86_64-gnu-linux. in the other. indeed, it fails with 4.1.2
and 4.2.0 (4.3 not tested).


Reply at: https://bugs.launchpad.net/ubuntu/+source/boost/+bug/75724/comments/10

------------------------------------------------------------------------
On 2007-07-01T05:28:33+00:00 Vmpn wrote:

Created attachment 13808
Test case without using boost

Please find attached a standalone test case without using boost. It
based on my analysis of the boost functions affected.

The test runs differently when compiled with g++-3.4.6 (GCC) 3.4.6 (Gentoo 
3.4.6-r2, ssp-3.4.6-1.0, pie-8.7.10) and g++-4.1.2 (GCC) 4.1.2 (Gentoo 4.1.2)
versions of the GCC 

If namespaces were removed from the test case, the issue did not seem to
occur.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/boost/+bug/75724/comments/12

------------------------------------------------------------------------
On 2007-07-01T09:13:28+00:00 Pinskia wrote:

>The test runs differently when compiled with g++-3.4.6 (GCC) 3.4.6 (Gentoo 
>3.4.6-r2, ssp-3.4.6-1.0,
> pie-8.7.10) and g++-4.1.2 (GCC) 4.1.2 (Gentoo 4.1.2) versions of the GCC 

Yes and 4.1.x result is the correct according to the standard.
"We are in default template function" should be printed because the overloaded 
set for visit_each in visit_each (with two arguments) is the only one because 
the types are not in the namespace of bugsrus.

I have not looked into the original testcase yet but the new one is
correct for 4.1 (see gcc-4.1/changes.html for more info).

Reply at:
https://bugs.launchpad.net/ubuntu/+source/boost/+bug/75724/comments/13

------------------------------------------------------------------------
On 2007-07-01T10:37:10+00:00 Cavedon-x wrote:

Created attachment 13811
Patch to test.cpp, working with gcc 4.1

Adding the declaration of "our template function" before the "default
template function without 3rd arg" makes gcc 4.1 behave the same way as
3.4.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/boost/+bug/75724/comments/14

------------------------------------------------------------------------
On 2007-07-01T19:38:38+00:00 Vmpn wrote:

Created attachment 13815
Test case fixed using forward declarations

Thank you for your help. I think I now have a better understanding of
what is going on. As far as GCC is concerned the overriding visit_each
template function dealing with MyData does not exist when it makes its
decision regarding visit_each(v, data, 0); call.

I am attaching fixed (working with 4.1) text case that is more
representative of the boost structure (to the best of my understanding).
Also, I will be using it as a base for a follow up issue I ran into.

I am also including couple of relevant links for better context to this
issue for anyone else who might stumble on this entry:

Two Phase looks ups and GCC:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11828
http://groups.google.com/group/comp.std.c++/msg/6a53b35efe39fee3
http://gcc.gnu.org/gcc-3.4/changes.html
http://gcc.gnu.org/onlinedocs/gcc/Name-lookup.html
http://developer.apple.com/releasenotes/DeveloperTools/RN-GCC4/index.html

IMHO, the changes are mentioned as early as gcc 3.4 but they did not
seem to fully kick in until gcc 4.x.

Related boost email and change that I found:

http://lists.boost.org/Archives/boost/2006/04/103989.php
http://boost.cvs.sourceforge.net/boost/boost/boost/bind.hpp?r1=1.55&r2=1.56

Regards,

Vladimir

Reply at:
https://bugs.launchpad.net/ubuntu/+source/boost/+bug/75724/comments/15

------------------------------------------------------------------------
On 2007-07-01T19:44:54+00:00 Vmpn wrote:

Created attachment 13816
Test case that does not call MyData visit_each (as expected)

Attaching a test case without forward declarations, that no longer calls
MyData visit_each template function, as expected

Reply at:
https://bugs.launchpad.net/ubuntu/+source/boost/+bug/75724/comments/16

------------------------------------------------------------------------
On 2007-07-01T19:52:24+00:00 Vmpn wrote:

Created attachment 13817
Test case that calls MyData visit_each without forward declaration

If the MydData visit_each is moved into the bugsrus::internal name space
GCC now finds it, even though it is not declared upfront.

Regards,

Vladimir

Reply at:
https://bugs.launchpad.net/ubuntu/+source/boost/+bug/75724/comments/17

------------------------------------------------------------------------
On 2021-12-10T06:54:54+00:00 Pinskia wrote:

The original issue was fixed upstream in boost 1.34 (according to the
opensuse bug). So closing as moved. The sourceforge bug link for boost
does not work any more.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/boost/+bug/75724/comments/18

------------------------------------------------------------------------
On 2021-12-10T10:34:50+00:00 Redi wrote:

Boost bug tracking moved to https://svn.boost.org/trac10/report and then
to github. Boost.Signals was replaced by Boost.Signals2 years ago
though.

Clang gives the same result as GCC. EDG does for C++11 and later, but
behaves as the OP wants for --c++98 mode, suggesting there was a core DR
related to this. Maybe something about the lookup and point of
instantiation.

Anyway, the Boost change that fixed it seems to be:
https://github.com/boostorg/bind/commit/a87638486bda4bac1234753ef5930725eb3c31b4

Reply at:
https://bugs.launchpad.net/ubuntu/+source/boost/+bug/75724/comments/19


** Changed in: gcc
       Status: New => Unknown

** Bug watch added: SourceForge.net Tracker #1679990
   http://sourceforge.net/support/tracker.php?aid=1679990

** Bug watch added: GCC Bugzilla #11828
   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=11828

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/75724

Title:
  bad code with boost::signals

To manage notifications about this bug go to:
https://bugs.launchpad.net/gcc/+bug/75724/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to