[gnu.gcc.bug] volatile functions.

paul@UUNET.UU.NET (Paul Hudson) (02/13/89)

While I think the addition of a method of telling the compiler that a
function does not return is a step forward, the syntax chosen for it
is bad.

"Const" functions are OK - there's an obvious way in which a function which
returns the same results each time it is called with the same arguments is
constant.

But there isn't an intuitive way that a function that does not return is
"volatile". I get the impression this was chosen because it's a qualifier
to types so slotted in without too many changes, and it didn't mean a new 
keyword, but this really isn't enough. The (English) connotations of the word
should have some connection with it's semantics, and currently this isn't so.

Please consider changing it, even at the cost of a new keyword.

(Two remarks on const functions: are the restrictions on arguments enforced?
Surely a const pointer to const data is an acceptable arg to a const function.
If this isn't allowed, one can't for instance write a binary-table lookup
function as a const function, if the table is to be an arg).


Paul Hudson 

Snail mail: Monotype ADG	Email:	...!ukc!acorn!moncam!paul
	    Science Park,		paul@moncam.co.uk
	    Milton Road,	"Sun Microsysytems:
	    Cambridge,		 The Company is Arrogant (TM)"
	    CB4 4FQ