------- Comment #3 from jakub at gcc dot gnu dot org 2009-09-23 10:41 ------- r152018 seems to change generated code even on: /* { dg-options "-O2 -m32 -fno-inline -mtune=generic" } */
struct S { const char *s1; int s2; char s3; }; static struct S s; static inline const char * bar (void) { s.s3 = 0; return s.s1; } const char * foo (void) { return bar (); } In bar %esi is saved, even when clearly no nested functions are involved. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41436