public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* CPP can't see some header file
@ 2006-09-07  3:44 Tommy
  0 siblings, 0 replies; only message in thread
From: Tommy @ 2006-09-07  3:44 UTC (permalink / raw)
  To: gcc-help

Hi all,

  I use GCC 2.95.2 (sparc-leon2, for cygwin) in my win2k platform. Recently I
encountered a problem on the C preprocessor (error messages go as
follows).

source1.c: In function `_my_function1':
source1.c:185: `DEFINE_SYMBOL_NUM_001' undeclared (first use in this
 function)
source1.c:185: (Each undeclared identifier is reported only once
source1.c:185: for each function it appears in.)
make[1]: *** [OBJS/source1.o] Error 1

  This file, source1.c, is built in a directory "Src_235a". If I
change its name into "Src_235b", "Src_236a", or something different,
this error will be gone. This looks funny -- if I change the name of
directory, or change the name of some header file (defines that lost
symbol), the compiling goes okay.

  I added flags -H and -v in my CFLAGS and got the internal calling
contents of CPP (listed below):

/opt/rtems/lib/gcc-lib/sparc-rtems/2.95.2/cpp.exe -lang-c -v -I
/ecos-c/Prj/product/ecos_build/leon_release_install/include
-D__GNUC__=2 -D__GNUC_MINOR__=95 -Dsparc -D__GCC_NEW_VARARGS__ -Drtems
-D__rtems__ -D__sparc__ -D__GCC_NEW_VARARGS__ -D__rtems__ -D__rtems__
-D__sparc -D__rtems -Asystem(rtems) -Acpu(sparc) -Amachine(sparc)
-D__OPTIMIZE_SIZE__ -D__OPTIMIZE__ -g -Wall -Wpointer-arith
-Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -H
-D__GCC_NEW_VARARGS__ -Acpu(sparc) -Amachine(sparc) -Asystem(embedded)
-D__leon__ -Dleon -DROMCODE source1.c

  Then I did some trials.
1. If I call CPP directly and use no arguments, I will get consistent
results for both directory "Src_235a" and "Src_235b".

2. If I call CPP using full arguments (as listed above), the dump
results go different: the "Src_235a" one doesn't include that header
file (defines symbol DEFINE_SYMBOL_NUM_001), and the other includes
correctly.

  This problem can be traced till here (in CPP-level). If I duplicate
the same directory hierarchy in another win2k PC (and also use the
same LECCS-1.1.5 toolchain), it works fine and no such odd problem.

  I also tried to update cygwin libraries/DLLs and that didn't help.

  Do you have any idea to fingure out what's wrong with such a problem?

Tommy.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-09-07  3:44 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-09-07  3:44 CPP can't see some header file Tommy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).