On Tue, 25 Oct 2016 16:49:46 -0700, Charles Mills wrote:
>
>Yeah, I could test the basic issues but I am wondering if anyone is doing
>this extensively and "happy with it." What are the gotchas? Those are tough
>questions to answer via experimentation.
>
It's purportedly supported. IBM has fixed all the problems I reported
but overhead and latency has been a PITA.
>Is anyone using HFS files as their main repository of source code input to
>and/or object code output from HLASM? The HLASM manuals are strangely silent
>on the issues:
>
>- Is the assembler "happy" with serial UNIX file type input, with records of
>varying lengths up to but not exceeding 80?
>
Yes. Use RECFM=FB,LRECL=80,FILEDATA=TEXT. (FILEDATA=BINARY might
work if the data are formatted that way.)
>- How about SYSLIB? I know technically a USS directory can satisfy BPAM --
>is HLASM happy with directories as libraries? Does it work if you
>concatenate your own HFS directory(ies) to SYS1.MACLIB and the like?
>- How about output? Does SYSLIN output to a USS folder seem to work out?
>
I've had a couple problems with this, both fixed by APAR, both occurring
with nested COPY instructions (macros are effectively not nested) and
references between HFS and CKD.
o POINT didn't get back to the place of the NOTE. This could be masked
if BLKSIZE>size of member. Support tried to tell me, "Don't use
BLKSIZE=80." I argued and won.
o ABENDs because of storage key incompatibility between HFS and CKD.
Since then, we converted largely to a cross-assembler. I haven't checked
for regression lately.
In Binder SYSLIB, HFS directories must not be concatenated; they must
appear solitaire. But you can use multiple DDNAMEs:
//LINK EXEC PGM=IEWL,PARM=CASE(MIXED)
INCLUDE HFS1(foo)
INCLUDE HFS2(bar)
INCLUDE CKDCAT(WOMBAT)
In Binder SYSLIN (and SYSLIB?) FILEDATA=TEXT is ignored; it is quietly
overridden to BINARY. (I tried this with SYSLIN containing only commands,
no SYSPUNCH.) I submitted an RCF on this. Pubs complained bitterly,
"Everyone ought to know that!" I argued; I think I won, but I haven't
checked the doc recently.
>Why do I ask? I have C code in HFS and assembler code in PDSEs and the
>"management" details are a little incompatible. Not hopelessly so, but
>somewhat. It might make sense to consolidate the high level structure.
>
If you're perversely clever, you can interleave control block definitions:
#define MACRO /* nothing */
#include <structure.h>
and in structure.h (untested):
MACRO /*
&L WOMBAT &ARG
*/ struct wombat { /*
NUM DS F
*/ long num; /*
MEND
*/ }
... if you want to do that sort of thing.
cc/c99/xlc will invoke HLASM for filename extension ".s".
But I found that SYSPARM is forced to upper case. (Why?)
-- gil
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN