Warning number: PGC-W-0261

I’m a new user of PGI compilers in my institution (PGI Workstation 10.6). I have some C code that compiles without warnings in gcc, intel and sun compilers. I’m trying to compile with pgcc and I obtain a warning related with two macros that says:

PGC-W-0261-no macro replacement within a character constant

I’m not found the warning number in the Portland documentation and I’m not understand the message. The macros involved in the warning looks good and none of the other compilers (gcc, suncc and icc) emits any warning (with the more agressive warning flags).

Someone knows the PGC-W-0261 warning?


The macro is a error checking for the input arguments for call a lapack routine from C, and the warning refers to the line that contains the #define clause

#define LAPACK_ERROR_SYEV(pos,Order,jobz,Uplo,N,lda)
(pos) = 0;
if(((Order)!=CblasRowMajor)&&((Order)!=CblasColMajor)) {
(pos) = 1;
} else if(((jobz)!=‘N’)&&((jobz)!=‘n’)&&((jobz)!=‘V’)&&((jobz)!=‘v’)) {
(pos) = 2;
} else if(((Uplo)!=CblasUpper)&&((Uplo)!=CblasLower)) {
(pos) = 3;
} else if((N)<0) {
(pos) = 4;
} else if((lda)<MAX(1,(N))) {
(pos) = 6;

Hi jgpallero,

The warning is letting you know that the preprocessor is not replacing the constant ‘N’ with the value of the N macro. To avoid confusion, you may want to change the N macro’s name to something else.

Hope this helps,