From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neil Booth To: Nick Kurshev Cc: gcc@gcc.gnu.org Subject: Re: Strange gcc-3.0.1 preprocessor Date: Sun, 14 Oct 2001 08:12:00 -0000 Message-id: <20011014161222.B12430@daikokuya.demon.co.uk> References: <20011014184939.092bdd3b.nickols_k@mail.ru> X-SW-Source: 2001-10/msg00811.html Nick Kurshev wrote:- > In file included from biewlib/biewlib.h:25, > from biewlib/bbio.h:21, > from biewlib/bbio.c:26: > biewlib/sysdep/_sys_dep.h:30:14: warning: pasting "/" and "__MACHINE__" does not give a valid preprocessing token > biewlib/sysdep/_sys_dep.h:30:22: biewlib/sysdep/__MACHINE__/__config.h: No such file or directory > biewlib/sysdep/_sys_dep.h:31:14: warning: pasting "/" and "__MACHINE__" does not give a valid preprocessing token > biewlib/sysdep/_sys_dep.h:31:22: biewlib/sysdep/__MACHINE__/_inlines.h: No such file or directory > > Only one question: Is it a bug or is it a new feature of gcc-3.0.1? The warning tells you the problem. Do you know what ## does? > Any previouse versions of gcc since 2.7.2.1 upto 2.95.3 handle this > code correctly. They are incorrect; from the code it would appear they used to expand __MACHINE__. That macro should not be expanded, since it is being operated on by ##. I suspect you can get the result you want by losing the ##. Neil.