]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR fortran/54618 ([OOP] wrong-code with CLASS(...), INTENT(OUT) -- and OPTIONAL...
authorTobias Burnus <burnus@net-b.de>
Mon, 24 Sep 2012 19:05:18 +0000 (21:05 +0200)
committerTobias Burnus <burnus@gcc.gnu.org>
Mon, 24 Sep 2012 19:05:18 +0000 (21:05 +0200)
2012-09-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54618
        * trans-expr.c (gfc_conv_procedure_call): Fix INTENT(OUT)
        handling for allocatable BT_CLASS.

From-SVN: r191676

gcc/fortran/ChangeLog
gcc/fortran/trans-expr.c

index d6bfcf9e8d35def8b5c485fb9b4497d4be22915e..23b3b1773259f9ce9af3e041faac17b6f95be329 100644 (file)
@@ -1,3 +1,9 @@
+2012-09-24  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/54618
+       * trans-expr.c (gfc_conv_procedure_call): Fix INTENT(OUT)
+       handling for allocatable BT_CLASS.
+
 2012-09-24  Lawrence Crowl  <crowl@google.com>
 
        * trans-expr.c (gfc_conv_cst_int_power): Change to new double_int API.
index 319c36175aa8d9fabdde46d85f20bc86bff75b3b..1178e3d3cb55aac86c7c7c697b8992a9fc623979 100644 (file)
@@ -3918,7 +3918,7 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
                  if (fsym && fsym->attr.intent == INTENT_OUT
                      && (fsym->attr.allocatable
                          || (fsym->ts.type == BT_CLASS
-                             && CLASS_DATA (e)->attr.allocatable)))
+                             && CLASS_DATA (fsym)->attr.allocatable)))
                    {
                      stmtblock_t block;
                      tree ptr;