2008-02-21 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Feb 2008 09:38:07 +0000 (09:38 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Feb 2008 09:38:07 +0000 (09:38 +0000)
commit751ff693d4e96f89332de028a21995f47ce4d620
tree9acaddca083fdd255ba2f0c1f7b3920dd211da9d
parentb194358018f737bca23084dd5d1a2834783a6f1a
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132515 138bc75d-0d04-0410-961f-82ee72b054a4
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