On AIX Buildserver Succeeds Even If C Compiler Returns 1506-191 Error (Doc ID 1543833.1)

Last updated on NOVEMBER 04, 2016

Applies to:

Oracle Tuxedo - Version 10.3.0 and later
Information in this document applies to any platform.

Symptoms

simpservi.c server defines the following C function to be advertised as Tuxedo service :

#ifdef __cplusplus
extern "C"
#endif
void
#if defined(__STDC__) || defined(__cplusplus)
TOUPPERB¡(TPSVCINFO *rqst)
#else
TOUPPERB¡(rqst)
TPSVCINFO *rqst;
#endif
{

  int i;

  for(i = 0; i < rqst->len-1; i++)
  rqst->data[i] = toupper(rqst->data[i]);

  /* Return the transformed buffer to the requestor. */
  tpreturn(TPSUCCESS, 0, rqst->data, 0L, 0);
}

 
The last character of the "TOUPPERB¡" string has an hexadecimal value 0xa1 (octal value being 249):
On AIX, C compiler returns 3 times the error 1506-191 (E).
However buildserver succeeds.

$ buildserver -v -f simpservi.c -o simpservi -s TOUPPERB^á
cc -q64 -D_LARGE_FILES -D__XCOFF32__ -D__XCOFF64__ -brtl -qstaticinline -I$TUXDIR/include -o simpservi BS-b3058.c -L${TUXDIR}/lib simpservi.c -brtl -qstaticinline -ltux -lbuft -lfml -lfml32 -lengine -lpthread
BS-b3058.c:
"BS-b3058.c", line 9.21: 1506-191 (E) The character \xa1 is not a valid C source character.
"BS-b3058.c", line 15.87: 1506-191 (E) The character \xa1 is not a valid C source character.
simpservi.c:
"simpservi.c", line 54.9: 1506-191 (E) The character \xa1 is not a valid C source character.

 

Changes

 No change.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms