aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2010-02-24 08:00:35 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2010-02-24 08:00:35 +0100
commit505a36f95b00543a758ab4b56c1f4bf89df4a992 (patch)
treec8589d2efe95338294877bc2f18d928392f02cb3 /gcc/fortran
parentd8a06a82310d287e2521263a3489206a862a1224 (diff)
downloadgcc-505a36f95b00543a758ab4b56c1f4bf89df4a992.zip
gcc-505a36f95b00543a758ab4b56c1f4bf89df4a992.tar.gz
gcc-505a36f95b00543a758ab4b56c1f4bf89df4a992.tar.bz2
[multiple changes]
2010-02-24 Tobias Burnus <burnus@net-b.de> PR fortran/43042 * trans-expr.c (gfc_conv_initializer): Call directly gfc_conv_constant for C_NULL_(FUN)PTR. 2010-02-24 Tobias Burnus <burnus@net-b.de> PR fortran/43042 * gfortran.dg/c_ptr_tests_15.f90: New test. From-SVN: r157029
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/trans-expr.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index dc650fe..af4bf20 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2010-02-24 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/43042
+ * trans-expr.c (gfc_conv_initializer): Call directly
+ gfc_conv_constant for C_NULL_(FUN)PTR.
+
2010-02-22 Paul Thomas <pault@gcc.gnu.org>
PR fortran/43072
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
index d712148..ecb577a 100644
--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -3949,6 +3949,10 @@ gfc_conv_initializer (gfc_expr * expr, gfc_typespec * ts, tree type,
its kind. */
expr->ts.f90_type = derived->ts.f90_type;
expr->ts.kind = derived->ts.kind;
+
+ gfc_init_se (&se, NULL);
+ gfc_conv_constant (&se, expr);
+ return se.expr;
}
if (array)