On Thu, 19 Sep 2002 16:36:12 +0200, you said:
When building 21.5.9 on AIX 4.3.3 using either the IBM VisualAge
C/C++
Compiler (VAC) or the older IBMCXX Compiler, the process stops at the
compilation of src/keymap.c with the following error:
"keymap.c", line 4015.1: 1506-191 (E) The character # is not a valid C
source character.
"keymap.c", line 4015.8: 1506-276 (S) Syntax error: possible missing
')'?
"keymap.c", line 4015.2: 1506-045 (S) Undeclared identifier ifdef.
Ouch. ;)
The problem is that IBM defines a *MACRO* called 'memcpy', and we have
stuck a #ifdef/#endif inside the macro call. As a workaround, try adding
'-U__STR__' to your CFLAGS - this will cause string.h to not do a #define
for strcpy() to __strcpy() - it uses this for automatic inlining support.
(For the record, the same issue affects a number of other functions
defined in string.h - basically anything the compiler knows how to inline.)
I admit having no idea what the long-term fix should be.
--
Valdis Kletnieks
Computer Systems Senior Engineer
Virginia Tech