On 31/05/2021 9:02 pm, Linda Chui wrote:
On Fri, 30 Apr 2021 07:17:29 +0800, David Crayford <[email protected]> wrote:
On 30/04/2021 4:30 am, Charles Mills wrote:
Hmmm. I shared David's impression but http://publibfp.dhe.ibm.com/epubs/pdf/i1357010.pdf
lists LE as a "Target System Mandatory Operational Requisite."
The xlclang++ compiler is IBMs fork of LLVM which uses the clang front
end to produce intermediate code for the TOBY back-end. That is part of
the XL C/C++ compiler and relies on LE.
This is different. If you read the link again IBM clearly state they are
porting the open source LLVM/Clang with the libc++ runtime. This is not
LE. You can see that IBM are already commiting changes
to LLVM. This is open source stuff
https://reviews.llvm.org/rGcb2d2ae56ae3f0554c40c2d7f231ca5058e4d50c
Charles
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf
Of Linda Chui
Sent: Thursday, April 29, 2021 12:11 PM
To: [email protected]
Subject: Re: Meta languages [was: RE: Assembler Language Programming for IBM
System z Servers]
On Thu, 8 Apr 2021 18:27:06 +0800, David Crayford <[email protected]> wrote:
On 6/04/2021 9:53 pm, Charles Mills wrote:
You don't use templates
I certainly do use templates. Not sure how you get "don't use templates" from what I
wrote. Heck, I *over* used templates in the first large C++ project I ever did, and boy, does that
make a mess! Now I think I am down to a happy medium. I don't see them as "competitive"
(in a design sense) with macros.
Overusing as in template meta-programming?
https://en.wikipedia.org/wiki/Template_metaprogramming
The XL C++ compiler is withering on the vine. The word is that IBM don't
the resources to keep it up to date with the current standards so the
xlclang++ port of clang using the existing Toby back-end is the way to
go. If you use PDS data sets for your source your SOL as it's z/OS UNIX
only and only produces 64-bit modules.
But what I find exciting is that IBM have stated their intentions to
fully port LLVM/clang/libc[++] to z/OS without a reliance on LE so
supervisor state programming in C++ will be a reality without the
nightmare of LE ESPIE/ESTAE condition handlers.
https://lists.llvm.org/pipermail/llvm-dev/2020-June/142174.html
Charles
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf
Of David Crayford
Sent: Tuesday, April 6, 2021 5:15 AM
To: [email protected]
Subject: Re: Meta languages [was: RE: Assembler Language Programming for IBM
System z Servers]
On 6/04/2021 1:23 am, Charles Mills wrote:
But IMHO none easy to learn or use.
I am generally not a fan of meta languages at all. I think writing programs is
hard enough, without having to write two effective programs: one that runs at
compile time and one that runs at run time.
In my C++, which is now my primary language, I eschew the use of C macros as
much as reasonably possible. Reasonableness is a key here. For a few things,
macros make sense.
That's interesting. You don't use templates which are one the most
powerful features of C++?
Well, I didn't see a reference to LE in our statement of direction at
https://community.ibm.com/community/user/ibmz-and-linuxone/blogs/robert-barrington1/2020/08/04/ibm-cc-and-fortran-compilers-to-adopt-llvm
I believe the compiler will require LE for the foreseeable future, though if
you want to request an LE free mode, I’m sure you can put in a request for it
at the RFE site https://www.ibm.com/developerworks/rfe/
Hope this helps.
Thanks for the clarification. I can see now that the work being commited
is all libc++ but the C library is the system C library which in the
case of z/OS is LE. It's also going to use the Itanium ABI so it won't
be compatible with existing z/OS C++
code. IIRC, that's already the case with the latest release of
xlclang++. It will be interesting to see what comes out of this when
it's ready. Hopefully, anybody will be able to build languages supported
by the LLVM framework such as Rust, Fortran, Ada etc.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
(apologies for late response . I missed seeing the follow on posts :-(
Again, from our dev team:
libc++ under the covers still uses the C runtime, which is still LE. As an
aside, we are shipping libc++ under LE as well so even if there was no C
dependency, there would still be an LE dependency.
Hope this helps.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN