APAR status
Closed as program error.
Error description
Non-deterministic prefix for external types is no longer used by CMicro code generator during code generation causing conflicts for same name data types during compilation We have defined a variable of array type int[32] in 2 different packages. So during the CPP2SDL import, the same types are inserted to SDL Packages automatically which leads to compilation errors during the build phase Normally in SDL there is one arr_32 type for all inline int arrays with length 32 bit, but since we are using 2 different packages in SDL, we get 2 types with the same name causing a conflict. In versions previous to SDL 6.3, it added a different non-deterministic prefix for such types, Now the scheme of code generation for external types is changed and a non-deterministic prefix for external types is no longer used. This behavior was determined to be a regression defect followed with CR TLOG#68129
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: * **************************************************************** * PROBLEM DESCRIPTION: * **************************************************************** * RECOMMENDATION: * **************************************************************** Using several packages with imported C types could cause compile errors or warnings for conflicting variable, type or macro names, like these: Pac1.h(422) : warning C4005: 'ySrtN_arr_32_int' : macro redefinition Pac2.h(422) : see previous definition of 'ySrtN_arr_32_int' Pac2_smc.obj : error LNK2005: _ySDL_arr_32_int already defined in Pac1_smc.obj HelloWorld_smc.exe : fatal error LNK1169: one or more multiply defined symbols found
Problem conclusion
These problems could happen if different C header files imported to different SDL packages contain similar implicit array types, for example, int var1[32]; and int var2[32]; This problem has been fixed.
Temporary fix
Comments
APAR Information
APAR number
PM60962
Reported component name
TLOGIC SDL SUIT
Reported component ID
5724V77SD
Reported release
630
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-03-22
Closed date
2012-11-29
Last modified date
2012-11-29
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
TLOGIC SDL SUIT
Fixed component ID
5724V77SD
Applicable component levels
R630 PSN
UP
[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYR86","label":"Rational SDL Suite"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.3","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
29 November 2012