On Fri, 2 Nov 2018 at 11:11, Jonathan Wakely wrote: > > On Tue, 30 Oct 2018 at 02:16, John Carter wrote: > > > > https://gcc.godbolt.org/z/6c4QLO > > > > Something changed between gcc 4.1 and 4.4 > > I think this changed with https://gcc.gnu.org/r143570 to fix > https://gcc.gnu.org/PR38615 > > See https://gcc.gnu.org/ml/gcc/2008-11/msg00201.html and > https://gcc.gnu.org/ml/gcc/2008-11/msg00202.html for a more complete > explanation of why the 4.1 behaviour is non-conforming and had to be > fixed. > > If you use -fmerge-all-constants you get the old behaviour back, but > as noted in the manual that option makes the program non-confirming. s/non-confirming/non-conforming/ > If your program doesn't rely on stack variables having distinct > addresses in recursive calls, you can probably use that option safely.