https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66211
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jason at redhat dot com Version|unknown |5.1.0 --- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- Unfortunately this causes FAIL: gcc.dg/tree-ssa/foldcast-1.c scan-tree-dump-times original "return x;" 2 FAIL: gcc.dg/tree-ssa/pr31261.c scan-tree-dump-times original "return b & 7;" 1 FAIL: gfortran.dg/assumed_type_2.f90 -O0 scan-tree-dump-times original "sub_ scalar .\\\\(struct t1 .\\\\) array_class_t1_ptr._data.dat" 1 FAIL: gfortran.dg/assumed_type_2.f90 -O1 scan-tree-dump-times original "sub_ scalar .\\\\(struct t1 .\\\\) array_class_t1_ptr._data.dat" 1 FAIL: gfortran.dg/assumed_type_2.f90 -O2 scan-tree-dump-times original "sub_ scalar .\\\\(struct t1 .\\\\) array_class_t1_ptr._data.dat" 1 FAIL: gfortran.dg/assumed_type_2.f90 -O3 -fomit-frame-pointer scan-tree-dump -times original "sub_scalar .\\\\(struct t1 .\\\\) array_class_t1_ptr._data.dat" 1 FAIL: gfortran.dg/assumed_type_2.f90 -O3 -fomit-frame-pointer -funroll-all-loo ps -finline-functions scan-tree-dump-times original "sub_scalar .\\\\(struct t 1 .\\\\) array_class_t1_ptr._data.dat" 1 FAIL: gfortran.dg/assumed_type_2.f90 -O3 -fomit-frame-pointer -funroll-loops scan-tree-dump-times original "sub_scalar .\\\\(struct t1 .\\\\) array_class_t1 _ptr._data.dat" 1 FAIL: gfortran.dg/assumed_type_2.f90 -O3 -g scan-tree-dump-times original "s ub_scalar .\\\\(struct t1 .\\\\) array_class_t1_ptr._data.dat" 1 FAIL: gfortran.dg/assumed_type_2.f90 -Os scan-tree-dump-times original "sub_ scalar .\\\\(struct t1 .\\\\) array_class_t1_ptr._data.dat" 1 FAIL: gfortran.dg/c_f_pointer_tests_3.f90 -O scan-tree-dump-times original " fptr_array.data = cptr;" 1 FAIL: gfortran.dg/c_loc_test_22.f90 -O scan-tree-dump-times original "D.[0-9 ]+ = parm.[0-9]+.data;[^;]+ptr[1-4] = D.[0-9]+;" 4 FAIL: gfortran.dg/c_ptr_tests_14.f90 -O0 scan-tree-dump-times original "fgsl _file.[0-9]+.gsl_file = c_ptr.[0-9]+;" 1 FAIL: gfortran.dg/c_ptr_tests_14.f90 -O0 scan-tree-dump-times original "fgsl _file.[0-9]+.gsl_func = c_funptr.[0-9]+;" 1 FAIL: gfortran.dg/c_ptr_tests_14.f90 -O1 scan-tree-dump-times original "fgsl _file.[0-9]+.gsl_file = c_ptr.[0-9]+;" 1 FAIL: gfortran.dg/c_ptr_tests_14.f90 -O1 scan-tree-dump-times original "fgsl _file.[0-9]+.gsl_func = c_funptr.[0-9]+;" 1 FAIL: gfortran.dg/c_ptr_tests_14.f90 -O2 scan-tree-dump-times original "fgsl _file.[0-9]+.gsl_file = c_ptr.[0-9]+;" 1 FAIL: gfortran.dg/c_ptr_tests_14.f90 -O2 scan-tree-dump-times original "fgsl _file.[0-9]+.gsl_func = c_funptr.[0-9]+;" 1 FAIL: gfortran.dg/c_ptr_tests_14.f90 -O3 -fomit-frame-pointer scan-tree-dump -times original "fgsl_file.[0-9]+.gsl_file = c_ptr.[0-9]+;" 1 FAIL: gfortran.dg/c_ptr_tests_14.f90 -O3 -fomit-frame-pointer scan-tree-dump -times original "fgsl_file.[0-9]+.gsl_func = c_funptr.[0-9]+;" 1 FAIL: gfortran.dg/c_ptr_tests_14.f90 -O3 -fomit-frame-pointer -funroll-all-loo ps -finline-functions scan-tree-dump-times original "fgsl_file.[0-9]+.gsl_file = c_ptr.[0-9]+;" 1 FAIL: gfortran.dg/c_ptr_tests_14.f90 -O3 -fomit-frame-pointer -funroll-all-loo ps -finline-functions scan-tree-dump-times original "fgsl_file.[0-9]+.gsl_func = c_funptr.[0-9]+;" 1 FAIL: gfortran.dg/c_ptr_tests_14.f90 -O3 -fomit-frame-pointer -funroll-loops scan-tree-dump-times original "fgsl_file.[0-9]+.gsl_file = c_ptr.[0-9]+;" 1 FAIL: gfortran.dg/c_ptr_tests_14.f90 -O3 -fomit-frame-pointer -funroll-loops scan-tree-dump-times original "fgsl_file.[0-9]+.gsl_func = c_funptr.[0-9]+;" 1 FAIL: gfortran.dg/c_ptr_tests_14.f90 -O3 -g scan-tree-dump-times original "f gsl_file.[0-9]+.gsl_file = c_ptr.[0-9]+;" 1 FAIL: gfortran.dg/c_ptr_tests_14.f90 -O3 -g scan-tree-dump-times original "f gsl_file.[0-9]+.gsl_func = c_funptr.[0-9]+;" 1 FAIL: gfortran.dg/c_ptr_tests_14.f90 -Os scan-tree-dump-times original "fgsl _file.[0-9]+.gsl_file = c_ptr.[0-9]+;" 1 FAIL: gfortran.dg/c_ptr_tests_14.f90 -Os scan-tree-dump-times original "fgsl _file.[0-9]+.gsl_func = c_funptr.[0-9]+;" 1 FAIL: gfortran.dg/c_ptr_tests_15.f90 -O scan-tree-dump-times original "fgsl_ file.[0-9]+.gsl_file = c_ptr.[0-9]+;" 1 FAIL: gfortran.dg/c_ptr_tests_15.f90 -O scan-tree-dump-times original "fgsl_ file.[0-9]+.gsl_func = c_funptr.[0-9]+;" 1 FAIL: gfortran.dg/coarray_31.f90 -O scan-tree-dump original "a.y.d._data.dat a = D.[0-9]+.y.d._data.data;" FAIL: gfortran.dg/coarray_31.f90 -O scan-tree-dump original "a.y.x.data = D. [0-9]+.y.x.data;" FAIL: gfortran.dg/coarray_31.f90 -O scan-tree-dump original "a.y.z._data.dat a = D.[0-9]+.y.z._data.data;" FAIL: gfortran.dg/no_arg_check_2.f90 -O0 scan-tree-dump-times original "sub_ scalar .\\\\(struct t1 .\\\\) array_class_t1_ptr._data.dat" 1 FAIL: gfortran.dg/no_arg_check_2.f90 -O1 scan-tree-dump-times original "sub_ scalar .\\\\(struct t1 .\\\\) array_class_t1_ptr._data.dat" 1 FAIL: gfortran.dg/no_arg_check_2.f90 -O2 scan-tree-dump-times original "sub_ scalar .\\\\(struct t1 .\\\\) array_class_t1_ptr._data.dat" 1 FAIL: gfortran.dg/no_arg_check_2.f90 -O3 -fomit-frame-pointer scan-tree-dump -times original "sub_scalar .\\\\(struct t1 .\\\\) array_class_t1_ptr._data.dat" 1 FAIL: gfortran.dg/no_arg_check_2.f90 -O3 -fomit-frame-pointer -funroll-all-loo ps -finline-functions scan-tree-dump-times original "sub_scalar .\\\\(struct t 1 .\\\\) array_class_t1_ptr._data.dat" 1 FAIL: gfortran.dg/no_arg_check_2.f90 -O3 -fomit-frame-pointer -funroll-loops scan-tree-dump-times original "sub_scalar .\\\\(struct t1 .\\\\) array_class_t1 _ptr._data.dat" 1 FAIL: gfortran.dg/no_arg_check_2.f90 -O3 -g scan-tree-dump-times original "s ub_scalar .\\\\(struct t1 .\\\\) array_class_t1_ptr._data.dat" 1 FAIL: gfortran.dg/no_arg_check_2.f90 -Os scan-tree-dump-times original "sub_ scalar .\\\\(struct t1 .\\\\) array_class_t1_ptr._data.dat" 1 FAIL: gnat.dg/ice_type.adb (test for excess errors) (ICE in build_binary_op, at ada/gcc-interface/utils2.c:906) FAIL: gnat.dg/specs/addr1.ads (test for warnings, line 30) not yet further analyzed. IMHO the C++ frontend shouldn't rely on fold preserving rvalue-ness but it should perform these checks before folding like the C frontend does. I'll look at the above failures later this week to see if there is anything obvious that can be improved.