[ Usenet FAQs | Search | Web FAQs | Documents | RFC Index ]
The header <string.h> has a strcpy macro that expands strcpy(x,y) to __strcpy(x,y), and the latter is then used by the compiler to generate inline code for strcpy. Because of the macro, your extern declaration contains an invalid macro expansion. The real cure is to remove your extern declaration but adding -U__STR__ to your xlc will also do the trick, although your program might run a bit more slowly as the compiler cannot inline the string functions any more.
Send corrections/additions to the FAQ Maintainer:
Last Update May 13 2007 @ 00:21 AM