Code: Select all
Referring to the "OpenVMS x86-64 VSI C++ Release Notes Version:
230731"), and the compiler it came with...
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1. CXX fails to preserve case of its own command line (assuming
SET PROCESS /PARSE_STYLE = EXTENDED).
> All message IDs should be given to CXX as they are in double quotes to
> preserve the case. This is true for the keyword "all" as well.
If the C++ compiler preserved the case of _its_ command line, would I
be able to omit the quotation marks in, say:
/warning = disable = ("dangling-else", "switch")
?
Are there any messages which differ only in case, making a
case-insensitive comparison defective (now) or dangerous (some day)?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. /NAMES default "not [...] like all other OpenVMS compilers".
> The compiler does not automatically upcase external names like all
> other OpenVMS compilers. [...]
The advantage of being "not [...] like all other OpenVMS compilers"
in this respect escapes me. Especially when it complicates my
multi-architecture builders, where I now need to specify /NAMES
explicitly everyplace, or else add architecture-specific qualifiers on
x86_64.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3. Expected Predefined_Macros not defined.
ITS $ cc decc_ver.c /obj = decc_ver_i
ITS $ cxx dec_ver.cpp /obj = dec_ver_i
ITS $ link dec_ver_i, decc_ver_i
ITS $ run dec_ver_i
__VMS_VERSION: >V8.4-2L3<.
__VMS_VER = 80421222.
__DECC_VER = 70490001.
__DECCXX_VER = 70490005.
__CRTL_VER = 80500000.
V87 $ cc decc_ver.c /obj = decc_ver_x
V87 $ cxx dec_ver.cpp /obj = dec_ver_x /names = uppercase ! Grrr.
V87 $ link dec_ver_x, decc_ver_x
V87 $ run dec_ver_x
__VMS_VERSION: (undefined). [<--]
__VMS_VER = 2147483647. [<--]
__DECC_VER = 70430785.
__DECCXX_VER = (undefined). [<--]
__CRTL_VER = 90210000.
Regarding __DECCXX_VER:
V87 $ cxx /version
clang version 10.0.1 (git@bitbucket.org:vms_software/llvm-10.0.1.git c9f5780059da734fc743258839c4cdd956b28d51)
Build date: 07-31-2023
Target: x86_64-OpenVMS
Thread model: posix
InstalledDir: V87$DKA300:[SYS0.SYSCOMMON.][SYSEXE]
That's all interesting, but a single VMS-style version number for
identification would fit better with existing stuff.