What is new in Release 1.80 of Systems/C++
-fpack
option to specify per-compilation structure member
alignment. #include
files from PDS members under
OpenEdition. -frsa=NNN
to provide the user a mechanism for
defining the per-function register-save-area. -fc370=z1r2
i (or
later) is enabled. "OS"
and extern "PLI"
linkages. long double
) data type. -march=esa390
option; causes the compiler to use halfword
immediate instructions, use string instructions and to assume 16 floating-pt
registers. Enabled by default with -flinux
is specified. For other enhancements to the utilities and runtime library, see the DCC "whatsnew" description.
What is new in Release 1.76 of Systems/C++
What is new in Release 1.75 of Systems/C++
__rent
and __norent
keywords
applied to data. -march=zarch
is specified, the compiler will predefine the
macro _LP64
to 1; otherwise, it defines the _ILP32
macro to 1. -fc370
is not specified, the compiler recognizes #pragma
pack(pop)
as a equivalent to #pragma pack(reset)
. LNAMEADDR=
parameter was added to
DCCPRLG
which provides the label for this string. This allows the
string to be as long as necessary, and contain any required bytes, and also be
properly demangled in the C++ case. With this change, the results of a call to
__traceback
are much better. -fc370=z1r2
option, to indicate compatibility with the
IBM V1R2 z/OS compiler. -fptr_to_unsized_array_parm
option, to allow for
compatibility with compilers that incorrectly allow this in C++ source (e.g.
SAS/C++ and Microsoft.) For enhancements to the utilities and runtime library, see the DCC "whatsnew" description.
What is new in Release 1.70 of Systems/C++
This allows version 1.70 of Systems/C++ to provide much better management of automatic template instantiation; without the need for "side files", or bloated executables.
-finstrument_functions
option. For Linux (-flinux
),
this decorates function entry/exit points compatibly with the normal Linux
utilities. In Systems/C mode, this causes macros to be generated a function
entry/exit points. -fstructmap
/-fno_structmap
option to enable/disable
the "structure map" portion of the listing. -fasmcomm
option in the C++ compiler, which describes how
the original C++ lines should appear in the generated assembler output. -fasmlnno
option in the C++ compiler. This causes the
codegenerator to generate comments detailing the line number in the generated
assembler source. -fflex
, -fmin_lm_reg=X
and -fmin_stm_reg=X
options in the C and C++ compiler. These control peepholing of consecutive
Load/STore instructions. On the FLEX/ES(tm) system, LM and STM instructions
can perform slower than the sequence of L/ST instructions. -fopts[=macro]
and -fendmacro[=text]
option
in the C++ compiler. -fexportall
option in C++ compiler (in IBM mode.) -fdollar
option in the C++ compiler - allows '$' in
identifiers. What is new in Release 1.65 of Systems/C++
#if 0 or 1
#pragma ident
and #ident
which place
text characters into the generated object. -O
option to engage optimizations. What is new in Release 1.60 of Systems/C++
As well as the new features of the C compiler , Systems/C++ V1.60 provides the following enhancements
-fquiet
option, which suppresses the banner messages -march=zarch
option: extern "align4"
linkage for C++ -famode=any
to support using Grande instructions and 64-bit
integers/pointers when the execution AMODE may not be 64-bits. __ptr31
/__ptr64
pointer type qualifiers, for
specifically declaring 32 (31) bit or 64 bit pointers, no matter what type of
code is being compiled. -fc99
not enabled -fc370
now supports the following IBM builtin functions:
alloca
, tsched
, cs
, cds
.
Thus, all of the documented IBM C builtin functions are now supported. export
supported in IBM compatiblity mode -flinux
mode. C and C++ code compiled with -flinux
is now directly
debuggable by the Linux debugger gdb. -fpic
and -fPIC
for Linux/390 and
z/Linux.