From: Mo D. <su...@ba...> - 2002-03-04 07:08:24
|
Hi all. I seem to have run into a little problem with the mingw version of gcc. I am using gcc version 2.95.3-6 from the 1.1 release of mingw on a Win 98 system. I am running mingw gcc under msys (1.0.5) in case that matters. First, the results I get from the Cygwin version of gcc. Don't worry I am not mixing runtimes or anything. I also get these good results when using mingw gcc version 2.95.2. $ cat one.c #ifdef HAVE_ONE_ERROR #error ONE #endif void foo() {} $ gcc -c one.c $ gcc -c one.c -DHAVE_ONE_ERROR one.c:2: #error ONE $ gcc -c one.c -DHAVE_ONE_ERROR=1 one.c:2: #error ONE Now for the bad result from mingw gcc: $ gcc -c one.c $ gcc -c one.c -DHAVE_ONE_ERROR one.c:2: #error ONE $ gcc -c one.c -DHAVE_ONE_ERROR=1 When the =1 is added to the -D flag, the symbol is not defined at all! This is a very serious problem because autoconf tends to pass -DFLAG=1 as a result of feature tests. Strange miscompiles when using autoconf is what lead me to this problem in the first place. thanks much Mo DeJong |