diff options
author | Jakub Jelinek <jakub@redhat.com> | 2009-04-26 20:51:07 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2009-04-26 20:51:07 +0200 |
commit | 92061771a2216bb6fd9062a2f920a3f2194b5cee (patch) | |
tree | 6399922f5183f7307326645bf3146bd07174447d | |
parent | 77f2a97066c469e868d6518e96c353f71aa28813 (diff) | |
download | gcc-92061771a2216bb6fd9062a2f920a3f2194b5cee.zip gcc-92061771a2216bb6fd9062a2f920a3f2194b5cee.tar.gz gcc-92061771a2216bb6fd9062a2f920a3f2194b5cee.tar.bz2 |
re PR c/39889 (Bogus -Wunused-value warning)
PR c/39889
* stmt.c (warn_if_unused_value): Look through NON_LVALUE_EXPR.
* gcc.dg/Wunused-value-3.c: New test.
From-SVN: r146811
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/fortran/ChangeLog | 12 | ||||
-rw-r--r-- | gcc/stmt.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/Wunused-value-3.c | 9 |
5 files changed, 30 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 480a6bf..6770f23 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,9 @@ -2009-04-22 Jakub Jelinek <jakub@redhat.com> +2009-04-26 Jakub Jelinek <jakub@redhat.com> + + PR c/39889 + * stmt.c (warn_if_unused_value): Look through NON_LVALUE_EXPR. + +2009-04-26 Jakub Jelinek <jakub@redhat.com> * tree-nested.c (get_nonlocal_vla_type): If not optimizing, call note_nonlocal_vla_type for nonlocal VLAs. diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index d39b713..6c2a442 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,15 @@ +2009-04-26 Jakub Jelinek <jakub@redhat.com> + + * trans-decl.c: Include pointer-set.h. + (nonlocal_dummy_decl_pset, tree nonlocal_dummy_decls): New variables. + (gfc_nonlocal_dummy_array_decl): New function. + (gfc_get_symbol_decl): Call it for non-local dummy args with saved + descriptor. + (gfc_get_symbol_decl): Set DECL_BY_REFERENCE when needed. + (gfc_generate_function_code): Initialize nonlocal_dummy_decl{s,_pset}, + chain it to outermost block's vars, destroy it afterwards. + * Make-lang.in (trans-decl.o): Depend on pointer-set.h. + 2009-04-25 Janus Weil <janus@gcc.gnu.org> PR fortran/39688 @@ -1418,6 +1418,7 @@ warn_if_unused_value (const_tree exp, location_t locus) goto restart; case SAVE_EXPR: + case NON_LVALUE_EXPR: exp = TREE_OPERAND (exp, 0); goto restart; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5faeffc..7acde8d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,14 +1,7 @@ 2009-04-26 Jakub Jelinek <jakub@redhat.com> - * trans-decl.c: Include pointer-set.h. - (nonlocal_dummy_decl_pset, tree nonlocal_dummy_decls): New variables. - (gfc_nonlocal_dummy_array_decl): New function. - (gfc_get_symbol_decl): Call it for non-local dummy args with saved - descriptor. - (gfc_get_symbol_decl): Set DECL_BY_REFERENCE when needed. - (gfc_generate_function_code): Initialize nonlocal_dummy_decl{s,_pset}, - chain it to outermost block's vars, destroy it afterwards. - * Make-lang.in (trans-decl.o): Depend on pointer-set.h. + PR c/39889 + * gcc.dg/Wunused-value-3.c: New test. 2009-04-26 Joseph Myers <joseph@codesourcery.com> diff --git a/gcc/testsuite/gcc.dg/Wunused-value-3.c b/gcc/testsuite/gcc.dg/Wunused-value-3.c new file mode 100644 index 0000000..333ddea --- /dev/null +++ b/gcc/testsuite/gcc.dg/Wunused-value-3.c @@ -0,0 +1,9 @@ +/* PR c/39889 */ +/* { dg-do compile } */ +/* { dg-options "-Wunused-value" } */ + +int x; +int foo (void) +{ + return (1 ? x = 0 : (void) 0), 0; /* { dg-bogus "value computed is not used" } */ +} |