Bug 23639 - [3.4/4.0/4.1 regression] Bad error message: not a member of '<declaration error>'
Summary: [3.4/4.0/4.1 regression] Bad error message: not a member of '<declaration err...
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: c++ (show other bugs)
Version: 4.1.0
: P2 minor
Target Milestone: 3.4.5
Assignee: Volker Reichelt
URL: http://gcc.gnu.org/ml/gcc-patches/200...
Keywords: diagnostic, patch
Depends on:
Blocks:
 
Reported: 2005-08-30 16:43 UTC by Volker Reichelt
Modified: 2005-08-31 08:58 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Volker Reichelt 2005-08-30 16:43:23 UTC
For a testcase like

  template<int> struct A
  {
    enum { e = 0 };
  };

  int i = A<void>::e;

we get the following error:

  error.cc:6: error: type/value mismatch at argument 1 in template parameter
list for 'template<int <anonymous> > struct A'
  error.cc:6: error:   expected a constant of type 'int', got 'void'
  error.cc:6: error: 'e' is not a member of '<declaration error>'

The last line is not really helpful.

Patch will follow soon.
Comment 1 GCC Commits 2005-08-31 08:47:08 UTC
Subject: Bug 23639

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	reichelt@gcc.gnu.org	2005-08-31 08:46:47

Modified files:
	gcc/cp         : ChangeLog semantics.c 
	gcc/testsuite  : ChangeLog 
	gcc/testsuite/g++.dg/template: ttp5.C 

Log message:
	PR c++/23639
	* semantics.c (qualified_name_lookup_error): Do not complain again
	on invalid scope.
	
	* g++.dg/template/ttp5.C: Adjust error markers.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4863&r2=1.4864
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/semantics.c.diff?cvsroot=gcc&r1=1.482&r2=1.483
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.5984&r2=1.5985
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/ttp5.C.diff?cvsroot=gcc&r1=1.1&r2=1.2

Comment 2 GCC Commits 2005-08-31 08:51:37 UTC
Subject: Bug 23639

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-4_0-branch
Changes by:	reichelt@gcc.gnu.org	2005-08-31 08:51:31

Modified files:
	gcc/cp         : ChangeLog semantics.c 
	gcc/testsuite  : ChangeLog 
	gcc/testsuite/g++.dg/template: ttp5.C 

Log message:
	PR c++/23639
	* semantics.c (qualified_name_lookup_error): Do not complain again
	on invalid scope.
	
	* g++.dg/template/ttp5.C: Adjust error markers.

Patches:
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.86&r2=1.4648.2.87
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.5&r2=1.463.2.6
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.362&r2=1.5084.2.363
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/ttp5.C.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.1&r2=1.1.82.1

Comment 3 GCC Commits 2005-08-31 08:56:24 UTC
Subject: Bug 23639

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_4-branch
Changes by:	reichelt@gcc.gnu.org	2005-08-31 08:56:11

Modified files:
	gcc/cp         : ChangeLog semantics.c 
	gcc/testsuite  : ChangeLog 
	gcc/testsuite/g++.dg/template: ttp5.C 

Log message:
	PR c++/23639
	* semantics.c (qualified_name_lookup_error): Do not complain again
	on invalid scope.
	
	* g++.dg/template/ttp5.C: Adjust error markers.

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.229&r2=1.3892.2.230
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/semantics.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.381.4.18&r2=1.381.4.19
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.421&r2=1.3389.2.422
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/ttp5.C.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.1&r2=1.1.22.1

Comment 4 Volker Reichelt 2005-08-31 08:58:16 UTC
Fixed on mainline, 4.0 branch, and 3.4 branch.