Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Metal C and System Programming C (SPC)

Skip to first unread message

Steve Comstock

unread,
May 31, 2011, 3:49:19 PM5/31/11
to
Are these two products essentially the same? I'm
thinking Metal C is the XL C version and SPC is
from an earlier C compiler (maybe even pre-z/OS),
but I can't find any confirmation. Anyone know
the answer to this bit of trivia?

Thanks.


--

Kind regards,

-Steve Comstock
The Trainer's Friend, Inc.

303-393-8716
http://www.trainersfriend.com

* To get a good Return on your Investment, first make an investment!
+ Training your people is an excellent investment

* Try our new tool for calculating your Return On Investment
for training dollars at
http://www.trainersfriend.com/ROI/roi.html

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to list...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Sam Siegel

unread,
May 31, 2011, 3:56:02 PM5/31/11
to
On Tue, May 31, 2011 at 12:47 PM, Steve Comstock
<st...@trainersfriend.com>wrote:

> Are these two products essentially the same? I'm
> thinking Metal C is the XL C version and SPC is
> from an earlier C compiler (maybe even pre-z/OS),
> but I can't find any confirmation. Anyone know
> the answer to this bit of trivia?
>
> Thanks.
>
>

METAL C permits coding inline assembler. I don't think SPC catered to
that.

Tony Harminc

unread,
May 31, 2011, 3:56:28 PM5/31/11
to
On 31 May 2011 15:47, Steve Comstock <st...@trainersfriend.com> wrote:
> Are these two products essentially the same? I'm
> thinking Metal C is the XL C version and SPC is
> from an earlier C compiler (maybe even pre-z/OS),
> but I can't find any confirmation. Anyone know
> the answer to this bit of trivia?

No - Metal C generates assembler language statements; SPC C generates
object decks. I have no knowledge of how they differ under the covers,
but unlike SPC, Metal C does not support e.g. the "generate backlevel
instructions" options, and does support inline assembler statements,
so it sounds as though there are quite different paths, presumably
with some common code.

Tony H.

John Weber

unread,
May 31, 2011, 4:05:51 PM5/31/11
to
Can POSIX be set to 'ON' while running CICS/TS V3.1?

We have a callable module in 'C' that access threads.

Thank you...

Steve Comstock

unread,
May 31, 2011, 4:22:01 PM5/31/11
to
On 5/31/2011 1:55 PM, Tony Harminc wrote:
> On 31 May 2011 15:47, Steve Comstock<st...@trainersfriend.com> wrote:
>> Are these two products essentially the same? I'm
>> thinking Metal C is the XL C version and SPC is
>> from an earlier C compiler (maybe even pre-z/OS),
>> but I can't find any confirmation. Anyone know
>> the answer to this bit of trivia?
>
> No - Metal C generates assembler language statements; SPC C generates
> object decks. I have no knowledge of how they differ under the covers,
> but unlike SPC, Metal C does not support e.g. the "generate backlevel
> instructions" options, and does support inline assembler statements,
> so it sounds as though there are quite different paths, presumably
> with some common code.
>
> Tony H.

OK, thanks. One further clarification then: is SPC available
as part of the current XL C/C++ compiler, or is it a stand
alone product?


--

Kind regards,

-Steve Comstock
The Trainer's Friend, Inc.

303-393-8716
http://www.trainersfriend.com

* To get a good Return on your Investment, first make an investment!
+ Training your people is an excellent investment

* Try our new tool for calculating your Return On Investment
for training dollars at
http://www.trainersfriend.com/ROI/roi.html

----------------------------------------------------------------------

Farley, Peter x23353

unread,
May 31, 2011, 5:53:36 PM5/31/11
to
> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:IBM-...@bama.ua.edu] On
> Behalf Of Steve Comstock
> Sent: Tuesday, May 31, 2011 4:13 PM
> To: IBM-...@bama.ua.edu
> Subject: Re: Metal C and System Programming C (SPC)
>
> On 5/31/2011 1:55 PM, Tony Harminc wrote:
> > On 31 May 2011 15:47, Steve Comstock<st...@trainersfriend.com> wrote:
> >> Are these two products essentially the same? I'm
> >> thinking Metal C is the XL C version and SPC is
> >> from an earlier C compiler (maybe even pre-z/OS),
> >> but I can't find any confirmation. Anyone know
> >> the answer to this bit of trivia?
> >
> > No - Metal C generates assembler language statements; SPC C generates
> > object decks. I have no knowledge of how they differ under the covers,
> > but unlike SPC, Metal C does not support e.g. the "generate backlevel
> > instructions" options, and does support inline assembler statements,
> > so it sounds as though there are quite different paths, presumably
> > with some common code.
> >
> > Tony H.
>
> OK, thanks. One further clarification then: is SPC available
> as part of the current XL C/C++ compiler, or is it a stand
> alone product?

Steve, AFAIK SPC and Metal C are all part of the same product. The SPC documentation is part of the XL C/C++ documentation as well, even though the Metal C docs are separate. The JCL EXEC statement to execute (whatever)C is all the same, EXEC PGM=CCNDRVR, and the STEPLIB's are also the same. The PARM controls what version you actually run.

Tony, I'm not so sure about your statement that Metal C does not support "generate backlevel instructions". It seems to me that using PARM='ARCH(0),TUN(0)' would produce "backlevel" instructions from any of the C compiler outputs, would it not?

Peter
--

This message and any attachments are intended only for the use of the addressee and
may contain information that is privileged and confidential. If the reader of the
message is not the intended recipient or an authorized representative of the
intended recipient, you are hereby notified that any dissemination of this
communication is strictly prohibited. If you have received this communication in
error, please notify us immediately by e-mail and delete the message and any
attachments from your system.

Tony Harminc

unread,
May 31, 2011, 8:29:16 PM5/31/11
to
On 31 May 2011 17:52, Farley, Peter x23353 <Peter....@broadridge.com> wrote:

> Steve, AFAIK SPC and Metal C are all part of the same product.  The SPC documentation is part of the XL C/C++ documentation as well, even though the Metal C docs are separate.  The JCL
> EXEC statement to execute (whatever)C is all the same, EXEC PGM=CCNDRVR, and the STEPLIB's are also the same.  The PARM controls what version you actually run.

I suspect that program name CCNDRVR says what it is doing, and that
there are underlying different versions of the compiler. Or maybe it
is just a JCLish front end, like c89 for the UNIX environment.
Regardless...

> Tony, I'm not so sure about your statement that Metal C does not support "generate backlevel instructions".  It seems to me that using PARM='ARCH(0),TUN(0)' would produce "backlevel"
> instructions from any of the C compiler outputs, would it not?

One would think so, and I thought the manual said so too. But it
doesn't work - specifying ARCH(0) (or anything else lower than the
default 5) gets a friendly
CCN0790(S) Options "METAL" and "ARCHITECTURE(0)" are in conflict.

What the book says is that

METAL disables:
DLL
RENT
XPLINK
IPA
HOT
DFP

METAL sets the following as defaults:
ARCH(5)
TUNE(5)
CSECT
HGPR(PRESERVE)
FLOAT(IEEE)
NOLONGNAME
NODEBUG(FORMAT(DWARF),NOHOOK,SYMBOL)

METAL ignores the following:
TARGET
INLRPT
GOFF
INLINE when OPTIMIZE(0) is in effect
All suboptions of INLINE

So when it says "sets the following as defaults", I assumed they could
be overridden, but it seems not. Perhaps it should say "METAL forces
the following"... Or maybe it's almost right, and it's only downlevel
code generation they don't do. I haven't played with other
combinations of the "sets the following as defaults" group.

Tony H.

Prasanth S

unread,
Jun 15, 2011, 11:30:46 AM6/15/11
to
Hi Steve,

Got from a documentation:

"The z/OS C/C++ compiler also provides a facility that gives you a way
of writing C code that doesn't run under Language Environment, which
is handy for replacing HLASM exits with C code. It's called the
Systems Programming Facility (SPC) for z/OS releases prior to z/OS
1.9, and Metal C for z/OS 1.9 and later.
Note that using this facility only gives you a subset of the runtime
library functions. You can find out more in the IBM z/OS XL C/C++
Programming Guide (for SPC) or the z/OS Metal C Programming Guide and
Reference (for C Metal)"

And V1R12 release of Z/OS does support RENT for Metal C.

regards,
Prasanth S

On May 31, 9:49 pm, st...@TRAINERSFRIEND.COM (Steve Comstock) wrote:
> Are these two products essentially the same? I'm
> thinking Metal C is the XL C version and SPC is
> from an earlier C compiler (maybe even pre-z/OS),
> but I can't find any confirmation. Anyone know
> the answer to this bit of trivia?
>
> Thanks.
>
> --
>
> Kind regards,
>
> -Steve Comstock
> The Trainer's Friend, Inc.
>

> 303-393-8716http://www.trainersfriend.com


>
> * To get a good Return on your Investment, first make an investment!
>    + Training your people is an excellent investment
>
> * Try our new tool for calculating your Return On Investment
>      for training dollars at
>    http://www.trainersfriend.com/ROI/roi.html
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,

> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO

0 new messages