From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24243 invoked by alias); 10 Feb 2003 23:16:02 -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 24202 invoked by uid 71); 10 Feb 2003 23:16:01 -0000 Date: Mon, 10 Feb 2003 23:16:00 -0000 Message-ID: <20030210231601.24201.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: frey waid Subject: Re: preprocessor/9650: string literal contactenation doesn't work with #include Reply-To: frey waid X-SW-Source: 2003-02/txt/msg00471.txt.bz2 List-Id: The following reply was made to PR preprocessor/9650; it has been noted by GNATS. From: frey waid To: Neil Booth Cc: neil@gcc.gnu.org, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org Subject: Re: preprocessor/9650: string literal contactenation doesn't work with #include Date: Mon, 10 Feb 2003 15:08:40 -0800 i tried that but it doesn't work consistently with the newer prescan semantics. for example, if i did this: #include COMP_INC(me, mips/hello.h) you'd think it'd expand with the below method: #include "me/include/mips/hello.h" unfortunately, mips is a predefined macro. so it expands to "1". is there a work around for this without having to undefine it? frey Neil Booth wrote: > > frey waid wrote:- > > > that's what i was doing before. so i had this: > > > > #include COMP_INC(comp,file) > > > > #define COMP_INC(comp,file) #comp "/include/" #file > > > > do you have another method in mind? > > Sure 8-) > > #include COMP_INC (comp, file) > > #define COMP_INC(comp, file) COMP (comp, file) > #define COMP(prefix, suffix) str(comp/include/file) > #define str(x) #x > > Not tested, but you get the idea. > > Neil.