[comp.unix.ultrix] Why has Digital $ in their headerfiles in ultrix?

jh@efd.lth.se (Joergen Haegg) (01/21/91)

Ultrix 4.0.1, vaxstation 2000:

In /usr/include/math.h I found this line:
#if     defined(GFLOAT) || CC$gfloat
                           ^^^^^^^^^

And this is not the only one. Why can't Digital leave $ in VMS
where it belongs?

Gcc complains. And if I look in the C book it says that an identifier
can only be [a-zA-Z_][a-zA-Z_0-9].

Is there a fix for gcc, or is there another way to fix this?
-- 
--
Joergen Haegg				jh@efd.lth.se	postmaster@efd.lth.se
System manager @ efd			046-107492
Lund Institute of Technology		Sweden

diamond@jit345.swstokyo.dec.com (Norman Diamond) (01/23/91)

In article <1991Jan21.152619.2771@lth.se> jh@efd.lth.se (Joergen Haegg) writes:

>Ultrix 4.0.1, vaxstation 2000:
>In /usr/include/math.h I found this line:
>#if     defined(GFLOAT) || CC$gfloat
>                           ^^^^^^^^^
>And this is not the only one. Why can't Digital leave $ in VMS
>where it belongs?

If you find out, please tell me  ;-)

>Gcc complains. And if I look in the C book it says that an identifier
>can only be [a-zA-Z_][a-zA-Z_0-9].

The header file is not designed for gcc.  A vendor is allowed to organize
its standard headers in any manner for use with its compier, as long as it
compiles conforming programs correctly -- the headers don't even have to
exist as files.  Furthermore, a compiler that does not claim ANSI conformance
does not have to do anything at all, though it does more than it has to.
(This is not the company's opinion.)

>Is there a fix for gcc, or is there another way to fix this?

gcc has a "fixincludes" script, but if you intend to continue using the
supplied cc as well, then you don't want to change the headers in
/usr/include.  (This is not the company's opinion.)

My suggestion:
You might create another directory, /usr/gcc_include or something, and
always instruct gcc to search the other directory first.  (I once did this
at another employer.  It was not that company's opinion either.)
--
Norman Diamond       diamond@tkov50.enet.dec.com
If this were the company's opinion, I wouldn't be allowed to post it.

JW_Schilperoort@pttrnl.nl (Schilperoort J.W.) (01/23/91)

jh@efd.lth.se (Joergen Haegg) writes:

>Ultrix 4.0.1, vaxstation 2000:
>
>In /usr/include/math.h I found this line:
>#if     defined(GFLOAT) || CC$gfloat
>                           ^^^^^^^^^
>And this is not the only one. Why can't Digital leave $ in VMS
>where it belongs?

Beats me. While we are on the subject, check out sys/file.h:
	#ifdef KERNEL && !defined(_POSIX_SOURCE)
According to me and to gcc this is garbage.

>Is there a fix for gcc, or is there another way to fix this?

Remove "|| CC$gfloat" from the include files. Alternatively,
copy the files to /usr/local/lib/gcc-include (or whatever) 
and fix it there.

-- 
Sjaak Schilperoort          			JW_Schilperoort@pttrnl.nl
PTT Research Neher Laboratorium			...!hp4nl!dnlunx!sjaak
Leidschendam, Netherlands			schilperoort@hlsdnl5.bitnet

fingerhu@ircam.fr (Michel Fingerhut) (01/24/91)

Norman Diamond asks:
>If you find out [why VMS-like identifiers appear in ultrix], please tell me ;-)

I'd say they intend to merge VMS and Ultrix...  Is this :-) or :-( ?

avolio@decuac.dec.com (Frederick M. Avolio) (01/25/91)

Oh, gee....  The blooming $ junk is in ther I imagine because some sloppy
programmer left it there.  Much s/w in Digital is developed on RISC
platforms (UNIX) and then moved to VMS.  Normally one sees conditional
compiles, etc. that contain VMSisms, but sometimes they slip through 
otherwise.  It is much easier to bend UNIX to accomodate VMS than the
other way around :-)

Fred

brister@decwrl.dec.com (James Brister) (01/26/91)

The idea behind the '$' in VMS tokens/filenames etc. Was that the '$' was
"reserved" to DEC, and therefor wouldn't ever clash with a user or
thrid-paty specified token/filename etc.

Unfortunately, until recently the DEC universe has been revolving around
VMS (now it's a binary star system), so extracting all the VMS'isms from
stuff moved to Ultrix is a lot of work.

James "Who is in NO way speakling for DEC (they don't pay me enough)."
--
James Brister                                           brister@decwrl.dec.com
DEC Western Software Lab., Palo Alto, CA    {uunet,sun,pyramid}!decwrl!brister

meissner@osf.org (Michael Meissner) (01/29/91)

In article <1991Jan21.152619.2771@lth.se> jh@efd.lth.se (Joergen
Haegg) writes:

| Ultrix 4.0.1, vaxstation 2000:
| 
| In /usr/include/math.h I found this line:
| #if     defined(GFLOAT) || CC$gfloat
|                            ^^^^^^^^^
| 
| And this is not the only one. Why can't Digital leave $ in VMS
| where it belongs?
| 
| Gcc complains. And if I look in the C book it says that an identifier
| can only be [a-zA-Z_][a-zA-Z_0-9].
| 
| Is there a fix for gcc, or is there another way to fix this?

Quoting from the GCC manual:


`DOLLARS_IN_IDENTIFIERS'
     Define this to be nonzero if the character `$' should be allowed
     by default in identifier names.
--
Michael Meissner	email: meissner@osf.org		phone: 617-621-8861
Open Software Foundation, 11 Cambridge Center, Cambridge, MA, 02142

Considering the flames and intolerance, shouldn't USENET be spelled ABUSENET?

rusty@belch.Berkeley.EDU (Rusty Wright) (01/30/91)

In article <MEISSNER.91Jan28174015@curley.osf.org> meissner@osf.org (Michael Meissner) writes:

   From: meissner@osf.org (Michael Meissner)
   Subject: Re: Why has Digital $ in their headerfiles in ultrix?
   Date: 28 Jan 91 22:40:15 GMT

   Quoting from the GCC manual:

   `DOLLARS_IN_IDENTIFIERS'
	Define this to be nonzero if the character `$' should be allowed
	by default in identifier names.

Shouldn't that be `DOLLARS$IN$IDENTIFIERS'?

frank@croton.enet.dec.com (Frank Wortner) (01/30/91)

Commercial operating systems are used to make money, therefore
dollar signs are appropriate.  ;-)

					Frank