Z/OS: Compiler Reference Chapter 1
Total Page:16
File Type:pdf, Size:1020Kb
z/OS Version 2 Release 4 Compiler Reference for XL C/C++ V2.4.1 for z/OS V2.4 IBM SC31-5801-00 Note Before using this information and the product it supports, read the information in “Notices” on page 123. This edition applies to Version 2 Release 4 Modification 1 of XL C/C++ for IBM® z/OS® (5650-ZOS) and to all subsequent releases and modifications until otherwise indicated in new editions. Last updated: 2020-12-09 © Copyright International Business Machines Corporation 2019. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents About this document............................................................................................vii Where to find more information...................................................................................................................x z/OS Basic Skills in IBM Knowledge Center...........................................................................................x Technical support........................................................................................................................................ xi How to send your comments to IBM.......................................................................................................... xi If you have a technical problem............................................................................................................ xi Chapter 1. Compiling and linking applications........................................................ 1 Invoking the compiler.................................................................................................................................. 1 Command-line syntax............................................................................................................................ 1 Types of input files....................................................................................................................................... 2 Types of output files.....................................................................................................................................3 Specifying compiler options........................................................................................................................ 3 Specifying compiler options on the command line............................................................................... 4 Specifying compiler options in a configuration file................................................................................4 Specifying compiler options in program source files............................................................................ 4 Resolving conflicting compiler options.................................................................................................. 5 Preprocessing...............................................................................................................................................5 Directory search sequence for included files........................................................................................ 6 Linking.......................................................................................................................................................... 7 Order of linking....................................................................................................................................... 8 Compiler messages and listings.................................................................................................................. 8 Compiler messages................................................................................................................................ 8 Return codes...........................................................................................................................................9 Compiler listings...................................................................................................................................10 Chapter 2. Configuring compiler defaults..............................................................11 Setting environment variables...................................................................................................................11 Compile-time and link-time environment variables............................................................................11 Runtime environment variables...........................................................................................................11 Using custom compiler configuration files................................................................................................11 Creating custom configuration files..................................................................................................... 12 Editing the default configuration file......................................................................................................... 14 Configuration file attributes................................................................................................................. 14 Chapter 3. Compiler options reference................................................................. 17 Summary of compiler options by functional category..............................................................................17 Output control...................................................................................................................................... 17 Input control.........................................................................................................................................18 Language element control................................................................................................................... 18 Template control (C++ only)................................................................................................................ 19 Floating-point and integer control....................................................................................................... 20 Object code control.............................................................................................................................. 20 Error checking and debugging............................................................................................................. 20 Listings, messages, and compiler information.................................................................................... 23 Optimization and tuning.......................................................................................................................24 Linking...................................................................................................................................................25 Portability and migration......................................................................................................................25 Compiler customization....................................................................................................................... 25 Individual option descriptions...................................................................................................................26 iii -# (pound sign).....................................................................................................................................27 -+ (plus sign) (C++ only).......................................................................................................................28 -C...........................................................................................................................................................28 -c...........................................................................................................................................................29 -D.......................................................................................................................................................... 30 -E...........................................................................................................................................................31 -e...........................................................................................................................................................32 -F...........................................................................................................................................................33 -g...........................................................................................................................................................34 -I........................................................................................................................................................... 35 -L........................................................................................................................................................... 36 -l............................................................................................................................................................37 -M..........................................................................................................................................................38 -MD....................................................................................................................................................... 38 -MF........................................................................................................................................................39