939409afce
PR middle-end/30391 * tree.c (expr_align): Handle MODIFY_EXPR. GIMPLE_MODIFY_STMT should be unreachable. (build2_stat): Allow construction of MODIFY_EXPR at any time. For the time being redirect GIMPLE_MODIFY_STMT to the new (renamed) build_gimple_modify_stmt_stat. (build2_gimple_stat): Rename to... (build_gimple_modify_stmt_stat): Now longer take a CODE argument. Always build a GIMPLE_MODIFY_STMT node. * tree.h (build2_gimple, build2_gimple_stat): Delete. (build_gimple_modify_stmt, build_gimple_modify_stmt_stat): New declarations. * tree-cfg.c (factor_computed_gotos, tree_merge_blocks, gimplify_val): Use build_gimple_modify_stmt instead of build2_gimple. * tree-complex.c (set_component_ssa_name, expand_complex_move, expand_complex_div_wide): Likewise. * tree-ssa-dom.c (record_equivalences_from_stmt): Likewise. * tree-ssa-loop-im.c (schedule_sm): Likewise. * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Likewise. * tree-ssa-loop-manip.c (create_iv): Likewise. * tree-ssa-phiopt.c (conditional_replacement, minmax_replacement, abs_replacement): Likewise. * tree-ssa-pre.c (create_expression_by_pieces, poolify_modify_stmt, realify_fake_stores): Likewise. * builtins.c (std_expand_builtin_va_start): Build a MODIFY_EXPR node rather than a GIMPLE_MODIFY_STMT node. (std_gimpify_va_arg_expr, expand_builtin_va_copy, fold_builtin_memset, fold_builtin_memory_op, do_mpfr_sincos): Likewise. (integer_valued_real_p): Handle MODIFY_EXPR, not GIMPLE_MODIFY_STMT. * expr.c (expand_expr_real_1): Handle both MODIFY_EXPR and GIMPLE_MODIFY_STMT. * gfortran.dg/pr30391-1.f90: New test case. From-SVN: r122030 |
||
---|---|---|
.. | ||
ada/acats | ||
config | ||
g++.dg | ||
g++.old-deja | ||
gcc.c-torture | ||
gcc.dg | ||
gcc.misc-tests | ||
gcc.target | ||
gcc.test-framework | ||
gfortran.dg | ||
gfortran.fortran-torture | ||
gnat.dg | ||
lib | ||
obj-c++.dg | ||
objc | ||
objc.dg | ||
treelang | ||
ChangeLog | ||
ChangeLog.tree-ssa | ||
README | ||
README.QMTEST | ||
README.compat | ||
README.gcc |
README
This is a collection of tests for GCC. For further information about the C testsuite, see README.gcc. The driver that runs this testsuite is called DejaGnu and you will need a current DejaGnu snapshot, which is available from ftp://gcc.gnu.org/pub/gcc/infrastructure, for example. These tests are included "as is". If any of them fails, do not report a bug. Bug reports for DejaGnu can go to bug-dejagnu@gnu.org. Discussion and comments about this testsuite should be sent to gcc@gcc.gnu.org; additions and changes to should go to sent to gcc-patches@gcc.gnu.org. The entire testsuite is invoked by `make check` at the top level of the GCC tree. `make check-g++` runs the C++ testsuite only. STRUCTURE OF THE G++ TESTSUITE g++.dg tests: All new tests should be placed in an appropriate subdirectory of g++.dg. g++.old-deja tests: g++.benjamin Tests by Benjamin Koz g++.bob g++.brendan Tests by Brendan Kehoe g++.bugs g++.eh Tests for exception handling g++.ext Tests for g++ extensions g++.gb Tests by Gerald Baumgartner g++.jason Tests by Jason Merill g++.jeff Tests by Jeffrey A Law g++.martin Tests by Martin v. Löwis g++.mike Tests by Mike Stump g++.niklas Tests by Niklas Hallqvist g++.ns Tests for namespaces g++.other g++.pt Tests for templates g++.rfg g++.robertl Tests from gcc-bugs@gcc.gnu.org, gathered by Robert Lipe Finally, some random last minute notes by Mike Stump <mrs@cygnus.com>, on how to run tests (in the GCC 2.7 era): runtest --tool g++ --srcdir ./testsuite where runtest Is the name used to invoke DejaGnu. If DejaGnu is not install this will be the relative path name for runtest. --tool This tells DejaGnu which tool you are testing. It is mainly used to find the testsuite directories for a particular tool when several testsuites are in the same directory. (like the gcc and g++ testsuites) --srcdir This points to the top level of the directory containing the sources of the testsuite. This is ./testsuite if you are in the directory that has the testsuite directory.