public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/13549] New: Regression compiling Boost.Python test
@ 2004-01-02 18:48 rwgk at yahoo dot com
2004-01-02 18:49 ` [Bug c++/13549] " rwgk at yahoo dot com
` (15 more replies)
0 siblings, 16 replies; 17+ messages in thread
From: rwgk at yahoo dot com @ 2004-01-02 18:48 UTC (permalink / raw)
To: gcc-bugs
gcc snapshot from 2003/12/30, ca. 7:40am PST
Configured with: ../gcc/configure --prefix=/usr/local_cci/gcc_cvs_2003_12_30 --
enable-languages=c,c++
Redhat Linux 8.0
One of our regression test for Boost.Python does not compile with g++
(GCC) 3.4.0 20031230 (experimental). We are puzzled by the error
message. David Abrahams, principle author of the Boost.Python library,
writes:
>I don't have a clue. It seems to be failing to find the overload of
>the get function in make_constructor.hpp.
>
><shrug>
The same code works with many other compilers incl. earlier gcc's. I
will attach a preprocessed file that can be used to reproduce the
problem:
% g++ -fPIC -ftemplate-depth-120 -w -DNDEBUG -O3 -DBOOST_PYTHON_MAX_BASES=2 -
I/net/worm/scratch1/rwgk/rc1310/boost -I/usr/include/python2.2 -
E /net/worm/scratch1/rwgk/rc1310/boost/libs/python/test/injected.cpp >
injected_pp.cpp
% g++ -fPIC -ftemplate-depth-120 -w -O3 injected_pp.cpp >& injected_pp_error
% g++ -fPIC -ftemplate-depth-120 -w -O3 injected_pp.cpp |& perl
~/stlfilt/gSTLFilt.pl > injected_pp_error_stlfilt
The files are also available here:
http://cci.lbl.gov/~rwgk/bugs/gcc340/injected_pp.cpp
http://cci.lbl.gov/~rwgk/bugs/gcc340/injected_pp_error
http://cci.lbl.gov/~rwgk/bugs/gcc340/injected_pp_error_stlfilt
The full source code (complete boost tree, release candidate branch for
version 1.31.0) is also available:
http://cci.lbl.gov/~rwgk/bugs/gcc340/boost_rc1310_2004_01_02_1016.tar.gz
Remark: the release candidate is patched already to work around
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13530
--
Summary: Regression compiling Boost.Python test
Product: gcc
Version: 3.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rwgk at yahoo dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: g++ (GCC) 3.4.0 20031230 (experimental)
GCC host triplet: i686-gnu-linux
GCC target triplet: i686-gnu-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13549
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug c++/13549] Regression compiling Boost.Python test
2004-01-02 18:48 [Bug c++/13549] New: Regression compiling Boost.Python test rwgk at yahoo dot com
@ 2004-01-02 18:49 ` rwgk at yahoo dot com
2004-01-02 18:50 ` rwgk at yahoo dot com
` (14 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: rwgk at yahoo dot com @ 2004-01-02 18:49 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rwgk at yahoo dot com 2004-01-02 18:49 -------
Created an attachment (id=5401)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=5401&action=view)
Preprocessed source, gzipped
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13549
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug c++/13549] Regression compiling Boost.Python test
2004-01-02 18:48 [Bug c++/13549] New: Regression compiling Boost.Python test rwgk at yahoo dot com
2004-01-02 18:49 ` [Bug c++/13549] " rwgk at yahoo dot com
@ 2004-01-02 18:50 ` rwgk at yahoo dot com
2004-01-02 18:51 ` rwgk at yahoo dot com
` (13 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: rwgk at yahoo dot com @ 2004-01-02 18:50 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rwgk at yahoo dot com 2004-01-02 18:50 -------
Created an attachment (id=5402)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=5402&action=view)
g++ error message
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13549
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug c++/13549] Regression compiling Boost.Python test
2004-01-02 18:48 [Bug c++/13549] New: Regression compiling Boost.Python test rwgk at yahoo dot com
2004-01-02 18:49 ` [Bug c++/13549] " rwgk at yahoo dot com
2004-01-02 18:50 ` rwgk at yahoo dot com
@ 2004-01-02 18:51 ` rwgk at yahoo dot com
2004-01-02 19:05 ` rwgk at yahoo dot com
` (12 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: rwgk at yahoo dot com @ 2004-01-02 18:51 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rwgk at yahoo dot com 2004-01-02 18:51 -------
Created an attachment (id=5403)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=5403&action=view)
g++ error message, reformatted using stlfilt
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13549
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug c++/13549] Regression compiling Boost.Python test
2004-01-02 18:48 [Bug c++/13549] New: Regression compiling Boost.Python test rwgk at yahoo dot com
` (2 preceding siblings ...)
2004-01-02 18:51 ` rwgk at yahoo dot com
@ 2004-01-02 19:05 ` rwgk at yahoo dot com
2004-01-02 21:16 ` pinskia at gcc dot gnu dot org
` (11 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: rwgk at yahoo dot com @ 2004-01-02 19:05 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rwgk at yahoo dot com 2004-01-02 19:05 -------
Another remark: we had to apply two trivial patches to the original
Boost.Python code in order to make gcc 3.4.0 work for all other
regression tests:
http://cvs.sourceforge.net/viewcvs.py/boost/boost/boost/python/long.hpp?
r1=1.11&r2=1.12
http://cvs.sourceforge.net/viewcvs.py/boost/boost/libs/python/src/module.cpp?
r1=1.21&r2=1.22
Could there be a general problem with the gcc 3.4.0 parser?
Could bug 13549 be just another manifestation of the same problem?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13549
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug c++/13549] Regression compiling Boost.Python test
2004-01-02 18:48 [Bug c++/13549] New: Regression compiling Boost.Python test rwgk at yahoo dot com
` (3 preceding siblings ...)
2004-01-02 19:05 ` rwgk at yahoo dot com
@ 2004-01-02 21:16 ` pinskia at gcc dot gnu dot org
2004-01-02 22:25 ` [Bug c++/13549] [3.4 Regression] " pinskia at gcc dot gnu dot org
` (10 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-02 21:16 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-01-02 21:15 -------
Could you make the next release candidate not have the work around for PR 13530 aka bug 12573
as it will be fixed before the release of 3.4?
But aways the problem looks like is that PyObject* get(offset_args<BaseArgs,Offset> const& args_ )
is not defined until after 47482 (line numbers do not match but that does not matter) (this is where
the invalid initialization of reference error is) until line 61811.
I do not know if this should work like this or if this is really a problem in GCC.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13549
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug c++/13549] [3.4 Regression] Regression compiling Boost.Python test
2004-01-02 18:48 [Bug c++/13549] New: Regression compiling Boost.Python test rwgk at yahoo dot com
` (4 preceding siblings ...)
2004-01-02 21:16 ` pinskia at gcc dot gnu dot org
@ 2004-01-02 22:25 ` pinskia at gcc dot gnu dot org
2004-01-02 22:40 ` dave at boost-consulting dot com
` (9 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-02 22:25 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-01-02 22:24 -------
I found a simple testcase which shows this:
template <typename T> int g(int);
class h{};
template <typename T> int l(){h j; return g<T>(j);}
template <typename T> int g(const h&);
class j{};
int jj(){return l<j>();}
I can confirm this on the mainline.
>From Phil's regression hunter: Search converges between 2002-12-27-trunk (#177) and
2002-12-28-trunk (#178). That is when the new parser went in.
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |critical
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Keywords| |rejects-valid
Last reconfirmed|0000-00-00 00:00:00 |2004-01-02 22:25:03
date| |
Summary|Regression compiling |[3.4 Regression] Regression
|Boost.Python test |compiling Boost.Python test
Target Milestone|--- |3.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13549
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug c++/13549] [3.4 Regression] Regression compiling Boost.Python test
2004-01-02 18:48 [Bug c++/13549] New: Regression compiling Boost.Python test rwgk at yahoo dot com
` (5 preceding siblings ...)
2004-01-02 22:25 ` [Bug c++/13549] [3.4 Regression] " pinskia at gcc dot gnu dot org
@ 2004-01-02 22:40 ` dave at boost-consulting dot com
2004-01-03 1:49 ` pinskia at gcc dot gnu dot org
` (8 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: dave at boost-consulting dot com @ 2004-01-02 22:40 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dave at boost-consulting dot com 2004-01-02 22:40 -------
I think the main question here is: must a function invoked with explicitly-
specified template arguments be found in phase 1 in order to be considered as
candidates?
I think this program captures the question:
template <int n>
int f(char*);
template <class T>
int g(T x)
{
return f<1>(x);
}
I'm not sure how to interpret 14.6.4.2, but I believe it is relevant.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13549
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug c++/13549] [3.4 Regression] Regression compiling Boost.Python test
2004-01-02 18:48 [Bug c++/13549] New: Regression compiling Boost.Python test rwgk at yahoo dot com
` (6 preceding siblings ...)
2004-01-02 22:40 ` dave at boost-consulting dot com
@ 2004-01-03 1:49 ` pinskia at gcc dot gnu dot org
2004-01-03 2:55 ` dave at boost-consulting dot com
` (7 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-03 1:49 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-01-03 01:49 -------
I let someone else really decide but with my reading of 3.4.1 which 14.6.4.2 says apply,
the code is invalid.
Most likely:
In all the cases listed in 3.4.1, the scopes are searched for a declaration in the order
listed in each of the respective categories; name lookup ends as soon as a declaration is
found for the name. If no declaration is found, the program is ill-formed.
The scopes are before the template but then again ICC 6.0 accpets this.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13549
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug c++/13549] [3.4 Regression] Regression compiling Boost.Python test
2004-01-02 18:48 [Bug c++/13549] New: Regression compiling Boost.Python test rwgk at yahoo dot com
` (7 preceding siblings ...)
2004-01-03 1:49 ` pinskia at gcc dot gnu dot org
@ 2004-01-03 2:55 ` dave at boost-consulting dot com
2004-01-03 3:00 ` pinskia at gcc dot gnu dot org
` (6 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: dave at boost-consulting dot com @ 2004-01-03 2:55 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dave at boost-consulting dot com 2004-01-03 02:55 -------
It's not that simple. There are two searches, one at the point of definition
and another at the point of instantiation. One way to read this is that in my
little example, the first search finds the "f" that's defined there. Since
there has been no instantiation of g, the second search is never performed in
the little example. In the testcase, the required definition of "get" shows
up before the point of instantiation.
Incidentally, not only ICC6 but also EDG's latest compiler accepts this code
(http://www.comeaucomputing.com/tryitout). EDG's Steve Adamczyk is sometimes
known as "Mr. name lookup", so maybe you should ask him.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13549
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug c++/13549] [3.4 Regression] Regression compiling Boost.Python test
2004-01-02 18:48 [Bug c++/13549] New: Regression compiling Boost.Python test rwgk at yahoo dot com
` (8 preceding siblings ...)
2004-01-03 2:55 ` dave at boost-consulting dot com
@ 2004-01-03 3:00 ` pinskia at gcc dot gnu dot org
2004-01-04 23:02 ` [Bug c++/13549] Problem " mmitchel at gcc dot gnu dot org
` (5 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-03 3:00 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-01-03 03:00 -------
But that is why I said I would should let someone else to decide this for real.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13549
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug c++/13549] Problem compiling Boost.Python test
2004-01-02 18:48 [Bug c++/13549] New: Regression compiling Boost.Python test rwgk at yahoo dot com
` (9 preceding siblings ...)
2004-01-03 3:00 ` pinskia at gcc dot gnu dot org
@ 2004-01-04 23:02 ` mmitchel at gcc dot gnu dot org
2004-02-16 5:22 ` pinskia at gcc dot gnu dot org
` (4 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-01-04 23:02 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mmitchel at gcc dot gnu dot org 2004-01-04 23:02 -------
The standard does not answer this question.
14.6.4.2 does not apply because that entire section applies only to a name that
"is an unqualified-id, but not a template-id". In these test cases, the name is
a template-id, such as "g<T>".
I believe that a core issue should be opened for this case; I will send email to
the right people about that.
Until there is a resolution, I don't see a compelling reason to make a change to
G++, so I've removed the regression tags, and marked this bug as suspended.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |SUSPENDED
Summary|[3.4 Regression] Regression |Problem compiling
|compiling Boost.Python test |Boost.Python test
Target Milestone|3.4.0 |---
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13549
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug c++/13549] Problem compiling Boost.Python test
2004-01-02 18:48 [Bug c++/13549] New: Regression compiling Boost.Python test rwgk at yahoo dot com
` (10 preceding siblings ...)
2004-01-04 23:02 ` [Bug c++/13549] Problem " mmitchel at gcc dot gnu dot org
@ 2004-02-16 5:22 ` pinskia at gcc dot gnu dot org
2004-02-23 1:06 ` pinskia at gcc dot gnu dot org
` (3 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-02-16 5:22 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-02-16 05:22 -------
I almost think DR 197, 213, and 225 is related.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13549
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug c++/13549] Problem compiling Boost.Python test
2004-01-02 18:48 [Bug c++/13549] New: Regression compiling Boost.Python test rwgk at yahoo dot com
` (11 preceding siblings ...)
2004-02-16 5:22 ` pinskia at gcc dot gnu dot org
@ 2004-02-23 1:06 ` pinskia at gcc dot gnu dot org
2004-03-06 14:19 ` Woebbeking at web dot de
` (2 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-02-23 1:06 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-02-23 01:06 -------
*** Bug 14242 has been marked as a duplicate of this bug. ***
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |debian-gcc at lists dot
| |debian dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13549
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug c++/13549] Problem compiling Boost.Python test
2004-01-02 18:48 [Bug c++/13549] New: Regression compiling Boost.Python test rwgk at yahoo dot com
` (12 preceding siblings ...)
2004-02-23 1:06 ` pinskia at gcc dot gnu dot org
@ 2004-03-06 14:19 ` Woebbeking at web dot de
2004-03-06 19:15 ` giovannibajo at libero dot it
2004-05-26 17:13 ` pinskia at gcc dot gnu dot org
15 siblings, 0 replies; 17+ messages in thread
From: Woebbeking at web dot de @ 2004-03-06 14:19 UTC (permalink / raw)
To: gcc-bugs
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 595 bytes --]
------- Additional Comments From Woebbeking at web dot de 2004-03-06 14:19 -------
(In reply to comment #11)
> Until there is a resolution, I don't see a compelling reason to make a
change to
> G++, so I've removed the regression tags, and marked this bug as suspended.
I'm not sure if my BR #14242 is the same but it compiles on all other
compilers I'm using (GCC < 3.4.0, Intel 7 and 8, MSVC 6 - 7.1), and I can't
believe that bla(const double&) must be declared or even defined before the
definition of foo().
André
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13549
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug c++/13549] Problem compiling Boost.Python test
2004-01-02 18:48 [Bug c++/13549] New: Regression compiling Boost.Python test rwgk at yahoo dot com
` (13 preceding siblings ...)
2004-03-06 14:19 ` Woebbeking at web dot de
@ 2004-03-06 19:15 ` giovannibajo at libero dot it
2004-05-26 17:13 ` pinskia at gcc dot gnu dot org
15 siblings, 0 replies; 17+ messages in thread
From: giovannibajo at libero dot it @ 2004-03-06 19:15 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From giovannibajo at libero dot it 2004-03-06 19:15 -------
Dave, your testcase in comment #7 is slightly different because the argument is
dependent. In the reduced testcase proposed by Andrew in comment #6, the
argument is not dependent.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |dave at boost-consulting dot
| |com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13549
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug c++/13549] Problem compiling Boost.Python test
2004-01-02 18:48 [Bug c++/13549] New: Regression compiling Boost.Python test rwgk at yahoo dot com
` (14 preceding siblings ...)
2004-03-06 19:15 ` giovannibajo at libero dot it
@ 2004-05-26 17:13 ` pinskia at gcc dot gnu dot org
15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-05-26 17:13 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|critical |normal
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13549
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2004-05-26 11:39 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-01-02 18:48 [Bug c++/13549] New: Regression compiling Boost.Python test rwgk at yahoo dot com
2004-01-02 18:49 ` [Bug c++/13549] " rwgk at yahoo dot com
2004-01-02 18:50 ` rwgk at yahoo dot com
2004-01-02 18:51 ` rwgk at yahoo dot com
2004-01-02 19:05 ` rwgk at yahoo dot com
2004-01-02 21:16 ` pinskia at gcc dot gnu dot org
2004-01-02 22:25 ` [Bug c++/13549] [3.4 Regression] " pinskia at gcc dot gnu dot org
2004-01-02 22:40 ` dave at boost-consulting dot com
2004-01-03 1:49 ` pinskia at gcc dot gnu dot org
2004-01-03 2:55 ` dave at boost-consulting dot com
2004-01-03 3:00 ` pinskia at gcc dot gnu dot org
2004-01-04 23:02 ` [Bug c++/13549] Problem " mmitchel at gcc dot gnu dot org
2004-02-16 5:22 ` pinskia at gcc dot gnu dot org
2004-02-23 1:06 ` pinskia at gcc dot gnu dot org
2004-03-06 14:19 ` Woebbeking at web dot de
2004-03-06 19:15 ` giovannibajo at libero dot it
2004-05-26 17:13 ` pinskia at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).