From 8fbe10354e67f3e1e6de42a770c3247c6f3b9330 Mon Sep 17 00:00:00 2001 From: Marc Lehmann Date: Sun, 31 Oct 1999 21:52:00 +0000 Subject: [PATCH] toplev.c (rest_of_compilation): Seperate the setjmp/vfork clobber warning from -Wuninitialized and put it under -W. Sun Oct 31 13:32:15 CET 1999 Marc Lehmann * toplev.c (rest_of_compilation): Seperate the setjmp/vfork clobber warning from -Wuninitialized and put it under -W. * function.c (uninitialized_vars_warning): Warn only when the corresponding flag is set. From-SVN: r30294 --- gcc/ChangeLog | 7 +++++++ gcc/function.c | 6 ++++-- gcc/toplev.c | 5 +++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0d4e023ec60..cc4971b173b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +Sun Oct 31 13:32:15 CET 1999 Marc Lehmann + + * toplev.c (rest_of_compilation): Seperate the setjmp/vfork clobber + warning from -Wuninitialized and put it under -W. + * function.c (uninitialized_vars_warning): Warn only when the + corresponding flag is set. + Sun Oct 31 01:53:30 1999 Jeffrey A Law (law@cygnus.com) * combine.c (combine_simplify_rtx): Renamed from simplify_rtx. All diff --git a/gcc/function.c b/gcc/function.c index f6f5d88ede4..10a33daf84f 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -5075,7 +5075,8 @@ uninitialized_vars_warning (block) register tree decl, sub; for (decl = BLOCK_VARS (block); decl; decl = TREE_CHAIN (decl)) { - if (TREE_CODE (decl) == VAR_DECL + if (warn_uninitialized + && TREE_CODE (decl) == VAR_DECL /* These warnings are unreliable for and aggregates because assigning the fields one by one can fail to convince flow.c that the entire aggregate was initialized. @@ -5094,7 +5095,8 @@ uninitialized_vars_warning (block) && regno_uninitialized (REGNO (DECL_RTL (decl)))) warning_with_decl (decl, "`%s' might be used uninitialized in this function"); - if (TREE_CODE (decl) == VAR_DECL + if (extra_warnings + && TREE_CODE (decl) == VAR_DECL && DECL_RTL (decl) != 0 && GET_CODE (DECL_RTL (decl)) == REG && regno_clobbered_at_setjmp (REGNO (DECL_RTL (decl)))) diff --git a/gcc/toplev.c b/gcc/toplev.c index 6f8883bbbbe..cce00eecb95 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -4010,10 +4010,11 @@ rest_of_compilation (decl) life_analysis (insns, max_reg_num (), rtl_dump_file, 1); }); - if (warn_uninitialized) + if (warn_uninitialized || extra_warnings) { uninitialized_vars_warning (DECL_INITIAL (decl)); - setjmp_args_warning (); + if (extra_warnings) + setjmp_args_warning (); } } -- 2.30.2