Volatile is Necessary

Walter Bays walter at garth.UUCP
Fri Apr 1 06:06:01 AEST 1988


In article <77200028 at uiucdcsp> gillies at uiucdcsp.cs.uiuc.edu writes:
>C is not a multiprocessor systems programming language.  I'm sorry for
>you multiprocessor programmers.  My advice to you is to buy
>hypercubes, write in assembly language, or develop your own language [...]
>You can get what you want by adding a compiler-specific (#pragma type)
>extension, with no loss of generality.  [...]
>THE ONLY reason to keep it in the language is if you can argue it's
>important for uniprocessing.  [...]

I agree that C is a poor language for multiprocessors, though I'd
probably choose Ada over assembler.  I'm not concerned with
multiprocessors.  I am concerned with a C compiler that can generate
highly optimized code for 95% of application programs without fear of
generating incorrect code for systems programs, or for 5% of programs
with dangerous use of pointers and signals.  Yes, a #pragma would work
just fine.  So would a 'cc -Passed_Lint', but it would be nice if the
same mechanism worked on any UNIX machine, and great if it also worked
on non-UNIX machines.  You're right that, for standards, simpler is
better (another reference to Ada :-).  Maybe this is a POSIX issue
rather than a C issue.
-- 
------------------------------------------------------------------------------
Any similarities between my opinions and those of the
person who signs my paychecks is purely coincidental.
E-Mail route: ...!pyramid!garth!walter
USPS: Intergraph APD, 2400 Geng Road, Palo Alto, California 94303
Phone: (415) 852-2384
------------------------------------------------------------------------------



More information about the Comp.lang.c mailing list