ron@topaz.rutgers.edu (Ron Natalie) (10/12/87)
One feature I'd like to see in C (or any other language) is the ability to bind an arbitrary C legal name to an arbitrary machine specific external. For example, if I wanted the machine symbol "foo-bar" I could do something like... equivelence int foo_bar "foo-bar"; -Ron
daveb@geac.UUCP (Dave Collier-Brown) (10/13/87)
In article <15522@topaz.rutgers.edu> ron@topaz.rutgers.edu (Ron Natalie) writes: >One feature I'd like to see in C (or any other language) is the >ability to bind an arbitrary C legal name to an arbitrary machine >specific external. For example, if I wanted the machine symbol >"foo-bar" I could do something like... > > equivelence int foo_bar "foo-bar"; > >-Ron This was implemented in the Waterloo GCOS C compiler (for the Honeywell-Bull DPS-8 and 6). At the time the syntax was (approximatly) "#equivalence foo_bar foo.bar", and later "#pragma equivalence foo_bar foo.bar". I believe this was in response to the standardization effort, but I wasn't the acceptor's bug-fix man by then, so I don't know.... --dave (God's Chosen Operating System is alive and living on the Riviera) c-b -- David Collier-Brown. {mnetor|yetti|utgpu}!geac!daveb Geac Computers International Inc., | Computer Science loses its 350 Steelcase Road,Markham, Ontario, | memory (if not its mind) CANADA, L3R 1B3 (416) 475-0525 x3279 | every 6 months.
karl@haddock.ISC.COM (Karl Heuer) (10/13/87)
In article <15522@topaz.rutgers.edu> ron@topaz.rutgers.edu (Ron Natalie) writes: >One feature I'd like to see in C (or any other language) is the ability to >bind an arbitrary C legal name to an arbitrary machine specific external. > equivelence int foo_bar "foo-bar"; Sounds like a good use for "#pragma". Karl W. Z. Heuer (ima!haddock!karl or karl@haddock.isc.com), The Walking Lint
jagardner@orchid.UUCP (10/14/87)
In article <15522@topaz.rutgers.edu> ron@topaz.rutgers.edu (Ron Natalie) writes: >One feature I'd like to see in C (or any other language) is the >ability to bind an arbitrary C legal name to an arbitrary machine >specific external. For example, if I wanted the machine symbol >"foo-bar" I could do something like... > > equivelence int foo_bar "foo-bar"; > >-Ron In our compiler we have #pragma equate foo_bar foo-bar which works like a #define to the parser (ie. the parser converts foo_bar into foo-bar for the code-generator and linker). We also have #pragma alias foo_bar foo-bar so that the object named by foo_bar is given another name, which can be used by a module written in a different language (or by the C library, to avoid conflicts with user defined routines). David Tanguay
john@uw-nsr.UUCP (John Sambrook) (10/14/87)
In article <15522@topaz.rutgers.edu> ron@topaz.rutgers.edu (Ron Natalie) writes: >One feature I'd like to see in C (or any other language) is the >ability to bind an arbitrary C legal name to an arbitrary machine >specific external. For example, if I wanted the machine symbol >"foo-bar" I could do something like... > > equivelence int foo_bar "foo-bar"; > >-Ron > The Data General C compiler can do this. I used it once to get ahold of the `BLANK COMMON' area used by some Fortran routines. If I remember correctly a typical use might be something like: float p[500] $name(".BLNK."); -- John Sambrook Internet: john@nsr.bioeng.washington.edu University of Washington RC-05 UUCP: uw-nsr!john Seattle, Washington 98195 Dial: (206) 548-4386