diff options
author | Marc Lehmann <pcg@goof.com> | 1999-10-31 21:52:00 +0000 |
---|---|---|
committer | Marc Lehmann <pcg@gcc.gnu.org> | 1999-10-31 21:52:00 +0000 |
commit | 8fbe10354e67f3e1e6de42a770c3247c6f3b9330 (patch) | |
tree | a7db00102c8e77be3ca6732e8ed7aac1339905d7 /gcc | |
parent | 79f5f47f761945b6d6af8cd5bbdd3956f2336ecc (diff) | |
download | gcc-8fbe10354e67f3e1e6de42a770c3247c6f3b9330.zip gcc-8fbe10354e67f3e1e6de42a770c3247c6f3b9330.tar.gz gcc-8fbe10354e67f3e1e6de42a770c3247c6f3b9330.tar.bz2 |
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 <pcg@goof.com>
* 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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/function.c | 6 | ||||
-rw-r--r-- | gcc/toplev.c | 5 |
3 files changed, 14 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0d4e023..cc4971b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +Sun Oct 31 13:32:15 CET 1999 Marc Lehmann <pcg@goof.com> + + * 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 f6f5d88..10a33da 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 6f8883b..cce00ee 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 (); } } |