* [Bug c++/28048] ICE on accessing member of dependent name
2006-06-16 2:04 [Bug c++/28048] New: ICC on accessing member of dependent name gcc dot gnu dot org at chosenones dot dyndns dot org
@ 2006-06-16 10:47 ` rguenth at gcc dot gnu dot org
2006-06-16 13:06 ` [Bug c++/28048] [4.0/4.1/4.2 Regression] " gcc dot gnu dot org at chosenones dot dyndns dot org
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-06-16 10:47 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from rguenth at gcc dot gnu dot org 2006-06-16 10:42 -------
Confirmed:
Program received signal SIGSEGV, Segmentation fault.
0x081c916f in perform_or_defer_access_check (binfo=0x0, decl=0xa7c21af8)
at /home/richard/src/trunk/gcc/cp/semantics.c:315
warning: Source file is more recent than executable.
315 gcc_assert (TREE_CODE (binfo) == TREE_BINFO);
Looks invalid, as I think default arguments need to be bound immediately(?)
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |ice-on-invalid-code
Known to fail| |4.0.4 4.1.0 4.2.0
Last reconfirmed|0000-00-00 00:00:00 |2006-06-16 10:42:12
date| |
Summary|ICC on accessing member of |ICE on accessing member of
|dependent name |dependent name
Target Milestone|--- |4.0.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28048
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/28048] [4.0/4.1/4.2 Regression] ICE on accessing member of dependent name
2006-06-16 2:04 [Bug c++/28048] New: ICC on accessing member of dependent name gcc dot gnu dot org at chosenones dot dyndns dot org
2006-06-16 10:47 ` [Bug c++/28048] ICE " rguenth at gcc dot gnu dot org
@ 2006-06-16 13:06 ` gcc dot gnu dot org at chosenones dot dyndns dot org
2006-06-16 17:44 ` pinskia at gcc dot gnu dot org
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: gcc dot gnu dot org at chosenones dot dyndns dot org @ 2006-06-16 13:06 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from gcc dot gnu dot org at chosenones dot dyndns dot org 2006-06-16 12:59 -------
I'm not entirely sure myself, but:
Section 14.6.7
"When looking for the declaration of a name used in a template function
definition or static data member template definition, the usual lookup rules
_basic.lookup.unqual_, _basic.lookup.koenig_) are used for non-dependent names.
The lookup of names dependent on the template arguments is postponed until
the actual template argument is known (_temp.dep_)."
Section 14.6.2.3.1 seems to make this a value-dependent expression:
"1 Except as described below, a constant expression is value-dependent if
any subexpression is value-dependent."
Section 14.6.2.4
"An integral non-type template argument is dependent if the constant
expression it specifies is value-dependent."
So, it seems to be a dependent name, and in other contexts, the lookup of
dependent names is delayed. Also, existing practice and common sense seem to
suggest that this be default. In any case, an ICE is probably not what should
happen.
Comeau C/C++ 4.3.3: Compiles
MSVC 7.1: Compiles
That expression as
-- A static member initializer: Compiles
-- A default function argument: Compiles
A nested type expression of the same form as
-- A base class: Compiles
-- A nested type specifier [typedef]: Compiles
-- Function return type or argument type: Compiles
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28048
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/28048] [4.0/4.1/4.2 Regression] ICE on accessing member of dependent name
2006-06-16 2:04 [Bug c++/28048] New: ICC on accessing member of dependent name gcc dot gnu dot org at chosenones dot dyndns dot org
2006-06-16 10:47 ` [Bug c++/28048] ICE " rguenth at gcc dot gnu dot org
2006-06-16 13:06 ` [Bug c++/28048] [4.0/4.1/4.2 Regression] " gcc dot gnu dot org at chosenones dot dyndns dot org
@ 2006-06-16 17:44 ` pinskia at gcc dot gnu dot org
2006-07-17 2:42 ` mmitchel at gcc dot gnu dot org
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-06-16 17:44 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from pinskia at gcc dot gnu dot org 2006-06-16 17:43 -------
(In reply to comment #1)
> Looks invalid, as I think default arguments need to be bound immediately(?)
No they don't, if they did then all of STL with allocators would be broken :).
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
GCC build triplet|i686-pc-linux-gnu |
GCC host triplet|i686-pc-linux-gnu |
GCC target triplet|i686-pc-linux-gnu |
Keywords|ice-on-invalid-code |ice-on-valid-code
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28048
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/28048] [4.0/4.1/4.2 Regression] ICE on accessing member of dependent name
2006-06-16 2:04 [Bug c++/28048] New: ICC on accessing member of dependent name gcc dot gnu dot org at chosenones dot dyndns dot org
` (2 preceding siblings ...)
2006-06-16 17:44 ` pinskia at gcc dot gnu dot org
@ 2006-07-17 2:42 ` mmitchel at gcc dot gnu dot org
2006-07-19 0:35 ` mmitchel at gcc dot gnu dot org
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-07-17 2:42 UTC (permalink / raw)
To: gcc-bugs
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28048
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/28048] [4.0/4.1/4.2 Regression] ICE on accessing member of dependent name
2006-06-16 2:04 [Bug c++/28048] New: ICC on accessing member of dependent name gcc dot gnu dot org at chosenones dot dyndns dot org
` (3 preceding siblings ...)
2006-07-17 2:42 ` mmitchel at gcc dot gnu dot org
@ 2006-07-19 0:35 ` mmitchel at gcc dot gnu dot org
2006-07-19 5:15 ` mmitchel at gcc dot gnu dot org
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-07-19 0:35 UTC (permalink / raw)
To: gcc-bugs
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |mark at codesourcery dot com
|dot org |
Status|NEW |ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28048
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/28048] [4.0/4.1/4.2 Regression] ICE on accessing member of dependent name
2006-06-16 2:04 [Bug c++/28048] New: ICC on accessing member of dependent name gcc dot gnu dot org at chosenones dot dyndns dot org
` (4 preceding siblings ...)
2006-07-19 0:35 ` mmitchel at gcc dot gnu dot org
@ 2006-07-19 5:15 ` mmitchel at gcc dot gnu dot org
2006-07-19 5:18 ` [Bug c++/28048] [4.0/4.1 " mmitchel at gcc dot gnu dot org
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-07-19 5:15 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from mmitchel at gcc dot gnu dot org 2006-07-19 05:15 -------
Subject: Bug 28048
Author: mmitchel
Date: Wed Jul 19 05:14:25 2006
New Revision: 115579
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115579
Log:
PR c++/28048
* semantics.c (check_accessibility_of_qualified_id): Robustify.
PR c++/28048
* g++.dg/template/defarg9.C: New test.
Added:
trunk/gcc/testsuite/g++.dg/template/defarg9.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28048
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/28048] [4.0/4.1 Regression] ICE on accessing member of dependent name
2006-06-16 2:04 [Bug c++/28048] New: ICC on accessing member of dependent name gcc dot gnu dot org at chosenones dot dyndns dot org
` (5 preceding siblings ...)
2006-07-19 5:15 ` mmitchel at gcc dot gnu dot org
@ 2006-07-19 5:18 ` mmitchel at gcc dot gnu dot org
2006-07-19 6:43 ` mmitchel at gcc dot gnu dot org
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-07-19 5:18 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from mmitchel at gcc dot gnu dot org 2006-07-19 05:18 -------
Fixed in 4.2.
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.0/4.1/4.2 Regression] ICE|[4.0/4.1 Regression] ICE on
|on accessing member of |accessing member of
|dependent name |dependent name
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28048
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/28048] [4.0/4.1 Regression] ICE on accessing member of dependent name
2006-06-16 2:04 [Bug c++/28048] New: ICC on accessing member of dependent name gcc dot gnu dot org at chosenones dot dyndns dot org
` (6 preceding siblings ...)
2006-07-19 5:18 ` [Bug c++/28048] [4.0/4.1 " mmitchel at gcc dot gnu dot org
@ 2006-07-19 6:43 ` mmitchel at gcc dot gnu dot org
2006-07-19 6:43 ` [Bug c++/28048] [4.0 " mmitchel at gcc dot gnu dot org
2007-02-03 17:38 ` gdr at gcc dot gnu dot org
9 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-07-19 6:43 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from mmitchel at gcc dot gnu dot org 2006-07-19 06:43 -------
Subject: Bug 28048
Author: mmitchel
Date: Wed Jul 19 06:42:56 2006
New Revision: 115581
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115581
Log:
PR c++/28048
* semantics.c (check_accessibility_of_qualified_id): Robustify.
PR c++/28048
* g++.dg/template/defarg9.C: New test.
Added:
branches/gcc-4_1-branch/gcc/testsuite/g++.dg/template/defarg9.C
Modified:
branches/gcc-4_1-branch/gcc/cp/ChangeLog
branches/gcc-4_1-branch/gcc/cp/semantics.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28048
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/28048] [4.0 Regression] ICE on accessing member of dependent name
2006-06-16 2:04 [Bug c++/28048] New: ICC on accessing member of dependent name gcc dot gnu dot org at chosenones dot dyndns dot org
` (7 preceding siblings ...)
2006-07-19 6:43 ` mmitchel at gcc dot gnu dot org
@ 2006-07-19 6:43 ` mmitchel at gcc dot gnu dot org
2007-02-03 17:38 ` gdr at gcc dot gnu dot org
9 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-07-19 6:43 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from mmitchel at gcc dot gnu dot org 2006-07-19 06:43 -------
Fixed in 4.1.2.
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|mark at codesourcery dot com|unassigned at gcc dot gnu
| |dot org
Status|ASSIGNED |NEW
Summary|[4.0/4.1 Regression] ICE on |[4.0 Regression] ICE on
|accessing member of |accessing member of
|dependent name |dependent name
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28048
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/28048] [4.0 Regression] ICE on accessing member of dependent name
2006-06-16 2:04 [Bug c++/28048] New: ICC on accessing member of dependent name gcc dot gnu dot org at chosenones dot dyndns dot org
` (8 preceding siblings ...)
2006-07-19 6:43 ` [Bug c++/28048] [4.0 " mmitchel at gcc dot gnu dot org
@ 2007-02-03 17:38 ` gdr at gcc dot gnu dot org
9 siblings, 0 replies; 11+ messages in thread
From: gdr at gcc dot gnu dot org @ 2007-02-03 17:38 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from gdr at gcc dot gnu dot org 2007-02-03 17:38 -------
Fixed in GCC-4.1.2.
--
gdr at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Target Milestone|4.0.4 |4.1.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28048
^ permalink raw reply [flat|nested] 11+ messages in thread