[Bug fortran/58793] Wrong storage_size of class(*) dummy argument with complex actual

burnus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Oct 18 19:17:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58793

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-10-18
                 CC|                            |burnus at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Confirmed. Patch:

diff --git a/gcc/fortran/class.c b/gcc/fortran/class.c
index be4959a..8d911bb 100644
--- a/gcc/fortran/class.c
+++ b/gcc/fortran/class.c
@@ -2504,5 +2504,7 @@ gfc_find_intrinsic_vtab (gfc_typespec *ts)
           else
         c->initializer = gfc_get_int_expr (gfc_default_integer_kind,
-                           NULL, ts->kind);
+                           NULL,
+                           ts->type == BT_COMPLEX
+                           ? 2*ts->kind : ts->kind);

           /* Add component _extends.  */



More information about the Gcc-bugs mailing list