Change in pre-processor behavior with gcc-4.5.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I've just upgraded my system and as part of that upgrade I'm now using
gcc-4.5.0. One thing I've run into is a difference with the behaviour
of the C pre-processor between gcc-4.5.0 and gcc-4.3.3. With the
following silly program

  #include "does_not_exist.h"
  #define A_MACRO 'A'

  int main(int argc, char *argv)
  {
          putc(A_MACRO);
          return 0;
  }

cpp from gcc-4.5.0 gives

  # 1 "test.c"
  # 1 "<built-in>"
  # 1 "<command-line>"
  # 1 "test.c"
  test.c:1:28: fatal error: does_not_exist.h: No such file or directory
  compilation terminated.

while cpp from gcc-4.3.3 gives

  # 1 "test.c"
  # 1 "<built-in>"
  # 1 "<command-line>"
  # 1 "test.c"
  test.c:1:28: error: does_not_exist.h: No such file or directory


  int main(int argc, char *argv)
  {
   putc('A');
   return 0;
  }


We have one project that relies on the older (and probably broken)
behaviour which parses some source files looking for the result of one
particular macro expansion, at this stage it doesn't care about other
macro expansions - they will get handled when the code is compiled
properly. Is there anyway of making the pre-processor from gcc-4.5.0
keep going despite the missing header file?

Thanks,
Chris


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux