[Info-vax] C99 stuff (Re: The Road to V9.0)

Craig A. Berry craigberry at nospam.mac.com
Thu Sep 5 18:45:01 EDT 2019


On 9/5/19 3:59 PM, Richard Levitte wrote:

> It's quite possible that we will still see a DEC C *front end*, but
> I've so far gotten the impression that it's going to be clang+LLVM
> underneath.

As I understand it, there will be no clang in the supported compilers
initially except for C++, which will be clang++ from the get-go (because
it's easier [but not easy] than bringing the existing C++ compilers
up-to-date and a gazillion dollars cheaper than licensing something from
Intel as was done for Itanium).

There will be the same front ends we have now with a special magic box
that converts GEM intermediate representations to LLVM intermediate
representations and then lets LLVM generate the machine code.  Except
for MACRO-32, which will talk to LLVM more directly.

At some point there will be a SYS$SYSTEM:CLANG.EXE, and my impression
from something John R. said is it will be part of the base operating
system, but that doesn't mean he won't be overruled by management and
you'll have to buy C++ to get it.

LLVM will have to be there, but how much documentation and support will
be available is an open question, though presumably the open source
documentation would be enough to do a lot of things for those determined
enough.

I would be surprised if the GEM-to-LLVM translator became a documented
and supported product, so if anyone was hoping, for example, that PL/I
might come back from the dead by accident, it probably won't.  It could
come back on purpose, of course, for those with the will and the way and
the intellectual property access to make it happen.

I believe it remains to be seen which of the VMS-specific pragmas will
make it into clang, and there is no plan to support VMS-style command
qualifiers for all of the clang switches, but nor is there any plan to
remove any switches.  So the clang commands that work on other platforms
should work on VMS.

A separate but related question is how much of the C code in VMS could
be made to compile under clang for purposes of using ASAN and other
modern tools to analyze it.  Some of those things might be possible with
LLVM only and not clang -- I'm not sure where all the dividing lines
are.  But there are almost certainly lots of bugs in VMS and layered
products that could be squashed more effectively with the things that
these tools catch.





More information about the Info-vax mailing list