From c8d86b9a3c933297b47d8ee8616e19fcd47d39d0 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Tue, 31 Mar 1998 16:59:41 +0000 Subject: [PATCH] Fix problem where different code gets generated with/without -Wreturn-type. * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end. From-SVN: r18918 --- gcc/ChangeLog | 4 ++++ gcc/toplev.c | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 89538bd47fd..578fe7234d0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Tue Mar 31 16:57:33 1998 Jim Wilson + + * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end. + Mon Mar 30 13:11:05 1998 Stan Cox * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors): diff --git a/gcc/toplev.c b/gcc/toplev.c index 5fbf36dedba..18ed3324d7c 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -3643,6 +3643,17 @@ rest_of_compilation (decl) init_temp_slots (); + /* Make sure volatile mem refs aren't considered valid operands for + arithmetic insns. We must call this here if this is a nested inline + function, since the above code leaves us in the init_recog state + (from final.c), and the function context push/pop code does not + save/restore volatile_ok. + + ??? Maybe it isn't necessary for expand_start_function to call this + anymore if we do it here? */ + + init_recog_no_volatile (); + /* The parsing time is all the time spent in yyparse *except* what is spent in this function. */