[Bug go/91617] [10 regression] Many go test case failures after r275026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91617 --- Comment #7 from Jakub Jelinek --- Author: jakub Date: Mon Oct 21 11:36:36 2019 New Revision: 277244 URL: https://gcc.gnu.org/viewcvs?rev=277244=gcc=rev Log: Backported from mainline 2019-09-02 Jakub Jelinek PR go/91617 * fold-const.c (range_check_type): For enumeral and boolean type, pass 1 to type_for_size langhook instead of TYPE_UNSIGNED (etype). Return unsigned_type_for result whenever etype isn't TYPE_UNSIGNED INTEGER_TYPE. (build_range_check): Don't call unsigned_type_for for pointer types. * match.pd (X / C1 op C2): Don't call unsigned_type_for on range_check_type result. 2019-08-29 Jakub Jelinek PR tree-optimization/91351 * tree-cfg.c (generate_range_test): Use range_check_type instead of unsigned_type_for. * tree-cfgcleanup.c (convert_single_case_switch): Punt if range_check_type returns NULL. * tree-switch-conversion.c (switch_conversion::build_one_array): Use range_check_type instead of unsigned_type_for, don't perform linear opt if it returns NULL. (bit_test_cluster::find_bit_tests): Formatting fix. (bit_test_cluster::emit): Use range_check_type instead of unsigned_type_for. (switch_decision_tree::try_switch_expansion): Punt if range_check_type returns NULL. * g++.dg/opt/pr91351.C: New test. Added: branches/gcc-9-branch/gcc/testsuite/g++.dg/opt/pr91351.C Modified: branches/gcc-9-branch/gcc/ChangeLog branches/gcc-9-branch/gcc/fold-const.c branches/gcc-9-branch/gcc/match.pd branches/gcc-9-branch/gcc/testsuite/ChangeLog branches/gcc-9-branch/gcc/tree-cfg.c branches/gcc-9-branch/gcc/tree-cfgcleanup.c branches/gcc-9-branch/gcc/tree-switch-conversion.c
[Bug go/91617] [10 regression] Many go test case failures after r275026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91617 Jakub Jelinek changed: What|Removed |Added CC||marxin at gcc dot gnu.org --- Comment #6 from Jakub Jelinek --- *** Bug 91632 has been marked as a duplicate of this bug. ***
[Bug go/91617] [10 regression] Many go test case failures after r275026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91617 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED Assignee|ian at airs dot com|jakub at gcc dot gnu.org --- Comment #5 from Jakub Jelinek --- Should be fixed now.
[Bug go/91617] [10 regression] Many go test case failures after r275026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91617 --- Comment #4 from Jakub Jelinek --- Author: jakub Date: Mon Sep 2 08:38:13 2019 New Revision: 275299 URL: https://gcc.gnu.org/viewcvs?rev=275299=gcc=rev Log: PR go/91617 * fold-const.c (range_check_type): For enumeral and boolean type, pass 1 to type_for_size langhook instead of TYPE_UNSIGNED (etype). Return unsigned_type_for result whenever etype isn't TYPE_UNSIGNED INTEGER_TYPE. (build_range_check): Don't call unsigned_type_for for pointer types. * match.pd (X / C1 op C2): Don't call unsigned_type_for on range_check_type result. Modified: trunk/gcc/ChangeLog trunk/gcc/fold-const.c trunk/gcc/match.pd
[Bug go/91617] [10 regression] Many go test case failures after r275026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91617 Richard Biener changed: What|Removed |Added Target Milestone|--- |10.0
[Bug go/91617] [10 regression] Many go test case failures after r275026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91617 --- Comment #3 from Ian Lance Taylor --- To see how to run libgo tests, see the Debugging section in libgo/README. The problem you are having with runtime.osinit looks related to a recent libgo patch (https://gcc.gnu.org/ml/gcc-patches/2019-08/msg01916.html). It looks like you somehow linked against an older version of libgo.
[Bug go/91617] [10 regression] Many go test case failures after r275026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91617 --- Comment #2 from Jakub Jelinek --- Or something is wrong in the go FE langhooks. Anyway, I have no idea how to debug this, the libgo libgo.log doesn't contain anything that would make it clear how to run the tests and even looking at the simpler gcc/testsuite/go/go.log, there is command how to compile/link the test, but not how to run it. LD_LIBRARY_PATH=/home/jakub/src/gcc/obj52/x86_64-pc-linux-gnu/./libgo/.libs ./select5.exe ./select5.exe: symbol lookup error: ./select5.exe: undefined symbol: runtime.osinit LD_LIBRARY_PATH=/home/jakub/src/gcc/obj54/x86_64-pc-linux-gnu/./libgo/.libs ./select5.exe panic: "recv": template: recv:1: unexpected goroutine 1 [running]: main.parse /home/jakub/src/gcc/gcc/testsuite/go.test/test/chan/select5.go:142
[Bug go/91617] [10 regression] Many go test case failures after r275026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91617 --- Comment #1 from Ian Lance Taylor --- The cited revision was not to libgo, so my assumption is that there was something wrong with it and there is nothing to change in the Go frontend. Let me know if I'm mistaken. This was also filed as https://golang.org/issue/33958.