Re: Metal C and System Programming C (SPC)

2011-05-31 Thread Sam Siegel
On Tue, May 31, 2011 at 12:47 PM, Steve Comstock
st...@trainersfriend.comwrote:

 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.



 --

 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 lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html


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


Re: Metal C and System Programming C (SPC)

2011-05-31 Thread Tony Harminc
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.

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


Re: Metal C and System Programming C (SPC)

2011-05-31 Thread Steve Comstock

On 5/31/2011 1:55 PM, Tony Harminc wrote:

On 31 May 2011 15:47, Steve Comstockst...@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

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


Re: Metal C and System Programming C (SPC)

2011-05-31 Thread Farley, Peter x23353
 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On
 Behalf Of Steve Comstock
 Sent: Tuesday, May 31, 2011 4:13 PM
 To: IBM-MAIN@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 Comstockst...@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.


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


Re: Metal C and System Programming C (SPC)

2011-05-31 Thread Tony Harminc
On 31 May 2011 17:52, Farley, Peter x23353 peter.far...@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.

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


Re: METAL C Source Code Width

2009-11-08 Thread Rob Schramm
Sounds like an opportunity for IBM to make some changes.  I understand 71 
for HLASM.. but 98 seems a bit arbitrary.  Seems like some sort of 
utilization option for HLASM for Metal C might be in order.



IBM Mainframe Discussion List IBM-MAIN@bama.ua.edu wrote on 11/08/2009 
05:46:10 PM:

 [image removed] 
 
 METAL C Source Code Width
 
 Edward Jaffe 
 
 to:
 
 IBM-MAIN
 
 11/08/2009 05:51 PM
 
 Sent by:
 
 IBM Mainframe Discussion List IBM-MAIN@bama.ua.edu
 
 Please respond to IBM Mainframe Discussion List
 
 Just curious what source line width most people are using for METAL 
 C programs. 
 The C compiler supports wider than 80 columns, which is liberating. 
 However, the 
   area on the compiler listing data set (SYSCPRT) is only 98 columns, 
meaning 
 long source lines will wrap, which is ugly. And, the C source is 
 further emitted 
 in the HLASM input as comments, which are truncated after column 
71,which is 
 even uglier. :-(
 
 -- 
 Edward E Jaffe

-Rob Schramm

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


Re: Metal C and CICS

2009-05-08 Thread David Crayford

Bill Klein wrote:

(to IBM-MAIN and CICS lists),

I have asked this off-list but so far can't find an answer.  Can anyone
tell me if Metal C is supported with (works under) CICS or not?

I can imagine that it would be pretty unusual to want this, but as HLASM
(both LE-enabled and not) works with CICS, I was thinking that Metal C may
as well (withOUT the LE CICS run-time libraries).



Metal C will run under CICS with some caveats. Because Metal C generates 
HLASM code it can run anywhere HLASM runs (everywhere). The problem will 
be if you want to use a Metal/C environment, which will attempt to 
allocate storage with a GETMAIN. CICS will obviously choke when that 
happens. Some Metal C runtime functions require an environment, for 
example sprintf().


I would suggest asking z/OS C/C++ questions in the new cafe 
http://www-949.ibm.com/software/rational/cafe/community/ccpp.


BTW, out of interest why would you want to run a Metal C program in CICS 
when LE C does the job just fine?


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


Re: Metal C and CICS

2009-05-08 Thread Paul Gilmartin
On Fri, 8 May 2009 16:01:10 +0800, David Crayford wrote:

Metal C will run under CICS with some caveats. Because Metal C generates
HLASM code it can run anywhere HLASM runs (everywhere).  ...

You neglected to assert the major premise of your syllogism, with
which I believe I disagree:

Any language processor which generates HLASM code can
run anywhere HLASM runs (everywhere).

Going further, any language that produces a SYSLIN file that
can be disassembled to HLASM code can run anywhere HLASM
runs (everywhere).

The devil is in the caveats.  Or in the non sequitur.

-- gil

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


Re: METAL C: CodeGen defeciency?

2009-04-23 Thread Miklos Szigetvari
Let suppose IBM make processors with predicatble instruction speed, no 
heuristics etc , as it had been.

We are back (with assembler) again ?


Interesting that they didn't use XC, isn't it?   If you spend any time
looking at XLC generated code you will see lots of interesting stuff.
Of particular interest is some of the loop unwinding optimizations.
After a while you start to wonder if you should ever write in
assembler again, since only IBM knows what instruction heuristics
slide through the pipelines the best.

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


 



--
Miklos Szigetvari

Development Team
ISIS Information Systems Gmbh 
tel: (+43) 2236 27551 570
Fax: (+43) 2236 21081 

E-mail: miklos.szigetv...@isis-papyrus.com 

Info: i...@isis-papyrus.com 
Hotline: +43-2236-27551-111 

Visit our Website: http://www.isis-papyrus.com 
---

This e-mail is only intended for the recipient and not legally
binding. Unauthorised use, publication, reproduction or
disclosure of the content of this e-mail is not permitted.
This email has been checked for known viruses, but ISIS accepts
no responsibility for malicious or inappropriate content.
--- 


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


Re: METAL C: CodeGen defeciency?

2009-04-23 Thread Thomas David Rivers

Paul Gilmartin wrote:

On Wed, 22 Apr 2009 13:36:13 -0400, Thomas David Rivers wrote:




* setting 14 bytes to 0x00
XC102(14,13),102(13)



You're only trying to help the programmer, but perhaps thereby
thwarting the intent of a deliberate Dirty GETMAIN.




This setting-of-zero is required by the ANSI C standard.
Essentially, if you initialize part of an aggregate (in this
case, an array) the remainder is given zero values.   The array
is defined as having 20 bytes, with only the first 6 being
explicitly initialized by the programmer.

- Dave Rivers -

--
riv...@dignus.comWork: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com

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


Re: METAL C: CodeGen defeciency?

2009-04-23 Thread David Andrews
On Thu, 2009-04-23 at 12:55 -0400, Bill Klein wrote:
 See IBM response

IBM response in quotes, I know.  Whatever influential IBMers are out
there, know that at least one customer *really* appreciates this kind of
give-and-take.

ibm-main is not an official support forum, requirements should be taken
up with SHARE or your business partner, yadda yadda.  I understand all
that.  But I'm grateful for Peter, Jim, John, Greg, Tom, Marna, Martin,
Martha, Kelly -- the list goes on.  Y'all put the face on IBM.

-- 
David Andrews
A. Duda and Sons, Inc.
david.andr...@duda.com

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


Re: METAL C: CodeGen defeciency?

2009-04-23 Thread Kelly Arrey
On Thu, 23 Apr 2009 11:55:18 -0500, Bill Klein wmkl...@ix.netcom.com wrote:

It looks as if Kelly posted this directly to the newsgroup and didn't send
it to the list.

My apologies.  Thanks Bill.

Kel

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


Re: METAL C: CodeGen defeciency?

2009-04-22 Thread Thomas David Rivers

Johnny Luo wrote:

Hi,

I was trying new METAL option of XL C and the following is the HLASM code
generated :

*  {
*char a[20]=12345;
 MVC   88(6,13),0(11)
 MVI   @74a+6,0
 MVC   @74a+7(13),@74a+6
 MVI   @74a+6,0
 MVC   @74a+7(13),@74a+6
*   return;
* }

It initialized the buffer twice! I cannot think of why. Is it normal?





Not to point too many fingers, but since we did it first,
here's what Systems/C did with Johnny's example:

* *
* *** char a[20]=12345;
 LA14,@lit_6_0
 MVC   96(6,13),0(14)
* setting 14 bytes to 0x00
 XC102(14,13),102(13)
* *** return;
* ***   }


- Dave Rivers -


--
riv...@dignus.comWork: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com

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


Re: METAL C: CodeGen defeciency?

2009-04-22 Thread Paul Gilmartin
On Wed, 22 Apr 2009 13:36:13 -0400, Thomas David Rivers wrote:

Johnny Luo wrote:
 Hi,

 I was trying new METAL option of XL C and the following is the HLASM code
 generated :

 *  {
 *char a[20]=12345;
  MVC   88(6,13),0(11)

Is that the actual initialization, in which case the next 4
instructions are incomprehensible?

  MVI   @74a+6,0
  MVC   @74a+7(13),@74a+6
  MVI   @74a+6,0
  MVC   @74a+7(13),@74a+6
 *   return;
 * }

I wouldn't expect it to move 13 characters to assign a 5-character
(well, 6, counting the terminating NUL) in a 20-character buffer.

 It initialized the buffer twice! I cannot think of why. Is it normal?


Not to point too many fingers, but since we did it first,
here's what Systems/C did with Johnny's example:

* *
* *** char a[20]=12345;
  LA14,@lit_6_0
  MVC   96(6,13),0(14)

Wouldn't it work to:
 
   MVC   96(6,13),@lit_6_0

...?  If the LA works you have addressability.  Yah, I know;
I've worked with (simple) code generators.  I probably don't
understand the environmental constraints.  Perhaps as simple
as the optimizer detected a need for R14 subsequently.

* setting 14 bytes to 0x00
  XC102(14,13),102(13)

You're only trying to help the programmer, but perhaps thereby
thwarting the intent of a deliberate Dirty GETMAIN.

* *** return;
* ***   }

-- gil

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


Re: METAL C: CodeGen defeciency?

2009-04-22 Thread Kirk Wolf
On Wed, Apr 22, 2009 at 6:25 PM, Paul Gilmartin paulgboul...@aim.com wrote:
 On Wed, 22 Apr 2009 13:36:13 -0400, Thomas David Rivers wrote:

Johnny Luo wrote:
 Hi,

 I was trying new METAL option of XL C and the following is the HLASM code
 generated :

 *  {
 *    char a[20]=12345;
          MVC   88(6,13),0(11)

 Is that the actual initialization, in which case the next 4
 instructions are incomprehensible?

          MVI   @74a+6,0
          MVC   @74a+7(13),@74a+6
          MVI   @74a+6,0
          MVC   @74a+7(13),@74a+6
 *   return;
 * }

 I wouldn't expect it to move 13 characters to assign a 5-character
 (well, 6, counting the terminating NUL) in a 20-character buffer.


It is initializing the rest of the automatic storage to zeros (twice),
which probably has to do with the compiler options in effect.
I can't say why it is done twice;  seems like a bug to me.

I would suggest that you compile the same thing with the regular XLC
compiler and look at the generated assembler listing to see if it does
the same thing (double zeroing).

Interesting that they didn't use XC, isn't it?   If you spend any time
looking at XLC generated code you will see lots of interesting stuff.
Of particular interest is some of the loop unwinding optimizations.
After a while you start to wonder if you should ever write in
assembler again, since only IBM knows what instruction heuristics
slide through the pipelines the best.

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


Re: Metal C Question (was COBOL Java Ldap and between)

2008-03-05 Thread Edward Jaffe

Rob Schramm wrote:
Does anyone know if the license for the IBM Metal C is more attractive to 
the customers that may have balked at the IBM C/C++ compiler?
  


AFAIK, METAL is an option  not a compiler.

--
Edward E Jaffe
Phoenix Software International, Inc
5200 W Century Blvd, Suite 800
Los Angeles, CA 90045
310-338-0400 x318
[EMAIL PROTECTED]
http://www.phoenixsoftware.com/

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


Re: Metal C Question (was COBOL Java Ldap and between)

2008-03-05 Thread Bob Shannon
AFAIK, METAL is an option  not a compiler

That is correct.

Bob Shannon
Rocket Software

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


Re: Metal C Question (was COBOL Java Ldap and between)

2008-03-05 Thread Rob Schramm
Huh.. well.. I guess I am off to the manual/announcements.  I was under 
the impression that it was separately ordered... not just a part of the 
existing C/C++ offering.  I must have been engaging in wishful thinking.

-Rob Schramm
Sirius Computer Solutions

AFAIK, METAL is an option  not a compiler

That is correct.

Bob Shannon
Rocket Software


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


Re: Metal C

2008-01-31 Thread Edward Jaffe

Tony Harminc wrote:

Then it seems that METAL inhibits use of the ARCH option, so METAL C must
generate code at the ARCH(CURRENT) level, which means it can (and does) use
LARL and the like from the long displacement facility. Well, no, actually it
accepts ARCH(5), which says is the default and generates code at the
z900/z800 level, but it still generates LARL, which I don't believe is
architected at that level.
  


LARL was added to the ESA/390 instruction set implemented on the very 
first machines supporting z/Architecture.


--
Edward E Jaffe
Phoenix Software International, Inc
5200 W Century Blvd, Suite 800
Los Angeles, CA 90045
310-338-0400 x318
[EMAIL PROTECTED]
http://www.phoenixsoftware.com/

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


Re: Metal C (was Re: PL/S ??)

2007-11-02 Thread Tony Harminc
On Fri, 2 Nov 2007 11:28:49 -0500, Scott Fagen [EMAIL PROTECTED] wrote:

The runtime environment is only required if you make use of the services
provided by the runtime environment.  It also doesn't change the fact that
HLASM is what is emitted.  It is not like 'regular' C which cannot execute
without an LE environment and the LE RTL linked with your program.

Let's not forget the System Programming C (SPC) option, which has been
around for many years. This was sold early on as a facility for writing
exits and the like, and indeed it can be used for just about
environment-free programming. It comes with a smaller-than-LE RTL, and you
can provide your own heap and stack management routines. But it emits object
code rather than HLASM statements, so you can't include inline assembler.

Tony H.

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


Re: Metal C (was Re: PL/S ??)

2007-11-02 Thread Scott Fagen
On Fri, 2 Nov 2007 01:24:13 -0500, Bruce Hewson [EMAIL PROTECTED]
wrote:
It does say!


You can use the METAL C option to generate code that
does not have Language Environment runtime dependencies.


And it also says!


Metal C Runtime Library

The Metal C Runtime Library is a new base element of z/OS
and is completely independent of Language Environment.
The library modules are made available in the link pack
area (LPA) during IPL. Both AMODE 31 and 64 are supported,
as long as you are calling the functions in primary
address space control (ASC) mode. The library functions
make use of the default linkage provided by the compiler’s
METAL option, which requires a small contiguous stack that
uses the standard save area convention that z/OS assembler
programmers are familiar with.

The runtime environment is only required if you make use of the services
provided by the runtime environment.  It also doesn't change the fact that
HLASM is what is emitted.  It is not like 'regular' C which cannot execute
without an LE environment and the LE RTL linked with your program.

Scott Fagen
Enterprise Systems Management

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


Re: Metal C (was Re: PL/S ??)

2007-11-02 Thread Scott Fagen
On Fri, 2 Nov 2007 11:55:08 -0500, Tony Harminc [EMAIL PROTECTED] wrote:
Let's not forget the System Programming C (SPC) option, which has been
around for many years. This was sold early on as a facility for writing
exits and the like, and indeed it can be used for just about
environment-free programming. It comes with a smaller-than-LE RTL, and you
can provide your own heap and stack management routines. But it emits object
code rather than HLASM statements, so you can't include inline assembler.

Actually, I _do_ try to forget that g, as you needed to manage and connect
up your own runtime environments to the routines as they got control.  Not
particularly friendly for code that might have high reentrancy requirements
or could execute in any address space (like system exits).

With all due apologies to Anuja,
Scott Fagen
Enterprise Systems Management

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


Re: Metal C (was Re: PL/S ??)

2007-11-02 Thread Edward Jaffe

Tony Harminc wrote:

Let's not forget the System Programming C (SPC) option, which has been
around for many years. This was sold early on as a facility for writing
exits and the like, and indeed it can be used for just about
environment-free programming. It comes with a smaller-than-LE RTL, and you
can provide your own heap and stack management routines. But it emits object
code rather than HLASM statements, so you can't include inline assembler.
  


We use SPC to support products that run in z/OS, z/VSE, and CMS. We have 
our own run-time library.


METAL C looks good, but I haven't seen any SOD about providing its 
LPA-resident library functions in other  (non-z/OS) environments. That 
seems to imply we will be stuck with SPC for the foreseeable future. 
Hopefully, IBM won't do something stupid like desupport it. They've 
already de-emphasized its development to the point where we've had to 
start policing them to be sure they don't mess things up when people 
work on it that don't understand the big picture.


--
Edward E Jaffe
Phoenix Software International, Inc
5200 W Century Blvd, Suite 800
Los Angeles, CA 90045
310-338-0400 x318
[EMAIL PROTECTED]
http://www.phoenixsoftware.com/

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


Re: Metal C (was Re: PL/S ??)

2007-11-01 Thread Bruce Hewson
This was supposed to have a new subject.so I have re-posted...

On Fri, 2 Nov 2007 01:21:16 -0500, Bruce Hewson 
[EMAIL PROTECTED] wrote:

Hello Scott,

The METAL C option does not provide bare metal HL/ASM code. It does 
require
a new z/OS base element which is the run-time library.

your reference:
==
http://www-03.ibm.com/servers/eserver/zseries/zos/metalc


extracts from that page:
==


It does say!


You can use the METAL C option to generate code that
does not have Language Environment runtime dependencies.


And it also says!


Metal C Runtime Library

The Metal C Runtime Library is a new base element of z/OS
and is completely independent of Language Environment.
The library modules are made available in the link pack
area (LPA) during IPL. Both AMODE 31 and 64 are supported,
as long as you are calling the functions in primary
address space control (ASC) mode. The library functions
make use of the default linkage provided by the compiler’s
METAL option, which requires a small contiguous stack that
uses the standard save area convention that z/OS assembler
programmers are familiar with.





On Thu, 1 Nov 2007 17:45:26 -0500, Scott Fagen
[EMAIL PROTECTED] wrote:
snip
Recently, IBM has made something better available:
http://www-306.ibm.com/software/awdtools/czos/features/czosv1r9.html

Look for METAL option.

Scott Fagen
Enterprise Systems Management


Regards
Bruce Hewson


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