i960 Processor Compiler User's Guide
12-10
12
Flagging Unterminated Character Constants
The compiler flags unterminated character constants inside of
preprocessor conditionals that fail. Some programs have English
comments enclosed in conditionals that are guaranteed to fail; if these
comments contain apostrophes, the compiler will probably report an error.
For example, this code produces an error:
#if 0
You can’t expect this to work.
#endif
The best solution to such a problem is to put the text into an actual C
comment delimited by
/*...*/. However, ftraditional suppresses
these error messages.
Disguised varargs or stdarg Routines
Disguised varargs routines (those that do not use varargs.h or
stdarg.h but that increment through a pointer assigned from the address
of an argument) do not work.
Troubleshooting
Undefined References
When trying to compile a program, a user may get error messages similar
to the following:
crt960.o: undefined reference to ‘heap_size’
crt960.o: undefined reference to ‘__setac’
crt960.o: undefined reference to ‘__LL_init’
_filbuf.c:47: (_filbuf): undefined reference to ‘_read’
exit.c:31: (_exit_init): undefined reference to
‘__exit_create’
exit.c:39: (exit): undefined reference to ‘__exit_ptr’
fflush.c:38: (fflush): undefined reference to ‘_write’
_flsbuf.c:105: (_flsbuf): undefined reference to ‘_write’