[Info-vax] GCC for VMS, was: Re: fortran compiler roadmap?

glen herrmannsfeldt gah at ugcs.caltech.edu
Mon Apr 29 15:34:53 EDT 2013


Bob Koehler <koehler at eisner.nospam.encompasserve.org> wrote:
> In article <kl9f6m$lbg$1 at speranza.aioe.org>, glen herrmannsfeldt <gah at ugcs.caltech.edu> writes:
 
>> I mostly never used Hollerith constants. The IBM OS/360 
>> compilers allowed apostrophed constants in the places where
>> Hollerith constants were allowed. 
 
>   Although we had OS/360, we were using IBM FORTRAN H Extended
>   Enchanced from a 370.  (I assume one of the compiler flags told
>   it to generate only 360 compatable code.)

I beleive it always generates 360 compatible code, if you give it
360 compatible input. (That is, no alignment violations.)

Note that extended precision floating point, one of the special 
features of H extended, was first available on the 360/85.
Then software routines to emulate the instructions where supllied
for other 360 models. (And DXR for all models.)
 
>   That, and the compiler on our Xerox Sigma 7, are the only places
>   I've ever seen Hollerith constants in anybody's code.  I think
>   both of them allowed Hollerith constans in assignment statements.

I am pretty sure IBM, at least Fortran G and H didn't. The DEC
compilers I believe allowed it. I remember a lot of DATA statements
to get those values into my programs.
 
>   What drove me nuts, when porting code from the IBM to VMS, was all
>   the places where character strings had been encoded as the hex values
>   of the EBCDIC characters.  Had to look up the EBCDIC characters, then
>   replaced them with quoted strings which all our compilers were happy
>   with.

The (man) modules of the PL/I (F) compiler have comments indicating that
they are either (1) independent of the character set used to assemble
them, or that (2) if assembled in a different character set, they well
work in that character set. 

I once had C source for a S/370 disassembler, and tried to compile
it on an ASCII machine. There is no way to tell an ASCII C compiler to
compile EBCDIC character constants. Hex constants would have worked.

-- glen



More information about the Info-vax mailing list