trunk won't build

Robert Lipe robertl@caldera.com
Fri Dec 21 09:23:00 GMT 2001


Gabriel Dos Reis wrote:
> Robert Lipe <robertl@caldera.com> writes:
> 
> | If I just change the line to:
> | 	DEF_RTL_EXPR(GCC_PREFETCH, "prefetch", "eee", 'x')
> | this error goes away.  We could probably just #undef it, too.
> | 
> | What's the right thing to do when we have an identifier that conflicts
> | with a system header like this?
> 
> You've just demonstrated a good way to solve and even prevent this
> sort of problem :-)

Well, my demonstration isn't great.

/bin/cc -DIN_GCC    -g    -DHAVE_CONFIG_H  -o cc1 \
        c-parse.o c-lang.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-ty
peck.o c-convert.o c-aux-info.o c-common.o c-format.o c-semantics.o c-objc-commo
n.o libcpp.a  main.o libbackend.a ./intl/libintl.a   ../libiberty/libiberty.a
undefined                       first referenced
 symbol                             in file
gen_rtx_PREFETCH                    libbackend.a

I can't find where that symbol is really coming from.  Yeah, I can see
that it's in insn-emit.c, but it's not intuitively obvious to the casual
observer how it gets there.

Would the #undef be preferred over renaming it everywhere?  I just stuck
an '#undef PREFETCH' in system.h after the include of sys/param.h and that
got me into stage2.

RJL



More information about the Gcc mailing list