diff options
author | Tobias Schlüter <tobi@gcc.gnu.org> | 2007-04-12 18:53:26 +0200 |
---|---|---|
committer | Tobias Schlüter <tobi@gcc.gnu.org> | 2007-04-12 18:53:26 +0200 |
commit | 2f11881446ab72f0e85eedb8391ae47cd89d3244 (patch) | |
tree | 1be65cae232e27fb532bca1c95d395b50376e17f /gcc/fortran/arith.c | |
parent | 2d3649b23f90ddd51b968a00c8e8ab6ccf5bd93c (diff) | |
download | gcc-2f11881446ab72f0e85eedb8391ae47cd89d3244.zip gcc-2f11881446ab72f0e85eedb8391ae47cd89d3244.tar.gz gcc-2f11881446ab72f0e85eedb8391ae47cd89d3244.tar.bz2 |
arith.c (gfc_arith_uplus): Rename to ...
* arith.c (gfc_arith_uplus): Rename to ...
(gfc_arith_identity): ... this.
(gfc_parentheses): New function.
(gfc_uplus): Adapt to renamed function.
* arith.h (gfc_parentheses): Add prototype.
* expr.c (gfc_copy_expr): Deal with INTRINSIC_PARENTHESES.
(simplifiy_intrinsic_op): Treat INTRINSIC_UPLUS separately from
INTRINSIC_PARENTHESES.
From-SVN: r123750
Diffstat (limited to 'gcc/fortran/arith.c')
-rw-r--r-- | gcc/fortran/arith.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/gcc/fortran/arith.c b/gcc/fortran/arith.c index e6c2d0f..8c995ea 100644 --- a/gcc/fortran/arith.c +++ b/gcc/fortran/arith.c @@ -595,10 +595,11 @@ check_result (arith rc, gfc_expr *x, gfc_expr *r, gfc_expr **rp) /* It may seem silly to have a subroutine that actually computes the unary plus of a constant, but it prevents us from making exceptions - in the code elsewhere. */ + in the code elsewhere. Used for unary plus and parenthesized + expressions. */ static arith -gfc_arith_uplus (gfc_expr *op1, gfc_expr **resultp) +gfc_arith_identity (gfc_expr *op1, gfc_expr **resultp) { *resultp = gfc_copy_expr (op1); return ARITH_OK; @@ -1763,9 +1764,16 @@ eval_intrinsic_f3 (gfc_intrinsic_op operator, gfc_expr * +gfc_parentheses (gfc_expr *op) +{ + return eval_intrinsic_f2 (INTRINSIC_PARENTHESES, gfc_arith_identity, + op, NULL); +} + +gfc_expr * gfc_uplus (gfc_expr *op) { - return eval_intrinsic_f2 (INTRINSIC_UPLUS, gfc_arith_uplus, op, NULL); + return eval_intrinsic_f2 (INTRINSIC_UPLUS, gfc_arith_identity, op, NULL); } |