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

Reply via email to