Fixes are available
XL C for AIX Fix Pack 2 (July 2016 PTF) for 13.1.3
XL C/C++ for AIX Fix Pack 2 (July 2016 PTF) for 13.1.3
XL C for AIX, V13.1.3.3 Fix Pack (December 2016)
XL C/C++ for AIX, V13.1.3.3 Fix Pack (December 2016)
XL C for AIX, V13.1.3.4 Fix Pack (April 2017)
XL C/C++ for AIX, V13.1.3.4 Fix Pack (April 2017)
XL C for AIX, V13.1.3.5 Fix Pack (July 2018)
XL C/C++ for AIX, V13.1.3.5 Fix Pack (July 2018)
XL C for AIX, V13.1.3.6 Fix Pack (May 2019)
XL C/C++ for AIX, V13.1.3.6 Fix Pack (May 2019)
APAR status
Closed as program error.
Error description
After a series of macro substitutions and a ## concatenation, the C preprocessor is expected to 'stringify' a macro result, but isn't able to resolve the stringification's usage of a macro itself. The issue only occurs when 2 substitutions are used in the original macro. === TEST CASE === #define macx x #define macy y #define xy ok #define mac(_x,_y) mac1(_x,_y) #define mac1(_x,_y) mac2(_x##_y) #define mac2(_xy) mac3(_xy) #define mac3(_xy) #_xy int main() { char *cp=mac(macx,macy); } $ xlc -E test.c #line 10 "test.c" int main() { char *cp="xy"; } $
Local fix
Problem summary
USERS AFFECTED: Users trying to do a series of macro substitutions and a ## concatenation maybe affected by this issue. PROBLEM DESCRIPTION: Preprocessor failed a substitution and generated wrong output.
Problem conclusion
The preprocessor has been fixed to handle this case.
Temporary fix
Comments
APAR Information
APAR number
IV85627
Reported component name
XL C FOR AIX
Reported component ID
5725C7100
Reported release
D13
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2016-06-10
Closed date
2016-06-10
Last modified date
2016-06-10
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
XL C FOR AIX
Fixed component ID
5725C7100
Applicable component levels
RD13 PSY
UP
[{"Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGH2K","label":"XL C for AIX"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"D13"}]
Document Information
Modified date:
07 September 2021