[Bug c++/28886] [4.1/4.2 regression] Template specialization with array rejected

2006-09-06 Thread mmitchel at gcc dot gnu dot org
--- Comment #12 from mmitchel at gcc dot gnu dot org 2006-09-07 01:04 --- Subject: Bug 28886 Author: mmitchel Date: Thu Sep 7 01:04:07 2006 New Revision: 116736 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=116736 Log: PR c++/28903 * pt.c (tsubst): Use

[Bug c++/28886] [4.1/4.2 regression] Template specialization with array rejected

2006-09-06 Thread mmitchel at gcc dot gnu dot org
--- Comment #13 from mmitchel at gcc dot gnu dot org 2006-09-07 01:10 --- Fixed in 4.2.0. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28886

[Bug c++/28886] [4.1/4.2 regression] Template specialization with array rejected

2006-09-04 Thread mmitchel at gcc dot gnu dot org
-- mmitchel at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |mark at codesourcery dot com |dot org

[Bug c++/28886] [4.1/4.2 regression] Template specialization with array rejected

2006-09-03 Thread pinskia at gcc dot gnu dot org
--- Comment #10 from pinskia at gcc dot gnu dot org 2006-09-04 02:58 --- What about this (which makes us not call fold unless we really need to): Index: pt.c === --- pt.c(revision 116671) +++ pt.c(working

[Bug c++/28886] [4.1/4.2 regression] Template specialization with array rejected

2006-09-03 Thread pinskia at gcc dot gnu dot org
--- Comment #11 from pinskia at gcc dot gnu dot org 2006-09-04 03:02 --- The fold is still needed. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28886

[Bug c++/28886] [4.1/4.2 regression] Template specialization with array rejected

2006-09-01 Thread mmitchel at gcc dot gnu dot org
--- Comment #3 from mmitchel at gcc dot gnu dot org 2006-09-01 22:19 --- There shouldn't be a NON_LVALUE_EXPR here at all; non-type template parameters are lvalues only if they have reference type. -- mmitchel at gcc dot gnu dot org changed: What|Removed

[Bug c++/28886] [4.1/4.2 regression] Template specialization with array rejected

2006-09-01 Thread pinskia at gcc dot gnu dot org
--- Comment #4 from pinskia at gcc dot gnu dot org 2006-09-01 22:24 --- (In reply to comment #3) There shouldn't be a NON_LVALUE_EXPR here at all; non-type template parameters are lvalues only if they have reference type. fold produces it because maybe_lvalue_p returns true for

[Bug c++/28886] [4.1/4.2 regression] Template specialization with array rejected

2006-09-01 Thread mark at codesourcery dot com
--- Comment #5 from mark at codesourcery dot com 2006-09-01 22:30 --- Subject: Re: [4.1/4.2 regression] Template specialization with array rejected pinskia at gcc dot gnu dot org wrote: --- Comment #4 from pinskia at gcc dot gnu dot org 2006-09-01 22:24 --- (In reply to

[Bug c++/28886] [4.1/4.2 regression] Template specialization with array rejected

2006-09-01 Thread pinskia at gcc dot gnu dot org
--- Comment #6 from pinskia at gcc dot gnu dot org 2006-09-02 01:36 --- (In reply to comment #5) So, that's what should be fixed. Except that means introducing a language hook which is only to be useful in one place. The other way of fixing this is not to call fold if we have a

Re: [Bug c++/28886] [4.1/4.2 regression] Template specialization with array rejected

2006-09-01 Thread Andrew Pinski
On Fri, 2006-09-01 at 22:30 +, mark at codesourcery dot com wrote: So, that's what should be fixed. Except that means introducing a language hook which is only to be useful in one place. The other way of fixing this is not to call fold if we have a MINUS_EXPR with the 2nd operand as 1, we

[Bug c++/28886] [4.1/4.2 regression] Template specialization with array rejected

2006-09-01 Thread pinskia at physics dot uc dot edu
--- Comment #7 from pinskia at physics dot uc dot edu 2006-09-02 01:39 --- Subject: Re: [4.1/4.2 regression] Template specialization with array rejected On Fri, 2006-09-01 at 22:30 +, mark at codesourcery dot com wrote: So, that's what should be fixed. Except that means

[Bug c++/28886] [4.1/4.2 regression] Template specialization with array rejected

2006-09-01 Thread mark at codesourcery dot com
--- Comment #8 from mark at codesourcery dot com 2006-09-02 03:50 --- Subject: Re: [4.1/4.2 regression] Template specialization with array rejected pinskia at physics dot uc dot edu wrote: --- Comment #7 from pinskia at physics dot uc dot edu 2006-09-02 01:39 ---

[Bug c++/28886] [4.1/4.2 regression] Template specialization with array rejected

2006-09-01 Thread pinskia at gcc dot gnu dot org
--- Comment #9 from pinskia at gcc dot gnu dot org 2006-09-02 04:00 --- Actually the other way to fix this is not to require NON_LVALUE_EXPR in the first place by fixing the front-ends so they can figure out lvalueness without depending on the tree structures. Since Mark caused this

[Bug c++/28886] [4.1/4.2 regression] Template specialization with array rejected

2006-08-29 Thread reichelt at gcc dot gnu dot org
-- reichelt at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.1.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28886

[Bug c++/28886] [4.1/4.2 regression] Template specialization with array rejected

2006-08-29 Thread pinskia at gcc dot gnu dot org
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-08-30 04:01 --- A NON_LVALUE_EXPR is getting into the way: (gdb) p debug_tree(max) non_lvalue_expr 0xb7d387a0 type integer_type 0xb7cc9284 int public type_6 SI size integer_cst 0xb7cb43d8 constant invariant 32

[Bug c++/28886] [4.1/4.2 regression] Template specialization with array rejected

2006-08-29 Thread pinskia at gcc dot gnu dot org
--- Comment #2 from pinskia at gcc dot gnu dot org 2006-08-30 05:25 --- Here is the fix which I am testing, it just strips off the NON_LVALUE_EXPR that fold will produce: Index: pt.c === --- pt.c(revision 116576)