This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: preprocessor/7452: Preprocessor doesn't allow pasting " foo-> ## BAR "


The following reply was made to PR preprocessor/7452; it has been noted by GNATS.

From: Andrew Pinski <pinskia@physics.uc.edu>
To: "David E. Weekly" <david@there.com>
Cc: <gcc-gnats@gcc.gnu.org>
Subject: Re: preprocessor/7452: Preprocessor doesn't allow pasting " foo-> ## BAR "
Date: Wed, 31 Jul 2002 00:01:00 -0400

 The following will work as expected:
 #define foo(A) { bar->A() }
 foo( methodOfBar );
 
 There is no need for pasting.
 The only need for pasting is where you have two identifiers and 
 you want them to be one identifier.
 
 Thanks,
 Andrew Pinski
 
 
 
 On Tuesday, July 30, 2002, at 11:51 , David E. Weekly wrote:
 
 > Andrew,
 >
 > Thank you for your patient explanation. If I do wish to use the modern
 > preprocessor, is it possible in any way to have some:
 >
 > #define foo(A) { bar-> ## A() }
 > foo( methodOfBar );
 >
 > Or, without resorting to the "traditional" CPP, can it simply 
 > not be done?
 >
 > Yours,
 >  David E. Weekly
 >  Software Developer
 >  There, Inc.
 >
 >
 > -----Original Message-----
 > From: Andrew Pinski [mailto:pinskia@physics.uc.edu]
 > Sent: Tuesday, July 30, 2002 8:42 PM
 > To: David E. Weekly
 > Cc: gcc-gnats@gcc.gnu.org
 > Subject: Re: preprocessor/7452: Preprocessor doesn't allow pasting "
 > foo-> ## BAR "
 > Importance: High
 >
 >
 > It is illegal because you are trying to paste together two
 > tokens which do not make one token in terms of the C standard.
 > It has been permanently removed because gcc uses a new
 > preprocessor, this has been this way since 3.0.
 > You might get what you expect from using the option -traditional-cpp.
 >
 > Thanks,
 > Andrew Pinski
 >
 >
 >
 > On Tuesday, July 30, 2002, at 11:30 , David E. Weekly wrote:
 >
 >> Andrew,
 >>
 >> Does the standard allow some way to tack on a method name
 >> (i.e., "is there
 >> another way to do this?"), or has this useful feature simply been
 >> permanently removed?
 >>
 >> Also: why is this construct illegal?
 >>
 >> Yours,
 >>  David E. Weekly
 >>  Software Developer
 >>  There, Inc.
 >>
 >> -----Original Message-----
 >> From: Andrew Pinski [mailto:pinskia@physics.uc.edu]
 >> Sent: Tuesday, July 30, 2002 8:23 PM
 >> To: david@there.com
 >> Cc: gcc-gnats@gcc.gnu.org
 >> Subject: Re: preprocessor/7452: Preprocessor doesn't allow pasting "
 >> foo-> ## BAR "
 >> Importance: High
 >>
 >>
 >> What you are doing is illegal according the C standard.
 >>
 >> Thanks,
 >> Andrew Pinski
 >>
 >>
 >>
 >
 >
 >
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]