From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Kurshev To: Neil Booth Cc: gcc@gcc.gnu.org Subject: Re: Strange gcc-3.0.1 preprocessor Date: Sun, 14 Oct 2001 11:06:00 -0000 Message-id: <20011014221011.47adb091.nickols_k@mail.ru> References: <20011014184939.092bdd3b.nickols_k@mail.ru> <20011014161222.B12430@daikokuya.demon.co.uk> <20011014214752.32b3e72f.nickols_k@mail.ru> <20011014185934.B16205@daikokuya.demon.co.uk> X-SW-Source: 2001-10/msg00819.html Hello, Neil! On Sun, 14 Oct 2001 18:59:34 +0100, you wrote: > Nick Kurshev wrote:- > > > It was only way to build such trick. Else how you will notice > > compiler to build preprocessor string without space characters? > > Like I told you. > > > Well, the same code with space characters around __MACHINE__: > > source: > > #define _INLINES > > #define __CONFIG > > #include __CONFIG > > #include _INLINES > > Why have you added spaces? Of course it will now break: > > > output: > > biewlib/sysdep/_sys_dep.h:30:22: biewlib/sysdep/ ia32 /__config.h: No such file or directory > > biewlib/sysdep/_sys_dep.h:31:22: biewlib/sysdep/ ia32 /_inlines.h: No such file or directory > > The following works for me: > > #define STDIO stdio > #define STDIO_H > #include STDIO_H > > Note that the preprocessor does not do string literal concatenation in > header names. > > Neil. > But for me - no. #undef __MACHINE__ #define __MACHINE__ ia32 #define _INLINES #define __CONFIG #include __CONFIG #include _INLINES In file included from biewlib/biewlib.c:24: biewlib/sysdep/__config.h:27:14: warning: pasting "/" and "__MACHINE__" does not give a valid preprocessing token biewlib/sysdep/__config.h:27:22: biewlib/sysdep/__MACHINE__/__config.h: No such file or directory make: *** [biewlib/biewlib.o] ïÛÉÂËÁ 1 Best regards! Nick