From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9423 invoked by alias); 26 Mar 2003 18:56:06 -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 9394 invoked by uid 71); 26 Mar 2003 18:56:01 -0000 Date: Wed, 26 Mar 2003 19:26:00 -0000 Message-ID: <20030326185601.9387.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Martin Sebor Subject: Re: c++/10212: Preprocessor ## problem Reply-To: Martin Sebor X-SW-Source: 2003-03/txt/msg01826.txt.bz2 List-Id: The following reply was made to PR c++/10212; it has been noted by GNATS. From: Martin Sebor To: gcc-gnats@gcc.gnu.org Cc: Subject: Re: c++/10212: Preprocessor ## problem Date: Wed, 26 Mar 2003 11:47:53 -0700 zack@gcc.gnu.org wrote: > Synopsis: Preprocessor ## problem > > State-Changed-From-To: open->closed > State-Changed-By: zack > State-Changed-When: Tue Mar 25 18:32:08 2003 > State-Changed-Why: > Not a bug. C++98 [cpp.concat]/3: > > If the result [of pasting two tokens together] is not > a valid preprocessing token, the behavior is undefined. > > GCC chooses to issue a hard error. > > The ## in the macro in your example is totally unnecessary. Remove it and your program will work correctly both with GCC 3.3 and with all other compilers. FWIW, I certainly see value in making the compiler as strict as possible (e.g., with -pedantic) so that programs first compiled with gcc are easily portable to other platforms. But I also see value in making gcc as permissive as possible (e.g., with another option or by default) so that programs first compiled with other, less restrictive compilers, compile successfully when ported to gcc. In this particular case, all of EDG (all its derivatives, such as Intel C++), IBM VAC++, and SunPro compile the code without complaint and with the result expected by the submitter, so it would not, IMHO, be entirely inappropriate for gcc to do so as well in the interest of portability. Regards Martin > > http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10212