From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25622 invoked by alias); 4 May 2003 10:16:00 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 25594 invoked by uid 71); 4 May 2003 10:16:00 -0000 Resent-Date: 4 May 2003 10:16:00 -0000 Resent-Message-ID: <20030504101600.25593.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, giovannibajo@libero.it Received: (qmail 22235 invoked by uid 48); 4 May 2003 10:06:19 -0000 Message-Id: <20030504100619.22234.qmail@sources.redhat.com> Date: Sun, 04 May 2003 10:16:00 -0000 From: giovannibajo@libero.it Reply-To: giovannibajo@libero.it To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/10618: [diagnostic] Error message for function declarations with invalid return type could be improved X-SW-Source: 2003-05/txt/msg00229.txt.bz2 List-Id: >Number: 10618 >Category: c++ >Synopsis: [diagnostic] Error message for function declarations with invalid return type could be improved >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: change-request >Submitter-Id: net >Arrival-Date: Sun May 04 10:16:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Giovanni Bajo >Release: 3.4 CVS 20030503 >Organization: >Environment: i686-pc-cygwin >Description: Look at this: --------------------------------------- template struct A { }; struct B { }; template A::k func1(); B::k func2(); --------------------------------------- pr10615.cpp:12: error: expected function-definition pr10615.cpp:14: error: expected constructor, destructor, or type conversion pr10615.cpp:14: error: expected `,' or `;' (note: this code ICEs on 3.3, but there's already a PR for it, c++/10617) I think the error message should be improved since it is a bit confusing right now. This is for instance what I get with Comeau/EDG on the same snippet: "pr10615.cpp", line 12: error: nontype "A::k [with T=T]" is not a type name A::k func1(); ^ "pr10615.cpp", line 14: error: class "B" has no member "k" B::k func2(); ^ >How-To-Repeat: Compile the above code >Fix: >Release-Note: >Audit-Trail: >Unformatted: