problem with compiling c4x target after PRAGMA change
Herman ten Brugge
Haj.Ten.Brugge@net.HCC.nl
Tue Sep 12 12:11:00 GMT 2000
Zack Weinberg wrote :
>
> On Tue, Sep 12, 2000 at 05:38:47PM +0100, Herman ten Brugge wrote:
> > Hello,
> >
> > I get compiler errors after the PRAGMA patch was applied to the c4x
> > target. The problems are for the chill, fortran and java compilers. The
> > problem reported is:
> >
> > ../libbackend.a(c4x.o): In function `c4x_parse_pragma':
> > c4x.o(.text+0x4a38): undefined reference to `c_lex'
> > c4x.o(.text+0x4a55): undefined reference to `c_lex'
> > c4x.o(.text+0x4a76): undefined reference to `c_lex'
> > c4x.o(.text+0x4a95): undefined reference to `c_lex'
> > c4x.o(.text+0x4ab7): undefined reference to `c_lex'
> > ../libbackend.a(c4x.o)(.text+0x4ae2): more undefined references to `c_lex' follow
> >
> > This seems to indicate that the function c_lex is only valid in the c and
> > c++ compiler.
>
> Yep.
>
> c4x_parse_pragma will never be called except by the C and C++
> compilers, but of course the linker does not know that.
>
> > How should this problem be solved? There are probably more targets with
> > the same problem.
>
> Simplest fix would be to add dummy c_lex routines to the chill,
> fortran, and java compilers. They should abort if called.
Could we not use a function pointers to c_lex. The old code did this to
avoid this problem. This looks much cleaner to me then using dummy functions.
Herman.
More information about the Gcc-bugs
mailing list