Имена макросов в стиле C подчиняются тем же правилам именования, что и идентификаторы? После обновления компилятора он теперь выдает это предупреждение для устаревшего приложения:
warning #3649-D: white space is required between the macro name "CHAR_" and its replacement text
#define CHAR_& 38
Эта строка кода определяет константу значения ASCII для амперсанда.
#define DOL_SN 36
#define PERCENT 37
#define CHAR_& 38
#define RT_SING 39
#define LF_PAR 40
Я предполагаю, что это определение (на самом деле не упомянутое каким-либо кодом, насколько я могу судить) ошибочно и должно быть изменено на нечто вроде "CHAR_AMPERSAND"?