Fixes are available
March 2013 PTF for XL C for AIX, V12.1
March 2013 PTF for XL C/C++ for AIX, V12.1
XL C/C++ for AIX Fix Pack 4 (June 2013 PTF) for 12.1
XL C/C++ for AIX Fix Pack 5 (September 2013 PTF) for 12.1
XL C/C++ for AIX Fix Pack 7 (January 2014 PTF) for 12.1
XL C for AIX Fix Pack 8 (March 2014 PTF) for 12.1
XL C/C++ for AIX Fix Pack 8 (March 2014 PTF) for 12.1
XL C/C++ for AIX Fix Pack 11 (February 2015 PTF) for 12.1
XL C for AIX Fix Pack 12 (May 2015 PTF) for 12.1
XL C/C++ for AIX Fix Pack 12 (May 2015 PTF) for 12.1
XL C/C++ for AIX Fix Pack 13 (August 2015 Update) for 12.1
XL C/C++ for AIX Fix Pack 14 (December 2015 Update) for 12.1
XL C for AIX Fix Pack 15 (April 2016 Update) for 12.1
XL C/C++ for AIX Fix Pack 15 (April 2016 Update) for 12.1
XL C for AIX Fix Pack 16 (July 2016 Update) for 12.1
XL C/C++ for AIX Fix Pack 16 (July 2016 Update) for 12.1
XL C/C++ for AIX Fix Pack 17 (November 2016 Update) for 12.1
XL C for AIX Fix Pack 17 (November 2016 Update) for 12.1
XL C for AIX Fix Pack 18 (February 2017 Update) for 12.1
XL C/C++ for AIX Fix Pack 18 (February 2017 Update) for 12.1
XL C for AIX Fix Pack 19 (August 2017 Update) for 12.1
XL C/C++ for AIX Fix Pack 19 (August 2017 Update) for 12.1
XL C for AIX Fix Pack 20 (March 2018 Update) for 12.1
XL C/C++ for AIX Fix Pack 20 (March 2018 Update) for 12.1
XL C for AIX Fix Pack 4 (June 2013 PTF) for 12.1
XL C for AIX Fix Pack 5 (September 2013 PTF) for 12.1
XL C for AIX Fix Pack 6 (December 2013 PTF) for 12.1
XL C/C++ for AIX Fix Pack 6 (December 2013 PTF) for 12.1
XL C for AIX Fix Pack 7 (January 2014 PTF) for 12.1
XL C for AIX Fix Pack 9 (July 2014 PTF) for 12.1
XL C/C++ for AIX Fix Pack 9 (July 2014 PTF) for 12.1
XL C for AIX Fix Pack 10 (October 2014 PTF) for 12.1
XL C/C++ for AIX Fix Pack 10 (October 2014 PTF) for 12.1
XL C for AIX Fix Pack 11 (February 2015 PTF) for 12.1
XL C for AIX Fix Pack 13 (August 2015 Update) for 12.1
XL C for AIX Fix Pack 14 (December 2015 Update) for 12.1
XL C/C++ for AIX Fix Pack 21 (January 2019 Update) for 12.1
XL C for AIX Fix Pack 21 (January 2019 Update) for 12.1
APAR status
Closed as program error.
Error description
The above test case tries to use %a, %A, %j, %t, %z printf format specifiers introduced by C99. XLC/C++ compilers work correctly - test case compiles and runs with expected output. However, during compilation, C/C++ gives out the following informational/warning messages when -qformat=all -qinfo=all is present: 1540-2839 (I) The platform does not support the use of a non-portable extension character 'j' in the format. This informational message is incorrect and unnecessary. ====TEST CASE: $cat xlc12_defect_format_conversion.c #include <stdio.h> #include <stdint.h> #include <stddef.h> signed main(void) { printf("%A\n", 10.5); printf("%a\n", 10.5); printf("%ju\n", (uintmax_t)1000000); printf("%td\n", (ptrdiff_t)1000000); printf("%zu\n", (size_t)1000000); return 0; } $ xlc -qlanglvl=extc1x -qinfo=all -qformat=all xlc12_defect_format_conversion.c $xlC -qsourcetype=c++ -qlanglvl=extended0x -qinfo=all -qformat=all xlc12_defect_format_conversion.c ====ACTUAL OUTPUT: "xlc12_defect_format_conversion.c", line 73.10: 1540-2839 (I) The platform does not support the use of a non-portable extension character 'A' in the format. "xlc12_defect_format_conversion.c", line 74.10: 1540-2839 (I) The platform does not support the use of a non-portable extension character 'a' in the format. "xlc12_defect_format_conversion.c", line 81.10: 1540-2839 (I) The platform does not support the use of a non-portable extension character 'j' in the format. "xlc12_defect_format_conversion.c", line 81.10: 1540-2845 (W) Invalid uintmax_t format for unsigned long long argument type in argument 2. "xlc12_defect_format_conversion.c", line 87.10: 1540-2839 (I) The platform does not support the use of a non-portable extension character 't' in the format. "xlc12_defect_format_conversion.c", line 93.10: 1540-2839 (I) The platform does not support the use of a non-portable extension character 'z' in the format. ====EXPECTED OUTPUT: None of these Informational Messages.
Local fix
N/A
Problem summary
PROBLEM DESCRIPTION: The compiler was issuing out-of-date informational messages for printf format specifiers that are now part of the C99 standard. USERS AFFECTED: Users of -qinfo=all -qformat=all looking for information about non-portable format specifiers
Problem conclusion
The messages have been updated to include C99 format specifiers Aatjuz
Temporary fix
Comments
APAR Information
APAR number
IV35873
Reported component name
XL C FOR AIX
Reported component ID
5725C7100
Reported release
C10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2013-01-24
Closed date
2013-03-12
Last modified date
2013-03-13
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
Document Information
Modified date:
01 October 2021