diff options
Diffstat (limited to 'gcc/fortran')
| -rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/fortran/trans-intrinsic.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 89c1252..ee984b1 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2006-12-19 Tobias Burnus <burnus@net-b.de> + + PR fortran/39238 + * trans-intrinsic.c: Check for associated(NULL,NULL). + 2006-12-19 Paul Thomas <pault@gcc.gnu.org> PR fortran/30236 diff --git a/gcc/fortran/trans-intrinsic.c b/gcc/fortran/trans-intrinsic.c index d284931..c10e9e5 100644 --- a/gcc/fortran/trans-intrinsic.c +++ b/gcc/fortran/trans-intrinsic.c @@ -3142,7 +3142,9 @@ gfc_conv_associated (gfc_se *se, gfc_expr *expr) gfc_add_block_to_block (&se->pre, &arg1se.pre); gfc_add_block_to_block (&se->post, &arg1se.post); tmp = build2 (EQ_EXPR, boolean_type_node, arg1se.expr, arg2se.expr); - se->expr = tmp; + tmp2 = build2 (NE_EXPR, boolean_type_node, arg1se.expr, + null_pointer_node); + se->expr = build2 (TRUTH_AND_EXPR, boolean_type_node, tmp, tmp2); } else { |
