http://osr600doc.sco.com/en/man/html.CP/cc.CP.html#cc_preassertion
Is where the predefined constants for the builtin cc are listed. Do we
need to support a possible future port of clang to SCO OpenServer when
OpenServer is dead?
Or just make it work with the current compilers available? (SCO's cc and
GCC)
On 10/3/20 9:48 PM, Bruno Haible wrote:
Tim Rice wrote:
Hi Bruno,
On Sat, 3 Oct 2020, Bruno Haible wrote:
Tim Rice wrote:
+# elif defined __SCO_VERSION__ /* SCO OpenServer/UnixWare */
While __SCO_VERSION__ covers Openserver 6 and UnixWare 7,
what is normally used for 6 and 7 is __USLC__ for the native compiler
and __sysv5__ for gcc
Ie.
# elif defined __USLC__ || defined __sysv5__
If the code depends only on the operating system, let's use a #if for
the operating system, not for the compilers (__USLC__). Because the day
clang gets ported to that operating systems, the condition would not
work any more.
https://sourceforge.net/p/predef/wiki/OperatingSystems/ says that
_SCO_DS can be used to test for SCO OpenServer. It seems that you say that
__SCO_VERSION__ works as well. So let's use one of these.
As to __SCO_VERSION__ vs __USLC__ for native compiler, I am fine
with __SCO_VERSION__ in this case.
Good.
_SCO_DS is only for Openserver 5 (which the proposed patch will not work for)
and __SCO_VERSION__ only works for the native compiler on OpenServer 6 and
UnixWare 7. Sorry I did not make that clear before.
__sysv5__ works for the GCC 7.3.0 on 6 and 7. If clang is ported, chances
are extremely high it will also include the __sysv5__ manifest define.
OK. And what about __UNIXWARE__ and __OPENSERVER__ that I see being used [1]?
On which versions are they defined?
As it starts to get confusing, maybe you can clarify things by filling in this
table?
| OpenServer 5 | OpenServer 6 | UnixWare 7 |
| | | |
| native | gcc | native | gcc | native | gcc |
| | | | | | |
----------------+---------+--------+---------+-------+---------+-------+
_SCO_DS | | | | | | |
| | | | | | |
__SCO_VERSION__ | | | | | | |
| | | | | | |
__UNIXWARE__ | | | | | | |
| | | | | | |
__OPENSERVER__ | | | | | | |
| | | | | | |
__sysv5__ | | | | | | |
----------------+---------+--------+---------+-------+---------+-------+
Bruno
[1]
https://opensource.apple.com/source/X11misc/X11misc-10.1/makedepend/makedepend-1.0.1/imakemdep.h.auto.html