IV44421: OPTIMIZATION PROBLEM ACCESSING VOLATILE FIELD
Fixes are available
XL C/C++ for AIX Fix Pack 18 (July 2013 PTF) for 10.1
XL C/C++ for AIX Fix Pack 19 (October 2013 PTF) for 10.1
XL C/C++ for AIX Fix Pack 21 (October 2015 PTF) for 10.1
XL C for AIX Fix Pack 21 (October 2015 PTF) for 10.1
XL C for AIX Fix Pack 18 (July 2013 PTF) for 10.1
XL C for AIX Fix Pack 19 (October 2013 PTF) for 10.1
XL C for AIX Fix Pack 20 (October 2014 PTF) for 10.1
XL C/C++ for AIX Fix Pack 20 (October 2014 PTF) for 10.1
Closed as program error.
When compiling a large test case that uses sync() with optimization, the optimizer incorrectly removes a necessary load after the sync() instruction. This incorrect removal of the load instruction causes incorrect output at runtime.
Instead of referencing the problematic variable directly; an accessor method can be created to access the variable as a workaround.
USERS AFFECTED: Users who use have a large test case and make use of the sync() function maybe affected by this issue. PROBLEM DESCRIPTION: A problem with optimization(errata) was causing an incorrect removal of some aliasing information which caused an incorrect behaviour at runtime.
The compiler has been fixed to properly keep the aliasing information so that the error does not occur at runtime.
Reported component name
XL C AIX
Reported component ID
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fixed component name
XL C AIX
Fixed component ID
Applicable component levels
More support for:
Software version: A.1
Reference #: IV44421
Modified date: 17 July 2013