diff options
author | Tobias Schlüter <tobi@gcc.gnu.org> | 2006-02-10 01:10:47 +0100 |
---|---|---|
committer | Tobias Schlüter <tobi@gcc.gnu.org> | 2006-02-10 01:10:47 +0100 |
commit | 2414e1d655249938cc53becd63d8fb95db65bbfe (patch) | |
tree | a5d5c040eb2490c1c8811341728f943405f6d7df /gcc/fortran/resolve.c | |
parent | a286e145de1b08b1a73d4efe03d36375fa698273 (diff) | |
download | gcc-2414e1d655249938cc53becd63d8fb95db65bbfe.zip gcc-2414e1d655249938cc53becd63d8fb95db65bbfe.tar.gz gcc-2414e1d655249938cc53becd63d8fb95db65bbfe.tar.bz2 |
re PR fortran/14771 (frontend doesn't record parentheses)
fortran/
2006-02-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/14771
* gfortran.h (gfc_intrinsic_op): Add INTRINSIC_PARENTHESES.
* dump-parse-tree (gfc_show_expr): Handle INTRINSIC_PARENTHESES.
* expr.c (simplify_intrinsic_op): Treat INTRINSIC_PARENTHESES as
if it were INTRINSIC_UPLUS.
* resolve.c (resolve_operator): Handle INTRINSIC_PARENTHESES.
* match.c (intrinsic_operators): Add INTRINSIC_PARENTHESES.
* matchexp.c (match_primary): Record parentheses surrounding
numeric expressions.
* module.c (intrinsics): Add INTRINSIC_PARENTHESES for module
dumping.
* trans-expr.c (gfc_conv_expr_op): Handle INTRINSIC_PARENTHESES.
testsuite/
2006-02-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
Paul Thomas <pault@gcc.gnu.org>
PR fortran/14771
* gfortran.dg/parens_1.f90: New.
* gfortran.dg/parens_2.f90: New.
* gfortran.dg/parens_3.f90: New.
From-SVN: r110819
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 3e1c005..f8234bf 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -1692,6 +1692,7 @@ resolve_operator (gfc_expr * e) case INTRINSIC_NOT: case INTRINSIC_UPLUS: case INTRINSIC_UMINUS: + case INTRINSIC_PARENTHESES: if (gfc_resolve_expr (e->value.op.op1) == FAILURE) return FAILURE; break; @@ -1835,6 +1836,9 @@ resolve_operator (gfc_expr * e) goto bad_op; + case INTRINSIC_PARENTHESES: + break; + default: gfc_internal_error ("resolve_operator(): Bad intrinsic"); } @@ -1911,6 +1915,7 @@ resolve_operator (gfc_expr * e) case INTRINSIC_NOT: case INTRINSIC_UPLUS: case INTRINSIC_UMINUS: + case INTRINSIC_PARENTHESES: e->rank = op1->rank; if (e->shape == NULL) |