From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23528 invoked by alias); 20 Apr 2002 14:50:45 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 23518 invoked from network); 20 Apr 2002 14:50:44 -0000 Received: from unknown (HELO thinkpad.objectsecurity.cz) (217.112.132.110) by sources.redhat.com with SMTP; 20 Apr 2002 14:50:44 -0000 Received: from karel (helo=localhost) by thinkpad.objectsecurity.cz with local-esmtp (Exim 3.35 #1 (Debian)) id 16ywEg-0005tI-00; Sat, 20 Apr 2002 16:53:10 +0200 Date: Sat, 20 Apr 2002 08:28:00 -0000 From: Karel Gardas X-X-Sender: karel@thinkpad.objectsecurity.cz Reply-To: kgardas@objectsecurity.com To: gcc@gcc.gnu.org Subject: gcc 2.95.x interesting c++ parser error (bug). Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2002-04/txt/msg00989.txt.bz2 Hi, It looks like that c++ parser in gcc 2.95.x doesn't like some param names like '__op' and '__rs'. These names confuse parser and then it produce error messages regarding ''declaration of operator '' as non-function'' Here is small example: class Foo { public: void method(char* __op_name); // OK // gcc2.95-wrong-param-name-bug.cc:9: declaration of `operator ' as non-function // gcc2.95-wrong-param-name-bug.cc:9: confused by earlier errors, bailing out void method2(int __op); // error void method3(long __reply_status); // OK // gcc2.95-wrong-param-name-bug.cc:17: declaration of `operator >>' as non-function // gcc2.95-wrong-param-name-bug.cc:17: confused by earlier errors, bailing out void method4(short __rs); // error }; int main() { return 0; } I know that the main focus of development is concentrated on upcoming gcc 3.1 release, but I think that someone might be interested (for example Debian or FreeBSD 4.x gcc maintainers) and so I've posted this email, because it takes me some time to find exact place in my sources which cause this bug (these sources are of course perfectly OK with gcc 3.1). Cheers, Karel PS: Tested on Debian GNU/Linux 3.0 and FreeBSD 4.5. bash-2.05$ gcc -v Using builtin specs. gcc version 2.95.3 20010315 (release) [FreeBSD] bash-2.05$ thinkpad:~/cvs/mt-micosec-csiv2/mico$ gcc -v Reading specs from /usr/lib/gcc-lib/i386-linux/2.95.4/specs gcc version 2.95.4 20011002 (Debian prerelease) thinkpad:~/cvs/mt-micosec-csiv2/mico$ -- Karel Gardas kgardas@objectsecurity.com ObjectSecurity Ltd. http://www.objectsecurity.com