This is the mail archive of the gcc-bugs@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]

on Linux PC, macro "i386" is not in CCP_PREDEFINES


i installed egcs1.1b without any problem on my i586-linux-gnulibc1.
i compiled my 2.1.119 kernel with it and it'working fine.
But the egcs cpp caused a failure when i tried to configure some sources
using imake. it made a makefile containig something like
CXX_FLAGS=-DLinux LinuxMachinePredefines etc..
while 'LinuxMachinePredefines' should have been '-D__i386__'.
i traced the problem is due to the fact that i386 is not a predefined
macro of the egcs cpp. (while it is predefined in the normal gcc2.7.2.3
cpp)

in the file gcc/config/i386/linux.h, the egc preprocessor predefined
macros are:
#define CPP_PREDEFINES "-D__ELF__ -Dunix -Dlinux -Asystem(posix)"
and thus i386 is not a predefined macro of cpp.
so i think it should be:
#define CPP_PREDEFINES "-Di386 -D__ELF__ -Dunix -Dlinux -Asystem(posix)"

I checked that i386 looks predefined when preprocessing by "gcc -E", so
the fact that cpp doesnt have it predefined only appear when calling the cpp
directly..

well, if my little experience could correct a little bug, that would
make me happy.. ;-)

-- 
Samuel Krempp
krempp@dptmaths.ens-cachan.fr



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