* [Bug c++/37093] [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
@ 2008-08-12 11:51 ` jakub at gcc dot gnu dot org
2008-08-13 16:18 ` bangerth at dealii dot org
` (30 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-08-12 11:51 UTC (permalink / raw)
To: gcc-bugs
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.3.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
2008-08-12 11:51 ` [Bug c++/37093] " jakub at gcc dot gnu dot org
@ 2008-08-13 16:18 ` bangerth at dealii dot org
2008-08-13 20:38 ` reichelt at gcc dot gnu dot org
` (29 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: bangerth at dealii dot org @ 2008-08-13 16:18 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from bangerth at dealii dot org 2008-08-13 16:17 -------
Confirmed.
--
bangerth at dealii dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bangerth at dealii dot org
Keywords| |ice-on-invalid-code
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
2008-08-12 11:51 ` [Bug c++/37093] " jakub at gcc dot gnu dot org
2008-08-13 16:18 ` bangerth at dealii dot org
@ 2008-08-13 20:38 ` reichelt at gcc dot gnu dot org
2008-08-13 20:58 ` reichelt at gcc dot gnu dot org
` (28 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2008-08-13 20:38 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from reichelt at gcc dot gnu dot org 2008-08-13 20:37 -------
Even shorter testcase:
==================================
struct A {};
template <int A::* p>
int foo(A* q)
{
return q->*p;
}
template <typename T>
int bar(int T::* p)
{
return foo<p>(0);
}
int i = bar<A>(0);
==================================
PR37093.cc: In function 'int foo(A*) [with int A::* p = p]':
PR37093.cc:7: internal compiler error: in expand_expr_real_1, at expr.c:7270
Please submit a full bug report, [etc.]
--
reichelt at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |reichelt at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2008-08-13 20:37:07
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (2 preceding siblings ...)
2008-08-13 20:38 ` reichelt at gcc dot gnu dot org
@ 2008-08-13 20:58 ` reichelt at gcc dot gnu dot org
2008-08-13 21:01 ` reichelt at gcc dot gnu dot org
` (27 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2008-08-13 20:58 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from reichelt at gcc dot gnu dot org 2008-08-13 20:57 -------
*** Bug 36789 has been marked as a duplicate of this bug. ***
--
reichelt at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |korusef at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (3 preceding siblings ...)
2008-08-13 20:58 ` reichelt at gcc dot gnu dot org
@ 2008-08-13 21:01 ` reichelt at gcc dot gnu dot org
2008-08-22 15:24 ` rguenth at gcc dot gnu dot org
` (26 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2008-08-13 21:01 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from reichelt at gcc dot gnu dot org 2008-08-13 20:59 -------
*** Bug 36776 has been marked as a duplicate of this bug. ***
--
reichelt at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |maksverver at geocities dot
| |com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (4 preceding siblings ...)
2008-08-13 21:01 ` reichelt at gcc dot gnu dot org
@ 2008-08-22 15:24 ` rguenth at gcc dot gnu dot org
2008-08-22 16:54 ` maksverver at geocities dot com
` (25 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-08-22 15:24 UTC (permalink / raw)
To: gcc-bugs
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (5 preceding siblings ...)
2008-08-22 15:24 ` rguenth at gcc dot gnu dot org
@ 2008-08-22 16:54 ` maksverver at geocities dot com
2008-08-27 22:12 ` jsm28 at gcc dot gnu dot org
` (24 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: maksverver at geocities dot com @ 2008-08-22 16:54 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from maksverver at geocities dot com 2008-08-22 16:53 -------
Excuse me, but I do not understand what makes this code invalid. Could anybody
explain? If so, does this apply to all the test cases given (also for bugs that
are marked as duplicates of this bug)?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (6 preceding siblings ...)
2008-08-22 16:54 ` maksverver at geocities dot com
@ 2008-08-27 22:12 ` jsm28 at gcc dot gnu dot org
2008-12-27 14:28 ` pinskia at gcc dot gnu dot org
` (23 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2008-08-27 22:12 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from jsm28 at gcc dot gnu dot org 2008-08-27 22:05 -------
4.3.2 is released, changing milestones to 4.3.3.
--
jsm28 at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.3.2 |4.3.3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (7 preceding siblings ...)
2008-08-27 22:12 ` jsm28 at gcc dot gnu dot org
@ 2008-12-27 14:28 ` pinskia at gcc dot gnu dot org
2008-12-29 6:56 ` pinskia at gcc dot gnu dot org
` (22 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-12-27 14:28 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from pinskia at gcc dot gnu dot org 2008-12-27 14:25 -------
Take the testcase in comment #2, p is not a valid template argument because it
is not valid constant expression.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed|2008-08-13 20:37:07 |2008-12-27 14:25:52
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (8 preceding siblings ...)
2008-12-27 14:28 ` pinskia at gcc dot gnu dot org
@ 2008-12-29 6:56 ` pinskia at gcc dot gnu dot org
2008-12-30 1:31 ` pinskia at gcc dot gnu dot org
` (21 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-12-29 6:56 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from pinskia at gcc dot gnu dot org 2008-12-29 06:53 -------
*** Bug 35268 has been marked as a duplicate of this bug. ***
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |circuitben at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (9 preceding siblings ...)
2008-12-29 6:56 ` pinskia at gcc dot gnu dot org
@ 2008-12-30 1:31 ` pinskia at gcc dot gnu dot org
2008-12-30 1:39 ` pinskia at gcc dot gnu dot org
` (20 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-12-30 1:31 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from pinskia at gcc dot gnu dot org 2008-12-30 01:28 -------
I almost want to say http://gcc.gnu.org/ml/gcc-patches/2004-07/msg01605.html
caused it. Still looking into it.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |pinskia at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (10 preceding siblings ...)
2008-12-30 1:31 ` pinskia at gcc dot gnu dot org
@ 2008-12-30 1:39 ` pinskia at gcc dot gnu dot org
2008-12-30 1:42 ` pinskia at gcc dot gnu dot org
` (19 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-12-30 1:39 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from pinskia at gcc dot gnu dot org 2008-12-30 01:37 -------
(In reply to comment #9)
> I almost want to say http://gcc.gnu.org/ml/gcc-patches/2004-07/msg01605.html
> caused it. Still looking into it.
Yes that caused it, it removed the check to make sure TYPE_PTRMEM_P is always a
PTRMEM_CST.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (11 preceding siblings ...)
2008-12-30 1:39 ` pinskia at gcc dot gnu dot org
@ 2008-12-30 1:42 ` pinskia at gcc dot gnu dot org
2008-12-30 5:23 ` pinskia at gcc dot gnu dot org
` (18 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-12-30 1:42 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from pinskia at gcc dot gnu dot org 2008-12-30 01:40 -------
Patch which I am testing:
Index: pt.c
===================================================================
--- pt.c (revision 142951)
+++ pt.c (working copy)
@@ -4626,6 +4626,13 @@ convert_nontype_argument (tree type, tre
expr = perform_qualification_conversions (type, expr);
if (expr == error_mark_node)
return expr;
+ if (TREE_CODE (expr) != PTRMEM_CST)
+ {
+ error ("%qE is not a valid template argument for type %qT "
+ "because it not a pointer-to-member of the form `&X::Y'",
+ expr, type);
+ return NULL_TREE;
+ }
}
/* A template non-type parameter must be one of the above. */
else
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (12 preceding siblings ...)
2008-12-30 1:42 ` pinskia at gcc dot gnu dot org
@ 2008-12-30 5:23 ` pinskia at gcc dot gnu dot org
2008-12-30 5:36 ` pinskia at gcc dot gnu dot org
` (17 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-12-30 5:23 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from pinskia at gcc dot gnu dot org 2008-12-30 05:22 -------
(In reply to comment #11)
> Patch which I am testing:
> Index: pt.c
> ===================================================================
> --- pt.c (revision 142951)
> +++ pt.c (working copy)
> @@ -4626,6 +4626,13 @@ convert_nontype_argument (tree type, tre
> expr = perform_qualification_conversions (type, expr);
> if (expr == error_mark_node)
> return expr;
> + if (TREE_CODE (expr) != PTRMEM_CST)
> + {
> + error ("%qE is not a valid template argument for type %qT "
> + "because it not a pointer-to-member of the form `&X::Y'",
> + expr, type);
> + return NULL_TREE;
> + }
The test has go in front of perform_qualification_conversions with an extra
STRIP_NOPS.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (13 preceding siblings ...)
2008-12-30 5:23 ` pinskia at gcc dot gnu dot org
@ 2008-12-30 5:36 ` pinskia at gcc dot gnu dot org
2008-12-30 22:23 ` pinskia at gcc dot gnu dot org
` (16 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-12-30 5:36 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from pinskia at gcc dot gnu dot org 2008-12-30 05:35 -------
That patch removed lots of code that is nessarry for this check, I have to add
back
+ /* The call to perform_qualification_conversions will
+ insert a NOP_EXPR over EXPR to do express conversion,
+ if necessary. But, that will confuse us if we use
+ this (converted) template parameter to instantiate
+ another template; then the thing will not look like a
+ valid template argument. So, just make a new
+ constant, of the appropriate type. */
Anyways now I have a real patch which brings us back to what was done before
and gives us the correct error.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (14 preceding siblings ...)
2008-12-30 5:36 ` pinskia at gcc dot gnu dot org
@ 2008-12-30 22:23 ` pinskia at gcc dot gnu dot org
2009-01-24 10:26 ` rguenth at gcc dot gnu dot org
` (15 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-12-30 22:23 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from pinskia at gcc dot gnu dot org 2008-12-30 22:22 -------
My patch is causing a couple of regressions:
FAIL: g++.dg/template/non-dependent8.C (test for errors, line 20)
FAIL: g++.dg/template/overload2.C (test for excess errors)
FAIL: g++.old-deja/g++.pt/ptrmem6.C (test for errors, line 25)
The issue comes down to the casting part without an error if they are not
compatible types.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|pinskia at gcc dot gnu dot |unassigned at gcc dot gnu
|org |dot org
Status|ASSIGNED |NEW
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (15 preceding siblings ...)
2008-12-30 22:23 ` pinskia at gcc dot gnu dot org
@ 2009-01-24 10:26 ` rguenth at gcc dot gnu dot org
2009-01-30 15:49 ` bangerth at gmail dot com
` (14 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-01-24 10:26 UTC (permalink / raw)
To: gcc-bugs
------- Comment #15 from rguenth at gcc dot gnu dot org 2009-01-24 10:20 -------
GCC 4.3.3 is being released, adjusting target milestone.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.3.3 |4.3.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (16 preceding siblings ...)
2009-01-24 10:26 ` rguenth at gcc dot gnu dot org
@ 2009-01-30 15:49 ` bangerth at gmail dot com
2009-01-30 15:52 ` bangerth at gmail dot com
` (13 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: bangerth at gmail dot com @ 2009-01-30 15:49 UTC (permalink / raw)
To: gcc-bugs
------- Comment #16 from bangerth at gmail dot com 2009-01-30 15:49 -------
(In reply to comment #5)
> Excuse me, but I do not understand what makes this code invalid. Could anybody
> explain? If so, does this apply to all the test cases given (also for bugs that
> are marked as duplicates of this bug)?
>
In this code:
---------------------
template <typename T>
int bar(int T::* p)
{
return foo<p>(0);
}
---------------------
'p' is a variable, but only constant expressions can be used as template
arguments for foo<.>
W.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (17 preceding siblings ...)
2009-01-30 15:49 ` bangerth at gmail dot com
@ 2009-01-30 15:52 ` bangerth at gmail dot com
2009-04-21 22:48 ` [Bug c++/37093] [4.2/4.3/4.4/4.5 " pinskia at gcc dot gnu dot org
` (12 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: bangerth at gmail dot com @ 2009-01-30 15:52 UTC (permalink / raw)
To: gcc-bugs
------- Comment #17 from bangerth at gmail dot com 2009-01-30 15:51 -------
*** Bug 38681 has been marked as a duplicate of this bug. ***
--
bangerth at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |juvvij at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4/4.5 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (18 preceding siblings ...)
2009-01-30 15:52 ` bangerth at gmail dot com
@ 2009-04-21 22:48 ` pinskia at gcc dot gnu dot org
2009-08-04 12:42 ` rguenth at gcc dot gnu dot org
` (11 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2009-04-21 22:48 UTC (permalink / raw)
To: gcc-bugs
------- Comment #18 from pinskia at gcc dot gnu dot org 2009-04-21 22:48 -------
*** Bug 39842 has been marked as a duplicate of this bug. ***
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |gccbug at isomer dot meta
| |dot net dot nz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4/4.5 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (19 preceding siblings ...)
2009-04-21 22:48 ` [Bug c++/37093] [4.2/4.3/4.4/4.5 " pinskia at gcc dot gnu dot org
@ 2009-08-04 12:42 ` rguenth at gcc dot gnu dot org
2009-10-30 16:03 ` dodji at gcc dot gnu dot org
` (10 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-08-04 12:42 UTC (permalink / raw)
To: gcc-bugs
------- Comment #19 from rguenth at gcc dot gnu dot org 2009-08-04 12:29 -------
GCC 4.3.4 is being released, adjusting target milestone.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.3.4 |4.3.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4/4.5 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (20 preceding siblings ...)
2009-08-04 12:42 ` rguenth at gcc dot gnu dot org
@ 2009-10-30 16:03 ` dodji at gcc dot gnu dot org
2009-10-31 7:06 ` dodji at gcc dot gnu dot org
` (9 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: dodji at gcc dot gnu dot org @ 2009-10-30 16:03 UTC (permalink / raw)
To: gcc-bugs
--
dodji at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |dodji at gcc dot gnu dot org
|dot org |
Status|NEW |ASSIGNED
Last reconfirmed|2009-09-20 20:10:49 |2009-10-30 16:03:06
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4/4.5 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (21 preceding siblings ...)
2009-10-30 16:03 ` dodji at gcc dot gnu dot org
@ 2009-10-31 7:06 ` dodji at gcc dot gnu dot org
2009-11-02 19:55 ` dodji at gcc dot gnu dot org
` (8 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: dodji at gcc dot gnu dot org @ 2009-10-31 7:06 UTC (permalink / raw)
To: gcc-bugs
------- Comment #20 from dodji at gcc dot gnu dot org 2009-10-31 07:05 -------
Patch posted to http://gcc.gnu.org/ml/gcc-patches/2009-10/msg01827.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4/4.5 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (22 preceding siblings ...)
2009-10-31 7:06 ` dodji at gcc dot gnu dot org
@ 2009-11-02 19:55 ` dodji at gcc dot gnu dot org
2009-11-02 19:59 ` dodji at gcc dot gnu dot org
` (7 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: dodji at gcc dot gnu dot org @ 2009-11-02 19:55 UTC (permalink / raw)
To: gcc-bugs
------- Comment #21 from dodji at gcc dot gnu dot org 2009-11-02 19:55 -------
Subject: Bug 37093
Author: dodji
Date: Mon Nov 2 19:55:02 2009
New Revision: 153822
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=153822
Log:
Fix PR c++/37093
gcc/cp/ChangeLog:
PR c++/37093
* pt.c (check_valid_ptrmem_cst_expr): New function.
(convert_nontype_argument): Use it to output an error for
illegal pointer to member expressions used as template arguments.
gcc/testsuite/ChangeLog:
PR c++/37093
* g++.dg/other/ptrmem10.C: New test.
* g++.dg/other/ptrmem11.C: Likewise.
Added:
trunk/gcc/testsuite/g++.dg/other/ptrmem10.C
trunk/gcc/testsuite/g++.dg/other/ptrmem11.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/4.4/4.5 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (23 preceding siblings ...)
2009-11-02 19:55 ` dodji at gcc dot gnu dot org
@ 2009-11-02 19:59 ` dodji at gcc dot gnu dot org
2009-11-02 20:08 ` [Bug c++/37093] [4.2/4.3/ " dodji at gcc dot gnu dot org
` (6 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: dodji at gcc dot gnu dot org @ 2009-11-02 19:59 UTC (permalink / raw)
To: gcc-bugs
------- Comment #22 from dodji at gcc dot gnu dot org 2009-11-02 19:59 -------
Subject: Bug 37093
Author: dodji
Date: Mon Nov 2 19:58:57 2009
New Revision: 153823
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=153823
Log:
Fix PR c++/37093
gcc/cp/ChangeLog:
PR c++/37093
* pt.c (check_valid_ptrmem_cst_expr): New function.
(convert_nontype_argument): Use it to output an error for
illegal pointer to member expressions used as template arguments.
gcc/testsuite/ChangeLog:
PR c++/37093
* g++.dg/other/ptrmem10.C: New test.
* g++.dg/other/ptrmem11.C: Likewise.
Added:
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/other/ptrmem10.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/other/ptrmem11.C
Modified:
branches/gcc-4_4-branch/gcc/cp/ChangeLog
branches/gcc-4_4-branch/gcc/cp/pt.c
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3/ Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (24 preceding siblings ...)
2009-11-02 19:59 ` dodji at gcc dot gnu dot org
@ 2009-11-02 20:08 ` dodji at gcc dot gnu dot org
2009-11-03 9:24 ` [Bug c++/37093] [4.2/4.3 " dodji at gcc dot gnu dot org
` (5 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: dodji at gcc dot gnu dot org @ 2009-11-02 20:08 UTC (permalink / raw)
To: gcc-bugs
------- Comment #23 from dodji at gcc dot gnu dot org 2009-11-02 20:08 -------
Fixed on 4.4 and trunk.
--
dodji at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.2/4.3/4.4/4.5 Regression]|[4.2/4.3/ Regression] ICE
|ICE with pointer to member |with pointer to member
|template parameters |template parameters
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (25 preceding siblings ...)
2009-11-02 20:08 ` [Bug c++/37093] [4.2/4.3/ " dodji at gcc dot gnu dot org
@ 2009-11-03 9:24 ` dodji at gcc dot gnu dot org
2009-11-03 9:25 ` dodji at gcc dot gnu dot org
` (4 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: dodji at gcc dot gnu dot org @ 2009-11-03 9:24 UTC (permalink / raw)
To: gcc-bugs
------- Comment #24 from dodji at gcc dot gnu dot org 2009-11-03 09:23 -------
Subject: Bug 37093
Author: dodji
Date: Tue Nov 3 09:23:41 2009
New Revision: 153841
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=153841
Log:
Fix PR c++/37093
gcc/cp/ChangeLog:
PR c++/37093
* pt.c (check_valid_ptrmem_cst_expr): New function.
(convert_nontype_argument): Use it to output an error for
illegal pointer to member expressions used as template arguments.
gcc/testsuite/ChangeLog:
PR c++/37093
* g++.dg/other/ptrmem10.C: New test.
* g++.dg/other/ptrmem11.C: Likewise.
Added:
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/other/ptrmem10.C
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/other/ptrmem11.C
Modified:
branches/gcc-4_3-branch/gcc/cp/ChangeLog
branches/gcc-4_3-branch/gcc/cp/pt.c
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (26 preceding siblings ...)
2009-11-03 9:24 ` [Bug c++/37093] [4.2/4.3 " dodji at gcc dot gnu dot org
@ 2009-11-03 9:25 ` dodji at gcc dot gnu dot org
2009-11-04 19:24 ` dodji at gcc dot gnu dot org
` (3 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: dodji at gcc dot gnu dot org @ 2009-11-03 9:25 UTC (permalink / raw)
To: gcc-bugs
------- Comment #25 from dodji at gcc dot gnu dot org 2009-11-03 09:25 -------
Fixed in 4.3 branch.
--
dodji at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (27 preceding siblings ...)
2009-11-03 9:25 ` dodji at gcc dot gnu dot org
@ 2009-11-04 19:24 ` dodji at gcc dot gnu dot org
2009-11-09 21:54 ` reichelt at gcc dot gnu dot org
` (2 subsequent siblings)
31 siblings, 0 replies; 33+ messages in thread
From: dodji at gcc dot gnu dot org @ 2009-11-04 19:24 UTC (permalink / raw)
To: gcc-bugs
------- Comment #26 from dodji at gcc dot gnu dot org 2009-11-04 19:24 -------
Subject: Bug 37093
Author: dodji
Date: Wed Nov 4 19:23:40 2009
New Revision: 153908
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=153908
Log:
Revert "Fix PR c++/37093"
This reverts commit 153841 on gcc-4_3-branch.
Removed:
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/other/ptrmem10.C
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/other/ptrmem11.C
Modified:
branches/gcc-4_3-branch/gcc/cp/ChangeLog
branches/gcc-4_3-branch/gcc/cp/pt.c
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (28 preceding siblings ...)
2009-11-04 19:24 ` dodji at gcc dot gnu dot org
@ 2009-11-09 21:54 ` reichelt at gcc dot gnu dot org
2010-02-09 12:08 ` laikechen at gmail dot com
2010-07-24 18:20 ` pinskia at gcc dot gnu dot org
31 siblings, 0 replies; 33+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2009-11-09 21:54 UTC (permalink / raw)
To: gcc-bugs
------- Comment #27 from reichelt at gcc dot gnu dot org 2009-11-09 21:54 -------
After the reversion of the patch for on the 4.3 branch, it is only fixed for
GCC 4.4.3 and later. But let's keep it closed since this is just an
ice-on-invalid-code bug.
--
reichelt at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.3.5 |4.4.3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (29 preceding siblings ...)
2009-11-09 21:54 ` reichelt at gcc dot gnu dot org
@ 2010-02-09 12:08 ` laikechen at gmail dot com
2010-07-24 18:20 ` pinskia at gcc dot gnu dot org
31 siblings, 0 replies; 33+ messages in thread
From: laikechen at gmail dot com @ 2010-02-09 12:08 UTC (permalink / raw)
To: gcc-bugs
------- Comment #28 from laikechen at gmail dot com 2010-02-09 12:07 -------
(In reply to comment #2)
> Even shorter testcase:
>
> ==================================
> struct A {};
>
> template <int A::* p>
> int foo(A* q)
> {
> return q->*p;
> }
>
> template <typename T>
> int bar(int T::* p)
> {
> return foo<p>(0);
> }
>
> int i = bar<A>(0);
> ==================================
>
> PR37093.cc: In function 'int foo(A*) [with int A::* p = p]':
> PR37093.cc:7: internal compiler error: in expand_expr_real_1, at expr.c:7270
> Please submit a full bug report, [etc.]
>
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread
* [Bug c++/37093] [4.2/4.3 Regression] ICE with pointer to member template parameters
2008-08-12 11:50 [Bug c++/37093] New: [4.2/4.3/4.4 Regression] ICE with pointer to member template parameters jakub at gcc dot gnu dot org
` (30 preceding siblings ...)
2010-02-09 12:08 ` laikechen at gmail dot com
@ 2010-07-24 18:20 ` pinskia at gcc dot gnu dot org
31 siblings, 0 replies; 33+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2010-07-24 18:20 UTC (permalink / raw)
To: gcc-bugs
------- Comment #29 from pinskia at gcc dot gnu dot org 2010-07-24 18:20 -------
*** Bug 44743 has been marked as a duplicate of this bug. ***
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mschulze at ivs dot cs dot
| |ovgu dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37093
^ permalink raw reply [flat|nested] 33+ messages in thread