public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/23699] New: patch for #23099 breaks glibmm
@ 2005-09-02 15:57 matz at suse dot de
2005-09-02 16:01 ` [Bug c++/23699] [4.0/4.1 Regression] " pinskia at gcc dot gnu dot org
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: matz at suse dot de @ 2005-09-02 15:57 UTC (permalink / raw)
To: gcc-bugs
Marks patch for fixing PR23099 from 2005-08-29 makes glibmm not compile:
% cat glib-test.cc
#include <string>
struct A{
static const long npos = std::string::npos;
};
% g++ -c glib-test.cc
glib-test.cc:3: error: field initializer is not constant
Reverting it makes this compile again. To fail it seems to need that the
type of std::string::npos comes from a template argument member (the allocator
of std::string in this case). Easier tests do compile. Also doing
the initialization of A::npos outside the class definition makes this compile.
--
Summary: patch for #23099 breaks glibmm
Product: gcc
Version: 4.0.2
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: mark at codesourcery dot com
ReportedBy: matz at suse dot de
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23699
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/23699] [4.0/4.1 Regression] patch for #23099 breaks glibmm
2005-09-02 15:57 [Bug c++/23699] New: patch for #23099 breaks glibmm matz at suse dot de
@ 2005-09-02 16:01 ` pinskia at gcc dot gnu dot org
2005-09-02 16:15 ` matz at suse dot de
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-02 16:01 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-02 16:01 -------
Related to PR 23691 but this one fails on the mainline too.
Reducing.
--
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |rejects-valid
Known to fail| |4.0.2 4.1.0
Known to work| |3.4.0
Summary|patch for #23099 breaks |[4.0/4.1 Regression] patch
|glibmm |for #23099 breaks glibmm
Target Milestone|--- |4.0.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23699
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/23699] [4.0/4.1 Regression] patch for #23099 breaks glibmm
2005-09-02 15:57 [Bug c++/23699] New: patch for #23099 breaks glibmm matz at suse dot de
2005-09-02 16:01 ` [Bug c++/23699] [4.0/4.1 Regression] " pinskia at gcc dot gnu dot org
@ 2005-09-02 16:15 ` matz at suse dot de
2005-09-02 16:38 ` [Bug c++/23699] [4.0/4.1 Regression] rejects static int as non constant after "extern template" pinskia at gcc dot gnu dot org
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: matz at suse dot de @ 2005-09-02 16:15 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From matz at suse dot de 2005-09-02 16:14 -------
Yes, I also got the boost error. And I got that with a 4.0 CVS version
from today. Reverting Marks patch also solves the boost problem
described in PR23691.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23699
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/23699] [4.0/4.1 Regression] rejects static int as non constant after "extern template"
2005-09-02 15:57 [Bug c++/23699] New: patch for #23099 breaks glibmm matz at suse dot de
2005-09-02 16:01 ` [Bug c++/23699] [4.0/4.1 Regression] " pinskia at gcc dot gnu dot org
2005-09-02 16:15 ` matz at suse dot de
@ 2005-09-02 16:38 ` pinskia at gcc dot gnu dot org
2005-09-03 18:19 ` cvs-commit at gcc dot gnu dot org
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-02 16:38 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-02 16:37 -------
Reduced testcase:
template<typename _CharT > class basic_string;
typedef basic_string<char> string;
template<typename _CharT>
struct basic_string
{
static const int npos = -1;
};
extern template class basic_string<char>;
struct A
{
static const long npos = string::npos;
};
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2005-09-02 16:37:51
date| |
Summary|[4.0/4.1 Regression] patch |[4.0/4.1 Regression] rejects
|for #23099 breaks glibmm |static int as non constant
| |after "extern template"
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23699
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/23699] [4.0/4.1 Regression] rejects static int as non constant after "extern template"
2005-09-02 15:57 [Bug c++/23699] New: patch for #23099 breaks glibmm matz at suse dot de
` (2 preceding siblings ...)
2005-09-02 16:38 ` [Bug c++/23699] [4.0/4.1 Regression] rejects static int as non constant after "extern template" pinskia at gcc dot gnu dot org
@ 2005-09-03 18:19 ` cvs-commit at gcc dot gnu dot org
2005-09-03 18:27 ` cvs-commit at gcc dot gnu dot org
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-09-03 18:19 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-03 18:18 -------
Subject: Bug 23699
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: mmitchel@gcc.gnu.org 2005-09-03 18:18:48
Modified files:
gcc/cp : ChangeLog decl2.c parser.c semantics.c
gcc/testsuite : ChangeLog
Added files:
gcc/testsuite/g++.dg/ext: static1.C
Log message:
PR c++/23699
* decl2.c (mark_used): Always instantiate static data members
initialized by constant expressions.
* pt.c (instantiate_decl): Instantiate the initializers for static
data members initialized by constant expressions.
PR c++/21687
* semantics.c (expand_or_defer_fn): Do not call ggc_collect when
finishing processing for a template function in a local class.
Revert:
2005-09-02 Mark Mitchell <mark@codesourcery.com>
* parser.c (cp_parser_class_specifier): Push/pop GC contexts
around functions in local classes.
PR c++/23699
* g++.dg/ext/static1.C: New test.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4867&r2=1.4868
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl2.c.diff?cvsroot=gcc&r1=1.795&r2=1.796
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/parser.c.diff?cvsroot=gcc&r1=1.354&r2=1.355
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/semantics.c.diff?cvsroot=gcc&r1=1.483&r2=1.484
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.5999&r2=1.6000
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/ext/static1.C.diff?cvsroot=gcc&r1=NONE&r2=1.1
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23699
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/23699] [4.0/4.1 Regression] rejects static int as non constant after "extern template"
2005-09-02 15:57 [Bug c++/23699] New: patch for #23099 breaks glibmm matz at suse dot de
` (3 preceding siblings ...)
2005-09-03 18:19 ` cvs-commit at gcc dot gnu dot org
@ 2005-09-03 18:27 ` cvs-commit at gcc dot gnu dot org
2005-09-03 18:30 ` cvs-commit at gcc dot gnu dot org
2005-09-03 18:45 ` mmitchel at gcc dot gnu dot org
6 siblings, 0 replies; 8+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-09-03 18:27 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-03 18:27 -------
Subject: Bug 23699
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: mmitchel@gcc.gnu.org 2005-09-03 18:27:39
Modified files:
gcc/cp : pt.c
Log message:
PR c++/23699
* decl2.c (mark_used): Always instantiate static data members
initialized by constant expressions.
* pt.c (instantiate_decl): Instantiate the initializers for static
data members initialized by constant expressions.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&r1=1.1027&r2=1.1028
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23699
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/23699] [4.0/4.1 Regression] rejects static int as non constant after "extern template"
2005-09-02 15:57 [Bug c++/23699] New: patch for #23099 breaks glibmm matz at suse dot de
` (4 preceding siblings ...)
2005-09-03 18:27 ` cvs-commit at gcc dot gnu dot org
@ 2005-09-03 18:30 ` cvs-commit at gcc dot gnu dot org
2005-09-03 18:45 ` mmitchel at gcc dot gnu dot org
6 siblings, 0 replies; 8+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-09-03 18:30 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-03 18:29 -------
Subject: Bug 23699
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gcc-4_0-branch
Changes by: mmitchel@gcc.gnu.org 2005-09-03 18:29:47
Modified files:
gcc/testsuite : ChangeLog
gcc/cp : ChangeLog decl2.c parser.c pt.c semantics.c
Added files:
gcc/testsuite/g++.dg/ext: static1.C
Log message:
PR c++/23699
* decl2.c (mark_used): Always instantiate static data members
initialized by constant expressions.
* pt.c (instantiate_decl): Instantiate the initializers for static
data members initialized by constant expressions.
PR c++/21687
* semantics.c (expand_or_defer_fn): Do not call ggc_collect when
finishing processing for a template function in a local class.
Revert:
2005-09-02 Mark Mitchell <mark@codesourcery.com>
* parser.c (cp_parser_class_specifier): Push/pop GC contexts
around functions in local classes.
PR c++/23699
* g++.dg/ext/static1.C: New test.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5084.2.369&r2=1.5084.2.370
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/ext/static1.C.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.4648.2.88&r2=1.4648.2.89
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl2.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.770.2.4&r2=1.770.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/parser.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.319.2.15&r2=1.319.2.16
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.978.2.20&r2=1.978.2.21
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/semantics.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.463.2.6&r2=1.463.2.7
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23699
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/23699] [4.0/4.1 Regression] rejects static int as non constant after "extern template"
2005-09-02 15:57 [Bug c++/23699] New: patch for #23099 breaks glibmm matz at suse dot de
` (5 preceding siblings ...)
2005-09-03 18:30 ` cvs-commit at gcc dot gnu dot org
@ 2005-09-03 18:45 ` mmitchel at gcc dot gnu dot org
6 siblings, 0 replies; 8+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-09-03 18:45 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mmitchel at gcc dot gnu dot org 2005-09-03 18:45 -------
Fixed in 4.0.2.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23699
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2005-09-03 18:45 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-09-02 15:57 [Bug c++/23699] New: patch for #23099 breaks glibmm matz at suse dot de
2005-09-02 16:01 ` [Bug c++/23699] [4.0/4.1 Regression] " pinskia at gcc dot gnu dot org
2005-09-02 16:15 ` matz at suse dot de
2005-09-02 16:38 ` [Bug c++/23699] [4.0/4.1 Regression] rejects static int as non constant after "extern template" pinskia at gcc dot gnu dot org
2005-09-03 18:19 ` cvs-commit at gcc dot gnu dot org
2005-09-03 18:27 ` cvs-commit at gcc dot gnu dot org
2005-09-03 18:30 ` cvs-commit at gcc dot gnu dot org
2005-09-03 18:45 ` mmitchel 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).