Path: utzoo!yunexus!telly!attcan!uunet!tut.cis.ohio-state.edu!ATHENA.MIT.EDU!raeburn From: raeburn@ATHENA.MIT.EDU (Ken Raeburn) Newsgroups: gnu.gcc.bug Subject: volatile function parameters Message-ID: <8902151014.AA08995@MULTICS.MIT.EDU> Date: 15 Feb 89 10:14:48 GMT Article-I.D.: MULTICS.8902151014.AA08995 Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 15 GCC moves outside the loop the references to the variable "xyzzy" in the following file: extern save_address_of_flag (volatile int *); void foo ( volatile int xyzzy) { save_address_of_flag (&xyzzy); while (xyzzy & 1) ; } If "xyzzy" is made an automatic variable, the problem goes away. -- Ken