public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/18803] New: [4.0 regression] rejects access to operator() in template
@ 2004-12-02 23:42 bangerth at dealii dot org
  2004-12-02 23:42 ` [Bug c++/18803] " bangerth at dealii dot org
                   ` (14 more replies)
  0 siblings, 15 replies; 16+ messages in thread
From: bangerth at dealii dot org @ 2004-12-02 23:42 UTC (permalink / raw)
  To: gcc-bugs

Here's a recent regression (within the last 6 weeks or so): 
----------------------- 
struct A { 
  int operator() (); 
}; 
 
template <int> void foo () { 
  A &a = *new A(); 
  const int i = a(); 
} 
----------------------- 
deal.II/lac> c++ -c x.cc 
x.cc: In function 'void foo()': 
x.cc:8: error: 'a' cannot be used as a function 
 
That's clearly bogus. Of course the error goes away once the function 
is made a nontemplate. 
 
This error triggers about a dozen times in my code... 
 
W.

-- 
           Summary: [4.0 regression] rejects access to operator() in
                    template
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bangerth at dealii dot org
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18803


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c++/18803] [4.0 regression] rejects access to operator() in template
  2004-12-02 23:42 [Bug c++/18803] New: [4.0 regression] rejects access to operator() in template bangerth at dealii dot org
@ 2004-12-02 23:42 ` bangerth at dealii dot org
  2004-12-02 23:44 ` pinskia at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: bangerth at dealii dot org @ 2004-12-02 23:42 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |critical
   Target Milestone|---                         |4.0.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18803


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c++/18803] [4.0 regression] rejects access to operator() in template
  2004-12-02 23:42 [Bug c++/18803] New: [4.0 regression] rejects access to operator() in template bangerth at dealii dot org
  2004-12-02 23:42 ` [Bug c++/18803] " bangerth at dealii dot org
@ 2004-12-02 23:44 ` pinskia at gcc dot gnu dot org
  2004-12-02 23:57 ` bangerth at dealii dot org
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-12-02 23:44 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-12-02 23:44 -------
: Search converges between 2004-11-25-014001-trunk (#656) and 2004-11-25-161001-trunk 
(#657).

Confirmed.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2004-12-02 23:44:42
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18803


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c++/18803] [4.0 regression] rejects access to operator() in template
  2004-12-02 23:42 [Bug c++/18803] New: [4.0 regression] rejects access to operator() in template bangerth at dealii dot org
  2004-12-02 23:42 ` [Bug c++/18803] " bangerth at dealii dot org
  2004-12-02 23:44 ` pinskia at gcc dot gnu dot org
@ 2004-12-02 23:57 ` bangerth at dealii dot org
  2004-12-03 10:47 ` nathan at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: bangerth at dealii dot org @ 2004-12-02 23:57 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From bangerth at dealii dot org  2004-12-02 23:57 -------
I would venture a guess that it was this patch: 
 
2004-11-25  Mark Mitchell  <mark@codesourcery.com> 
 
	PR c++/18445 
	* class.c (instantiate_type): Treat NON_DEPENDENT_EXPRs with 
	unknown_type as non matching.  Tidy up. 
	* pt.c (build_non_dependent_expr): Do not build a 
	NON_DEPENDENT_EXPR for a VAR_DECL. 
 
W. 

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mark at codesourcery dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18803


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c++/18803] [4.0 regression] rejects access to operator() in template
  2004-12-02 23:42 [Bug c++/18803] New: [4.0 regression] rejects access to operator() in template bangerth at dealii dot org
                   ` (2 preceding siblings ...)
  2004-12-02 23:57 ` bangerth at dealii dot org
@ 2004-12-03 10:47 ` nathan at gcc dot gnu dot org
  2004-12-08  8:36 ` cvs-commit at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: nathan at gcc dot gnu dot org @ 2004-12-03 10:47 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |nathan at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18803


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c++/18803] [4.0 regression] rejects access to operator() in template
  2004-12-02 23:42 [Bug c++/18803] New: [4.0 regression] rejects access to operator() in template bangerth at dealii dot org
                   ` (3 preceding siblings ...)
  2004-12-03 10:47 ` nathan at gcc dot gnu dot org
@ 2004-12-08  8:36 ` cvs-commit at gcc dot gnu dot org
  2004-12-08  8:41 ` nathan at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-12-08  8:36 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-12-08 08:36 -------
Subject: Bug 18803

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	nathan@gcc.gnu.org	2004-12-08 08:36:10

Modified files:
	gcc/cp         : ChangeLog call.c class.c cp-tree.h cvt.c decl.c 
	                 decl2.c except.c init.c parser.c pt.c rtti.c 
	                 semantics.c typeck.c typeck2.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/g++.dg/template: operator5.C 

Log message:
	cp:
	PR c++/18803
	* cp-tree.h (REFERENCE_REF_P): New.
	(CPTI_TYPE_INFO_TYPE): Rename to ...
	(CPTI_CONST_TYPE_INFO_TYPE): ... here.
	(CPTI_TYPE_INFO_REF_TYPE): Remove.
	(type_info_type_node): Rename to ...
	(const_type_info_type_node): ... here.
	(type_info_ref_type): Remove.
	* call.c (build_user_type_conversion): Reformat.
	(resolve_args): Do not convert_from_reference.
	(build_object_call): Call convert_from_reference.
	(prep_operand): Do not convert_from_reference.
	(build_new_method_call): Likewise.
	* class.c (build_vfield_ref): Likewise.
	* cvt.c (convert_to_reference): Likewise.
	(convert_from_reference): Build INDIRECT_REF here, not with
	build_indirect_ref.
	(convert_force): Do not convert_from_reference.
	(build_expr_type_conversion): Likewise.
	* decl.c (grok_reference_init): Likewise.
	* decl2.c (delete_sanity): Likewise.
	* except.c (initialize_handler_parm): Use POINTER_TYPE_P.
	* init.c (build_dtor_call): Do not convert_from_reference.
	* parser.c (cp_parser_template_argument): Unwrap indirected
	reference. Allow TEMPLATE_PARM_INDEX as an object parm.
	* pt.c (tsubst_copy_and_build) <case INDIRECT_REF>: Use
	convert_from_reference, if indicated.
	<case CALL_EXPR>: Do not convert_from_reference.
	<case PARM_DECL, VAR_DECL>: Convert_from_reference if needed.
	(tsubst_initializer_list): Do not convert_from_reference.
	* rtti.c (init_rtti_processing): Adjust node creation.
	(throw_bad_typeid): Use const_type_info_type_node.
	Do not convert_from_reference.
	(typeid_ok_p): Use const_type_info_type_node.
	(build_typeid, get_typeid): Always return type_info typed node.
	(build_dynamic_cast_1): Dont convert_from_reference. Refactor.
	* semantics.c (finish_stmt_expr_expr): Do not
	convert_from_reference.
	(finish_id_expression): Convert_from_reference as appropriate.
	* typeck.c (decay_conversion): Do not convert_from_reference.
	(finish_class_member_access_expr): Likewise.
	(build_indirect_ref): Use POINTER_TYPE_P.
	(convert_arguments): Do not convert_from_reference.
	(build_modify_expr): Likewise.
	(convert_for_initialization): Likewise.
	* typeck2.c (build_x_arrow): Likewise.
	testsuite:
	PR c++/18803
	* g++.dg/template/operator5.C: New.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4519&r2=1.4520
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/call.c.diff?cvsroot=gcc&r1=1.521&r2=1.522
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/class.c.diff?cvsroot=gcc&r1=1.691&r2=1.692
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&r1=1.1079&r2=1.1080
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cvt.c.diff?cvsroot=gcc&r1=1.172&r2=1.173
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl.c.diff?cvsroot=gcc&r1=1.1338&r2=1.1339
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl2.c.diff?cvsroot=gcc&r1=1.759&r2=1.760
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/except.c.diff?cvsroot=gcc&r1=1.177&r2=1.178
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/init.c.diff?cvsroot=gcc&r1=1.402&r2=1.403
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/parser.c.diff?cvsroot=gcc&r1=1.289&r2=1.290
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&r1=1.955&r2=1.956
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/rtti.c.diff?cvsroot=gcc&r1=1.204&r2=1.205
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/semantics.c.diff?cvsroot=gcc&r1=1.451&r2=1.452
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/typeck.c.diff?cvsroot=gcc&r1=1.600&r2=1.601
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/typeck2.c.diff?cvsroot=gcc&r1=1.179&r2=1.180
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.4721&r2=1.4722
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/operator5.C.diff?cvsroot=gcc&r1=NONE&r2=1.1



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18803


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c++/18803] [4.0 regression] rejects access to operator() in template
  2004-12-02 23:42 [Bug c++/18803] New: [4.0 regression] rejects access to operator() in template bangerth at dealii dot org
                   ` (4 preceding siblings ...)
  2004-12-08  8:36 ` cvs-commit at gcc dot gnu dot org
@ 2004-12-08  8:41 ` nathan at gcc dot gnu dot org
  2005-09-12  1:19 ` [Bug c++/18803] [3.4.5 " bangerth at dealii dot org
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: nathan at gcc dot gnu dot org @ 2004-12-08  8:41 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From nathan at gcc dot gnu dot org  2004-12-08 08:40 -------
2004-12-08  Nathan Sidwell  <nathan@codesourcery.com>

	PR c++/18803
	* cp-tree.h (REFERENCE_REF_P): New.
	(CPTI_TYPE_INFO_TYPE): Rename to ...
	(CPTI_CONST_TYPE_INFO_TYPE): ... here.
	(CPTI_TYPE_INFO_REF_TYPE): Remove.
	(type_info_type_node): Rename to ...
	(const_type_info_type_node): ... here.
	(type_info_ref_type): Remove.
	* call.c (build_user_type_conversion): Reformat.
	(resolve_args): Do not convert_from_reference.
	(build_object_call): Call convert_from_reference.
	(prep_operand): Do not convert_from_reference.
	(build_new_method_call): Likewise.
	* class.c (build_vfield_ref): Likewise.
	* cvt.c (convert_to_reference): Likewise.
	(convert_from_reference): Build INDIRECT_REF here, not with
	build_indirect_ref.
	(convert_force): Do not convert_from_reference.
	(build_expr_type_conversion): Likewise.
	* decl.c (grok_reference_init): Likewise.
	* decl2.c (delete_sanity): Likewise.
	* except.c (initialize_handler_parm): Use POINTER_TYPE_P.
	* init.c (build_dtor_call): Do not convert_from_reference.
	* parser.c (cp_parser_template_argument): Unwrap indirected
	reference. Allow TEMPLATE_PARM_INDEX as an object parm.
	* pt.c (tsubst_copy_and_build) <case INDIRECT_REF>: Use
	convert_from_reference, if indicated.
	<case CALL_EXPR>: Do not convert_from_reference.
	<case PARM_DECL, VAR_DECL>: Convert_from_reference if needed.
	(tsubst_initializer_list): Do not convert_from_reference.
	* rtti.c (init_rtti_processing): Adjust node creation.
	(throw_bad_typeid): Use const_type_info_type_node.
	Do not convert_from_reference.
	(typeid_ok_p): Use const_type_info_type_node.
	(build_typeid, get_typeid): Always return type_info typed node.
	(build_dynamic_cast_1): Dont convert_from_reference. Refactor.
	* semantics.c (finish_stmt_expr_expr): Do not
	convert_from_reference.
	(finish_id_expression): Convert_from_reference as appropriate.
	* typeck.c (decay_conversion): Do not convert_from_reference.
	(finish_class_member_access_expr): Likewise.
	(build_indirect_ref): Use POINTER_TYPE_P.
	(convert_arguments): Do not convert_from_reference.
	(build_modify_expr): Likewise.
	(convert_for_initialization): Likewise.
	* typeck2.c (build_x_arrow): Likewise.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18803


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c++/18803] [3.4.5 regression] rejects access to operator() in template
  2004-12-02 23:42 [Bug c++/18803] New: [4.0 regression] rejects access to operator() in template bangerth at dealii dot org
                   ` (5 preceding siblings ...)
  2004-12-08  8:41 ` nathan at gcc dot gnu dot org
@ 2005-09-12  1:19 ` bangerth at dealii dot org
  2005-09-12  1:22 ` [Bug c++/18803] [3.4 " pinskia at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: bangerth at dealii dot org @ 2005-09-12  1:19 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From bangerth at dealii dot org  2005-09-12 01:18 -------
Folks,   
I find that this bug is now present on the 3.4.x branch. I don't know   
for how long, but believe that it broke somewhere between 5 and 15 days   
ago. It would be good if we could fix this before 3.4.5 finally comes  
out. Note that both 4.0.x and mainline seem to be unaffected, so it may 
be one of the patches that were backported that caused this... 
  
W.  

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gdr at gcc dot gnu dot org,
                   |                            |nathan at gcc dot gnu dot
                   |                            |org, reichelt at gcc dot gnu
                   |                            |dot org
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |
            Summary|[4.0 regression] rejects    |[3.4.5 regression] rejects
                   |access to operator() in     |access to operator() in
                   |template                    |template


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18803


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c++/18803] [3.4 regression] rejects access to operator() in template
  2004-12-02 23:42 [Bug c++/18803] New: [4.0 regression] rejects access to operator() in template bangerth at dealii dot org
                   ` (6 preceding siblings ...)
  2005-09-12  1:19 ` [Bug c++/18803] [3.4.5 " bangerth at dealii dot org
@ 2005-09-12  1:22 ` pinskia at gcc dot gnu dot org
  2005-09-15 11:37 ` nathan at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-12  1:22 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |3.4.5
      Known to work|                            |3.4.4
            Summary|[3.4.5 regression] rejects  |[3.4 regression] rejects
                   |access to operator() in     |access to operator() in
                   |template                    |template
   Target Milestone|4.0.0                       |3.4.5


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18803


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c++/18803] [3.4 regression] rejects access to operator() in template
  2004-12-02 23:42 [Bug c++/18803] New: [4.0 regression] rejects access to operator() in template bangerth at dealii dot org
                   ` (7 preceding siblings ...)
  2005-09-12  1:22 ` [Bug c++/18803] [3.4 " pinskia at gcc dot gnu dot org
@ 2005-09-15 11:37 ` nathan at gcc dot gnu dot org
  2005-09-16 20:34 ` reichelt at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: nathan at gcc dot gnu dot org @ 2005-09-15 11:37 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From nathan at gcc dot gnu dot org  2005-09-15 11:36 -------
I haven't backported anything recently.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|nathan at gcc dot gnu dot   |unassigned at gcc dot gnu
                   |org                         |dot org
             Status|REOPENED                    |NEW


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18803


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c++/18803] [3.4 regression] rejects access to operator() in template
  2004-12-02 23:42 [Bug c++/18803] New: [4.0 regression] rejects access to operator() in template bangerth at dealii dot org
                   ` (8 preceding siblings ...)
  2005-09-15 11:37 ` nathan at gcc dot gnu dot org
@ 2005-09-16 20:34 ` reichelt at gcc dot gnu dot org
  2005-09-16 20:57 ` nathan at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2005-09-16 20:34 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From reichelt at gcc dot gnu dot org  2005-09-16 20:34 -------
The backport of the fix for PR 18445 caused this.
I'll try to backport the fix for PR18803, too.
If that fails, reverting the patch for PR 18445 seems like the right thing
to me, because this was only an ice-on-invalid-code.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |reichelt at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18803


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c++/18803] [3.4 regression] rejects access to operator() in template
  2004-12-02 23:42 [Bug c++/18803] New: [4.0 regression] rejects access to operator() in template bangerth at dealii dot org
                   ` (9 preceding siblings ...)
  2005-09-16 20:34 ` reichelt at gcc dot gnu dot org
@ 2005-09-16 20:57 ` nathan at gcc dot gnu dot org
  2005-09-16 21:04 ` reichelt at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: nathan at gcc dot gnu dot org @ 2005-09-16 20:57 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From nathan at gcc dot gnu dot org  2005-09-16 20:57 -------
IMHO reverting 18445 would be the most prudent thing to do.  The combination of
18845+18803 are touching too many things for my liking.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18803


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c++/18803] [3.4 regression] rejects access to operator() in template
  2004-12-02 23:42 [Bug c++/18803] New: [4.0 regression] rejects access to operator() in template bangerth at dealii dot org
                   ` (10 preceding siblings ...)
  2005-09-16 20:57 ` nathan at gcc dot gnu dot org
@ 2005-09-16 21:04 ` reichelt at gcc dot gnu dot org
  2005-09-16 22:41 ` gdr at integrable-solutions dot net
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2005-09-16 21:04 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From reichelt at gcc dot gnu dot org  2005-09-16 21:04 -------
On 16 Sep, nathan at gcc dot gnu dot org wrote:
> IMHO reverting 18445 would be the most prudent thing to do.  The combination
> of 18845+18803 are touching too many things for my liking.

Gaby, would that be OK with you?

I'd revert the patch for PR 18445 on the 3.4 branch, add the testcase
for PR18803 to the 3.4 branch (bootstrapped and regtested, of course),
and close PR 18445 as fixed in 4.0.0 and WONTFIX in 3.4.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18803


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c++/18803] [3.4 regression] rejects access to operator() in template
  2004-12-02 23:42 [Bug c++/18803] New: [4.0 regression] rejects access to operator() in template bangerth at dealii dot org
                   ` (11 preceding siblings ...)
  2005-09-16 21:04 ` reichelt at gcc dot gnu dot org
@ 2005-09-16 22:41 ` gdr at integrable-solutions dot net
  2005-09-17 20:49 ` cvs-commit at gcc dot gnu dot org
  2005-09-17 20:53 ` reichelt at gcc dot gnu dot org
  14 siblings, 0 replies; 16+ messages in thread
From: gdr at integrable-solutions dot net @ 2005-09-16 22:41 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From gdr at integrable-solutions dot net  2005-09-16 22:40 -------
Subject: Re:  [3.4 regression] rejects access to operator() in template

"reichelt at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org> writes:

| On 16 Sep, nathan at gcc dot gnu dot org wrote:
| > IMHO reverting 18445 would be the most prudent thing to do.  The combination
| > of 18845+18803 are touching too many things for my liking.
| 
| Gaby, would that be OK with you?

Yes -- fixes for ice-on-invalid are nice to have but they are not
critical, especially if their fixing introduces more potential for
regression. 

| I'd revert the patch for PR 18445 on the 3.4 branch, add the testcase
| for PR18803 to the 3.4 branch (bootstrapped and regtested, of course),
| and close PR 18445 as fixed in 4.0.0 and WONTFIX in 3.4.

Thanks!

-- Gaby


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18803


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c++/18803] [3.4 regression] rejects access to operator() in template
  2004-12-02 23:42 [Bug c++/18803] New: [4.0 regression] rejects access to operator() in template bangerth at dealii dot org
                   ` (12 preceding siblings ...)
  2005-09-16 22:41 ` gdr at integrable-solutions dot net
@ 2005-09-17 20:49 ` cvs-commit at gcc dot gnu dot org
  2005-09-17 20:53 ` reichelt at gcc dot gnu dot org
  14 siblings, 0 replies; 16+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-09-17 20:49 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-17 20:49 -------
Subject: Bug 18803

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_4-branch
Changes by:	reichelt@gcc.gnu.org	2005-09-17 20:48:46

Modified files:
	gcc/cp         : ChangeLog class.c pt.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/g++.dg/template: operator5.C 
Removed files:
	gcc/testsuite/g++.dg/template: crash28.C 

Log message:
	PR c++/18803
	Revert:
	
	2005-09-02  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
	PR c++/18445
	* class.c (instantiate_type): Treat NON_DEPENDENT_EXPRs with
	unknown_type as non matching.
	* pt.c (build_non_dependent_expr): Do not build a
	NON_DEPENDENT_EXPR for a VAR_DECL.
	
	PR c++/18803
	g++.dg/template/operator5.C: New test.
	
	PR c++/18445
	g++.dg/template/crash28.C: Remove.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3892.2.240&r2=1.3892.2.241
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/class.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.595.4.12&r2=1.595.4.13
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.816.2.60&r2=1.816.2.61
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3389.2.434&r2=1.3389.2.435
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/operator5.C.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=NONE&r2=1.1.46.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/crash28.C.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.1.46.1&r2=NONE



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18803


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c++/18803] [3.4 regression] rejects access to operator() in template
  2004-12-02 23:42 [Bug c++/18803] New: [4.0 regression] rejects access to operator() in template bangerth at dealii dot org
                   ` (13 preceding siblings ...)
  2005-09-17 20:49 ` cvs-commit at gcc dot gnu dot org
@ 2005-09-17 20:53 ` reichelt at gcc dot gnu dot org
  14 siblings, 0 replies; 16+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2005-09-17 20:53 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From reichelt at gcc dot gnu dot org  2005-09-17 20:53 -------
Reverted patch for PR 18445, which broke this.
Fixed on the 3.4 branch, thusly.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18803


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2005-09-17 20:53 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-12-02 23:42 [Bug c++/18803] New: [4.0 regression] rejects access to operator() in template bangerth at dealii dot org
2004-12-02 23:42 ` [Bug c++/18803] " bangerth at dealii dot org
2004-12-02 23:44 ` pinskia at gcc dot gnu dot org
2004-12-02 23:57 ` bangerth at dealii dot org
2004-12-03 10:47 ` nathan at gcc dot gnu dot org
2004-12-08  8:36 ` cvs-commit at gcc dot gnu dot org
2004-12-08  8:41 ` nathan at gcc dot gnu dot org
2005-09-12  1:19 ` [Bug c++/18803] [3.4.5 " bangerth at dealii dot org
2005-09-12  1:22 ` [Bug c++/18803] [3.4 " pinskia at gcc dot gnu dot org
2005-09-15 11:37 ` nathan at gcc dot gnu dot org
2005-09-16 20:34 ` reichelt at gcc dot gnu dot org
2005-09-16 20:57 ` nathan at gcc dot gnu dot org
2005-09-16 21:04 ` reichelt at gcc dot gnu dot org
2005-09-16 22:41 ` gdr at integrable-solutions dot net
2005-09-17 20:49 ` cvs-commit at gcc dot gnu dot org
2005-09-17 20:53 ` reichelt 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).