XL C/C++ Compiler and Runtime Migration Guide for the Application Programmer

XL C/C++ Compiler and Runtime Migration Guide for the Application Programmer

z/OS Version 2 Release 3 XL C/C++ Compiler and Runtime Migration Guide for the Application Programmer IBM GC14-7306-30 Note Before using this information and the product it supports, read the information in “Notices” on page 129. This edition applies to Version 2 Release 3 of z/OS (5650-ZOS) and to all subsequent releases and modifications until otherwise indicated in new editions. Last updated: 2019-02-15 © Copyright International Business Machines Corporation 1996, 2017. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents About this document.............................................................................................xi z/OS XL C/C++ on the World Wide Web.................................................................................................... xix Where to find more information...........................................................................................................xix Technical support...................................................................................................................................... xix How to send your comments to IBM.........................................................................................................xix If you have a technical problem........................................................................................................... xx Part 1. Introduction............................................................................................... 1 Chapter 1. New migration issues for z/OS V2R3 XL C/C++.........................................................................3 Chapter 2. Program migration checklists.................................................................................................... 5 Before you start your migration............................................................................................................. 5 When you are compiling code................................................................................................................ 6 When you are binding program objects or load modules......................................................................7 When you are running an application ....................................................................................................7 Tools that facilitate your migration........................................................................................................ 9 The Edge Portfolio Analyzer..............................................................................................................9 Applicability of product information...................................................................................................... 9 Part 2. Migration of pre-OS/390 C/C++ applications to z/OS V2R3 XL C/C++.......... 11 Chapter 3. Source code compatibility issues with pre-OS/390 C/C++ programs................................... 13 Removal of IBM Open Class Library support.......................................................................................13 Source code modifications necessitated by changes in runtime library............................................ 13 The #pragma runopts directive......................................................................................................13 Resource allocation and memory management issues...................................................................... 13 The sizeof operator applied to a function return type................................................................... 14 A user-defined global new operator and array new.......................................................................14 Addressing incompatibilities................................................................................................................14 C/370 V2 main program and main entry point.............................................................................. 14 Pointer incompatibilities.................................................................................................................14 Data type incompatibilities.................................................................................................................. 15 Assignment restrictions for packed structures and unions...........................................................15 DSECT header files and packed structures....................................................................................15 Changes required by programs with interlanguage calls....................................................................15 Explicit program mask manipulations............................................................................................15 Assembler source code changes in System Programming C (SPC) applications built with EDCXSTRX..................................................................................................................................16 Internationalization incompatibilities..................................................................................................16 Support of alternate code points....................................................................................................16 Chapter 4. Compile-time issues with pre-OS/390 C/C++ programs........................................................17 Changes in compiler listings, messages, and return codes................................................................ 17 Macro redefinitions might result in severe errors..........................................................................17 Changes in compiler options................................................................................................................17 Compiler options that are no longer supported.............................................................................17 Compiler options that were introduced in OS/390 C/C++ or later................................................18 Changes in compiler option functionality.......................................................................................18 Changes that affect compiler invocations........................................................................................... 20 iii IPA compiler option and very large applications........................................................................... 21 Customized JCL and the CXX format..............................................................................................21 CBCI and CBCXI procedures in JCL............................................................................................... 21 Changes that affect SYSLIB DD cards..................................................................................................21 Change in SCLBH logical record length ......................................................................................... 21 Chapter 5. Bind-time migration issues with pre-OS/390 C/C++ programs............................................. 23 Library release level in use...................................................................................................................23 Binder invocation changes................................................................................................................... 25 Impact of changes to CC EXEC invocation syntax......................................................................... 25 Changes due to customizations of the runtime environment............................................................. 25 User-developed exit routines......................................................................................................... 25 Incompatibilities in external references..............................................................................................26 Requirements for relinking C/370 modules that invoke Debug Tool..................................................26 C/370 modules with interlanguage calls (ILC).................................................................................... 26 Interlanguage calls between assembler and PL/I language modules..........................................26 Function calls between C and Fortran modules............................................................................ 27 Function calls to and from COBOL modules.................................................................................. 27 Chapter 6. Runtime migration issues with pre-OS/390 C/C++ applications........................................... 31 Retention of pre-OS/390 runtime behavior.........................................................................................31 Runtime library messages....................................................................................................................31 Return codes and messages...........................................................................................................31 Error conditions that cause runtime messages............................................................................. 32 Prefixes of perror() and strerror() messages..................................................................................32 Language specification for messages............................................................................................ 32 User-developed exit routines......................................................................................................... 32 Changes that affect customized JCL procedures...............................................................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    180 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us