OSDN Git Service

2012-01-04 Thomas Koenig <tkoenig@gcc.gnu.org>
authortkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Jan 2012 11:51:37 +0000 (11:51 +0000)
committertkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Jan 2012 11:51:37 +0000 (11:51 +0000)
PR fortran/49693
* trans-common.c (create_common): Update copyright years.  Mark
variables as used to avoid warnings about unused variables in
common blocks.

2012-01-04  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/49693
* gfortran.dg/common_17.f90:  New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182869 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/fortran/ChangeLog
gcc/fortran/trans-common.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/common_17.f90 [new file with mode: 0644]

index d752513..305646f 100644 (file)
@@ -1,3 +1,10 @@
+2012-01-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/49693
+       * trans-common.c (create_common): Update copyright years.  Mark
+       variables as used to avoid warnings about unused variables in
+       common blocks.
+
 2012-01-03  Hans-Peter Nilsson  <hp@axis.com>
 
        * gfortran.h (struct gfc_expr): Add missing "struct"
index 61ce44b..22aa350 100644 (file)
@@ -1,5 +1,6 @@
 /* Common block and equivalence list handling
-   Copyright (C) 2000, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+   Copyright (C) 2000, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+   2011, 2012
    Free Software Foundation, Inc.
    Contributed by Canqun Yang <canqun@nudt.edu.cn>
 
@@ -689,7 +690,9 @@ create_common (gfc_common_head *com, segment_info *head, bool saw_equiv)
                             VAR_DECL, DECL_NAME (s->field),
                             TREE_TYPE (s->field));
       TREE_STATIC (var_decl) = TREE_STATIC (decl);
-      TREE_USED (var_decl) = TREE_USED (decl);
+      /* Mark the variable as used in order to avoid warnings about
+        unused variables.  */
+      TREE_USED (var_decl) = 1;
       if (s->sym->attr.use_assoc)
        DECL_IGNORED_P (var_decl) = 1;
       if (s->sym->attr.target)
index 556e676..e6c002f 100644 (file)
@@ -1,3 +1,8 @@
+2012-01-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/49693
+       * gfortran.dg/common_17.f90:  New test.
+
 2012-01-04  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/49651
diff --git a/gcc/testsuite/gfortran.dg/common_17.f90 b/gcc/testsuite/gfortran.dg/common_17.f90
new file mode 100644 (file)
index 0000000..8ac21e7
--- /dev/null
@@ -0,0 +1,11 @@
+! { dg-do compile }
+! { dg-options "-Wall" }
+! PR fortran/49693 - this used to cause a spurious warning for the
+! variable in the common block.
+! Test case by Stephan Kramer.
+module foo
+  implicit none
+  integer:: a, b
+  common a
+end module foo
+! { dg-final { cleanup-modules "foo" } }