Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site lll-crg.ARpA Path: utzoo!watmath!clyde!burl!ulysses!ucbvax!ucdavis!lll-crg!brooks From: brooks@lll-crg.ARpA (Eugene D. Brooks III) Newsgroups: net.lang.c Subject: Type modifiers in C Message-ID: <943@lll-crg.ARpA> Date: Fri, 25-Oct-85 23:52:19 EDT Article-I.D.: lll-crg.943 Posted: Fri Oct 25 23:52:19 1985 Date-Received: Sat, 26-Oct-85 19:08:48 EDT Organization: Lawrence Livermore Labs, CRG, Livermore Ca Lines: 26 Keywords: volatile const In considering some new type modifiers that are useful for multiprocessing one needs to consider how type modifiers fit in the ANSI standard. Could someone explain all the details of what you might do with for example the volatile type modifier. For instance does volatile int foo; /* Mean that the int foo is volatile. */ int * volatile bar; /* Mean that bar is a non volatile pointer to a volatile int. */ int * volatile cat(); /* Mean that cat returns a pointer to a volatile int. */ volatile int cat(); /* What does this mean? */ volatile int * dog; /* Mean that dog is a volatile pointer to a non-volatile int. */ volatile int * volatile fly; /* Mean a volatile pointer to a volatile int. */ The draft of the ANSI standard is rather sketchy here and understanding the semantics clearly would allow one to figure out what to do for the type modifiers that are being considered. Thanks, Eugene