Skip to: Abstract | Comments | Solution | Migration | Download
APAR NUMBER: PJ29963 PRODUCT: TPF4 FUNCTIONAL AREA: ISO-C SUPPORT SHIPPED IN PUT: 21 ABSTRACT: TPF support for the z/OS 1.8 compiler APAR CONTENTS: FEATURE TYPE STATUS NAME Base CHeader Changed include/c$an0nt.h Base CHeader Changed include/c$bk0lc.h Base CHeader Changed include/c$bl0rp.h Base CHeader Changed include/c$ccw1.h Base CHeader Changed include/c$cfdl.h Base CHeader Changed include/c$cflp.h Base CHeader Changed include/c$cflr.h Base CHeader Changed include/c$cflt.h Base CHeader Changed include/c$cflv.h Base CHeader Changed include/c$ck9k.h Base CHeader Changed include/c$cy1k.h Base CHeader Changed include/c$dbrm.h Base CHeader Changed include/c$decb.h Base CHeader Changed include/c$icdc.h Base CHeader Changed include/c$idsfrp.h Base CHeader Changed include/c$ifdo.h Base CHeader Changed include/c$ilvl.h Base CHeader Changed include/c$ipbt.h Base CHeader Changed include/c$irc1df.h Base CHeader Changed include/c$isclnt.h Base CHeader Changed include/c$isiucv.h Base CHeader Changed include/c$itrtbl.h Base CHeader Changed include/c$miob.h Base CHeader Changed include/c$mk0ck.h Base CPPHeader Changed include/c$mqdc.h Base CHeader Changed include/c$ms0ut.h Base CHeader Changed include/c$prml.h Base CHeader Changed include/c$recoup.h Base CHeader Changed include/c$rhtb.h Base CHeader Changed include/c$sonf.h Base CHeader Changed include/c$srck1p.h Base CHeader Changed include/c$srhh1p.h Base CHeader Changed include/c$std8.h Base CHeader Changed include/c$stdhd.h Base CHeader Changed include/c$tdat.h Base CHeader Changed include/c$tgdt.h Base CHeader Changed include/c$to2.h Base CHeader Changed include/c$to2b.h Base CHeader Changed include/c$tpxd.h Base CHeader Changed include/i$decb.h Base CHeader Changed include/i$filt.h Base CHeader Changed include/i$grp.h Base CHeader Changed include/i$mqrt.h Base CHeader Changed include/i$node.h Base CHeader Changed include/i$nsdb.h Base CHeader Changed include/i$ps.h Base CHeader Changed include/i$rccr.h Base CHeader Changed include/i$snmp.h Base CHeader Changed include/plfapi.h Base CHeader Changed include/tpf/c_irc0df.h Base CPPHeader New include/tpf/c_terminate.hpp Base CHeader Changed include/tpfapi.h Base CHeader Changed include/tpfio.h Base CHeader Changed include/tpfmcsll.h Base CHeader Changed include/tpftape.h Base C Changed source/rt/base/caormg.c Base C Changed source/rt/base/ceatad.c Base C Changed source/rt/base/cleo.c Base C Changed source/rt/base/crlr.c Base CPP Changed source/rt/base/cuscpf.cpp PREREQUISITE APARS: To be applied in order listed. Base CHeader Changed include/c$an0nt.h PJ25780(09) PJ26943(12) PJ28617(17) Base CHeader Changed include/c$bk0lc.h PJ27804(14) Base CHeader Changed include/c$bl0rp.h PJ27469(13) PJ27804(14) PJ28097(15) Base CHeader Changed include/c$ccw1.h PJ25412(09) Base CHeader Changed include/c$cfdl.h PJ26707(11) PJ26946(12) PJ27638(14) Base CHeader Changed include/c$cflp.h PJ26707(11) PJ26946(12) PJ27302(13) PJ27638(14) PJ28097(15) PJ29738(19) PJ29785(19) Base CHeader Changed include/c$cflr.h PJ26707(11) PJ26946(12) PJ27638(14) Base CHeader Changed include/c$cflt.h PJ26707(11) PJ26946(12) PJ27638(14) Base CHeader Changed include/c$cflv.h PJ26707(11) PJ26946(12) PJ27638(14) Base CHeader Changed include/c$ck9k.h PJ25445(09) PJ30850(20) Base CHeader Changed include/c$cy1k.h PJ27686(14) PJ28097(15) PJ29213(18) Base CHeader Changed include/c$decb.h PJ27393(13) PJ27479(14) PJ29160(18) PJ29024(18) Base CHeader Changed include/c$icdc.h PJ27095(12) PJ28097(15) PJ29925(19) PJ30137(19) PJ30215(20) PJ30233(20) PJ30465(20) PJ30503(20) PJ30701(20) PJ30589(20) PJ30610(20) PJ30946(20) PJ31004(20) PJ31144(21) PJ31207(21) Base CHeader Changed include/c$ilvl.h PJ28870(17) Base CHeader Changed include/c$ipbt.h PJ25589(09) PJ27023(12) Base CHeader Changed include/c$irc1df.h PJ29925(19) PJ30701(20) PJ31004(20) Base CHeader Changed include/c$isclnt.h PJ25632(09) PJ26575(11) PJ26346(12) PJ27379(15) PJ29024(18) Base CHeader Changed include/c$isiucv.h PJ27479(14) Base CHeader Changed include/c$itrtbl.h PJ26161(10) Base CHeader Changed include/c$miob.h PJ26707(11) PJ27479(14) PJ28097(15) PJ27902(17) PJ28416(17) PJ28712(18) PJ28789(19) PJ29785(19) PJ29675(19) PJ29997(19) PJ30390(20) PJ30140(20) PJ30850(20) PJ31317(21) Base CPPHeader Changed include/c$mqdc.h PJ25780(09) PJ27023(12) PJ28435(16) PJ29833(19) PJ29925(19) PJ30465(20) Base CHeader Changed include/c$ms0ut.h PJ26146(10) PJ27110(13) PJ29213(18) Base CHeader Changed include/c$prml.h PJ27469(13) PJ28097(15) Base CHeader Changed include/c$recoup.h PJ27469(13) PJ28668(17) PJ30754(20) Base CHeader Changed include/c$rhtb.h PJ27479(14) PJ28097(15) Base CHeader Changed include/c$sonf.h PJ25199(09) PJ25692(09) PJ25859(10) PJ26707(11) PJ28097(15) PJ29024(18) PJ29776(19) PJ30839(20) Base CHeader Changed include/c$srck1p.h PJ27469(13) PJ28097(15) Base CHeader Changed include/c$srhh1p.h PJ27469(13) Base CHeader Changed include/c$std8.h PJ28097(15) PJ29213(18) Base CHeader Changed include/c$stdhd.h PJ26781(12) PJ29213(18) Base CHeader Changed include/c$tdat.h PJ25412(09) Base CHeader Changed include/c$tgdt.h PJ25412(09) Base CHeader Changed include/c$to2.h PJ25524(09) PJ25332(09) PJ25994(10) PJ26143(10) PJ26139(11) PJ26522(11) PJ26714(12) PJ26887(12) PJ27390(14) PJ27380(14) PJ28097(15) PJ28140(16) PJ29059(19) Base CHeader Changed include/c$to2b.h PJ26522(11) PJ26887(12) PJ27479(14) PJ27380(14) PJ28097(15) PJ28386(16) PJ28511(16) PJ28688(17) PJ28943(17) Base CHeader Changed include/c$tpxd.h PJ25412(09) PJ26139(11) Base CHeader Changed include/i$decb.h PJ27393(13) PJ27774(15) Base CHeader Changed include/i$filt.h PJ28213(16) Base CHeader Changed include/i$grp.h PJ27469(13) PJ27606(14) Base CHeader Changed include/i$mqrt.h PJ27023(12) PJ27925(15) PJ27785(15) PJ28464(17) PJ28867(17) PJ29024(18) PJ28557(19) Base CHeader Changed include/i$node.h PJ25589(09) PJ27214(13) PJ28724(17) PJ29083(18) PJ29317(18) PJ29352(18) Base CHeader Changed include/i$nsdb.h PJ28195(16) PJ28493(17) PJ28726(17) PJ28901(18) Base CHeader Changed include/i$ps.h PJ27277(13) Base CHeader Changed include/i$rccr.h PJ28097(15) Base CHeader Changed include/i$snmp.h PJ27932(15) Base CHeader Changed include/plfapi.h PJ27272(13) PJ29504(19) PJ30372(20) Base CHeader Changed include/tpf/c_irc0df.h PJ30701(20) PJ30610(20) PJ31004(20) Base CHeader Changed include/tpfapi.h PJ25632(09) PJ25780(09) PJ26161(10) PJ26100(11) PJ26707(11) PJ26820(12) PJ26901(12) PJ26873(12) PJ26767(13) PJ27387(13) PJ27393(13) PJ27835(15) PJ28097(15) PJ27785(15) PJ28491(17) PJ28654(17) PJ28810(17) PJ28129(17) PJ29396(18) PJ29024(18) PJ29526(19) PJ29849(19) PJ29974(19) PJ29980(19) PJ30355(20) PJ30156(20) PJ30839(20) PJ31254(21) PJ31058(21) Base CHeader Changed include/tpfio.h PJ26714(12) PJ27393(13) PJ29024(18) PJ30839(20) PJ31058(21) Base CHeader Changed include/tpftape.h PJ25412(09) PJ26139(11) PJ26714(12) PJ28411(16) PJ29160(18) PJ29024(18) PJ29716(19) PJ29756(19) PJ30839(20) PJ31058(21) Base C Changed source/rt/base/caormg.c PJ29118(18) PJ29600(19) Base CPP Changed source/rt/base/cuscpf.cpp PJ25780(09) PJ26156(10) PJ27023(12) PJ27177(13) PJ27375(13) PJ27351(13) PJ27274(14) PJ27572(14) PJ27779(15) PJ28126(15) PJ28136(15) PJ28435(16) PJ28758(17) PJ28954(17) PJ29032(17) PJ29214(18) PJ29437(18) PJ29016(18) PJ29024(18) PJ29917(19) PJ29920(19) PJ30556(20) PJ31240(21) PJ30620(21) PJ31393(21) COMMENTS: TPF changes required to support the z/OS 1.8 compiler SOLUTION: Changed all #pragma pack(packed) statements in TPF code to #pragma pack(1). For #pragma pack(packed), the z/OS 1.8 compiler issues an informational message saying that support may be dropped in a future z/OS compiler release, and that the statement should be replaced with #pragma pack(1). Increased the size of certain declared arrays in the ./rt/base/caormg.c, ./rt/base/cleo.c, and ./rt/base/crlr.c segments and in the ./include/i$ps.h header by one array element because code may reference or store beyond the end of the array. Changed the initialization of the tmpDispBuf array in the ./rt/base/cuscpf.cpp segment from = {}; to = "" to avoid a compiler warning message. Changed code in ./rt/base/ceatad.c to eliminate a compiler warning and also added detailed maintenance comments to explain how fields are laid out in the structures when dereferencing. Created the ./include/tpf/c_terminate.hpp header as a permanent workaround for an unresolved reference warning message caused by the z/OS 1.8 prelinker/linkage editor and by any future z/OS prelinker/linkage editors. DEPENDENCIES SEGMENTS TO BE ASSEMBLED OR COMPILED: source/rt/base/caormg.c source/rt/base/cleo.c source/rt/base/crlr.c source/rt/base/cuscpf.cpp source/rt/base/cps01.c source/rt/base/cps02.c source/rt/base/cps03.c source/rt/base/ceatad.c SEGMENTS TO BE LINK EDITED: cela40.exe (Shipped in Tar File) cfjp40.exe (Shipped in Tar File) clee40.exe (Shipped in Tar File) clef40.exe (Shipped in Tar File) cmqs40.exe (Shipped in Tar File) colm40.exe (Shipped in Tar File) comx40.exe (Shipped in Tar File) COREQS: None. MIGRATION CONSIDERATIONS: A future release of the z/OS compiler may drop support for #pragma pack(packed). The equivalent is #pragma pack(1). Users should change #pragma pack(packed) to #pragma pack(1) in their code. Note that GCC for z/TPF supports #pragma pack(1). TPFDF APAR PK34634 makes corresponding changes to the TPF 4.1 product for #pragma pack(packed).However, that APAR does not need to be installed at the same time as this APAR. If TPF 4.1 users receive the pre-linker/linkage editor warning message "WARNING EDC4015: Unresolved references are detected: std::terminate()" when compiling and linking a C++ program, they should include the ./include/tpf/c_terminate.hpp header in their C++ program as follows: #ifdef __370__ #include <tpf/c_terminate.hpp> #endif Note that the ./include/tpf/c_terminate.hpp header is not needed for GCC and z/TPF, and this header does not exist in z/TPF. UPDATED INFORMATION UNITS: TPF Migration Guide: Program Update Tapes See your IBM representative if you need additional information. DOWNLOAD INSTRUCTIONS: http://www.ibm.com/software/htp/tpf/pages/maint.htm -- END APAR PJ29963
Download file(s): Login once to access server, leave window open, then click on link(s) below. Listing Binary Source
