tree.def (PAREN_EXPR): New tree code.
authorRichard Guenther <rguenther@suse.de>
Thu, 21 Feb 2008 09:38:07 +0000 (09:38 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Thu, 21 Feb 2008 09:38:07 +0000 (09:38 +0000)
commitdedd42d511b6e49303a8da3f62486567122c5fc4
tree9acaddca083fdd255ba2f0c1f7b3920dd211da9d
parent163b0163e6197a4209b7087d580bf5b8ed51700d
tree.def (PAREN_EXPR): New tree code.

2008-02-21  Richard Guenther  <rguenther@suse.de>

* tree.def (PAREN_EXPR): New tree code.
* fold-const.c (fold_unary): Remove PAREN_EXPR around constants
and PAREN_EXPR.
* tree-pretty-print.c (dump_generic_node): Handle PAREN_EXPR.
* expr.c (expand_expr_real_1): Likewise.
* tree-inline.c (estimate_num_insns_1): Likewise.
* tree-complex.c (expand_complex_move): Likewise.
* tree-vectorizer.c (vect_is_simple_use): Treat PAREN_EXPR (x)
as plain x.

* trans-expr.c (gfc_conv_expr_op): Expand INTRINSIC_PARENTHESES
as unary PAREN_EXPR for real and complex typed expressions.
(gfc_conv_unary_op): Fold the built tree.

* gfortran.dg/reassoc_1.f90: New testcase.
* gfortran.dg/reassoc_2.f90: Likewise.
* gfortran.dg/reassoc_3.f90: Likewise.

From-SVN: r132515
14 files changed:
gcc/ChangeLog
gcc/expr.c
gcc/fold-const.c
gcc/fortran/ChangeLog
gcc/fortran/trans-expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/reassoc_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/reassoc_2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/reassoc_3.f90 [new file with mode: 0644]
gcc/tree-complex.c
gcc/tree-inline.c
gcc/tree-pretty-print.c
gcc/tree-vectorizer.c
gcc/tree.def