[Bug target/111340] gcc.dg/bitint-12.c fails on x86_64-apple-darwin or fails on x86_64-linux-gnu with -fPIE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111340 --- Comment #6 from Jakub Jelinek --- Thanks.
[Bug target/111340] gcc.dg/bitint-12.c fails on x86_64-apple-darwin or fails on x86_64-linux-gnu with -fPIE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111340 Uroš Bizjak changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |ubizjak at gmail dot com CC|uros at gcc dot gnu.org| --- Comment #5 from Uroš Bizjak --- (In reply to Jakub Jelinek from comment #4) > Of course, what exactly falls under the "g" constraint is target specific. > Though, because that constraint also allows the constant to be reload into a > register, > if such constant isn't valid, then RA should have reloaded it into register > or memory. > > Seems the failure is that i386.cc (output_pic_addr_const) doesn't have the > CONST_WIDE_INT case unlike output_addr_const. Indeed. Patch in testing: --cut here-- diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc index 1cef7ee8f1a..477e6cecc38 100644 --- a/gcc/config/i386/i386.cc +++ b/gcc/config/i386/i386.cc @@ -12344,8 +12344,8 @@ output_pic_addr_const (FILE *file, rtx x, int code) assemble_name (asm_out_file, buf); break; -case CONST_INT: - fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x)); +CASE_CONST_SCALAR_INT: + output_addr_const (file, x); break; case CONST: --cut here--
[Bug bootstrap/106472] No rule to make target '../libbacktrace/libbacktrace.la', needed by 'libgo.la'.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106472 --- Comment #32 from Eric Gallager --- (In reply to matoro from comment #31) > (In reply to Eric Gallager from comment #30) > > (In reply to matoro from comment #26) > > > We also had somebody report on IRC that they observed this on powerpc (not > > > sure what tuple), again with -j1. It does not seem to show up with -j2, > > > so > > > likely -j1 is necessary to trigger. > > > > I can also confirm that switching to -j2 makes this particular error go away > > It may make it "go away", but how can it be worked around on real > single-core systems? All that does is get lucky by throwing more > parallelism at it. I've been completely unable to even try out gccgo > because of this bug. Right, yes, this is still definitely a bug, I was just confirming that I was able to get the workaround to work for me personally
[Bug driver/86030] specs file processing does not create response files for input directories
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86030 --- Comment #10 from John Soo --- I'm also not sure https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=180ebb8a24d24fc5b105f2257d6216f6dfde62df fixes the collect bug because collect uses collect_execute instead of the pex_* exec functions.
[Bug target/111311] RISC-V regression testsuite errors with --param=riscv-autovec-preference=scalable
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111311 --- Comment #6 from CVS Commits --- The trunk branch has been updated by Lehua Ding : https://gcc.gnu.org/g:d05aac047e0643d5c32b706c4c3b12e13f35e19a commit r14-3834-gd05aac047e0643d5c32b706c4c3b12e13f35e19a Author: Juzhe-Zhong Date: Mon Sep 11 11:25:02 2023 +0800 RISC-V: Add VLS modes VEC_PERM support[PR111311] This patch add VLS modes VEC_PERM support which fix these following FAILs in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111311: FAIL: gcc.dg/tree-ssa/forwprop-40.c scan-tree-dump-times optimized "BIT_FIELD_REF" 0 FAIL: gcc.dg/tree-ssa/forwprop-40.c scan-tree-dump-times optimized "BIT_INSERT_EXPR" 0 FAIL: gcc.dg/tree-ssa/forwprop-41.c scan-tree-dump-times optimized "BIT_FIELD_REF" 0 FAIL: gcc.dg/tree-ssa/forwprop-41.c scan-tree-dump-times optimized "BIT_INSERT_EXPR" 1 These FAILs are fixed after this patch. PR target/111311 gcc/ChangeLog: * config/riscv/autovec.md: Add VLS modes. * config/riscv/riscv-protos.h (cmp_lmul_le_one): New function. (cmp_lmul_gt_one): Ditto. * config/riscv/riscv-v.cc (cmp_lmul_le_one): Ditto. (cmp_lmul_gt_one): Ditto. * config/riscv/riscv.cc (riscv_print_operand): Add VLS modes. (riscv_vectorize_vec_perm_const): Ditto. * config/riscv/vector-iterators.md: Ditto. * config/riscv/vector.md: Ditto. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/autovec/partial/slp-1.c: Adapt test. * gcc.target/riscv/rvv/autovec/partial/slp-16.c: Ditto. * gcc.target/riscv/rvv/autovec/partial/slp-17.c: Ditto. * gcc.target/riscv/rvv/autovec/partial/slp-3.c: Ditto. * gcc.target/riscv/rvv/autovec/partial/slp-5.c: Ditto. * gcc.target/riscv/rvv/autovec/vls/compress-1.c: New test. * gcc.target/riscv/rvv/autovec/vls/compress-2.c: New test. * gcc.target/riscv/rvv/autovec/vls/compress-3.c: New test. * gcc.target/riscv/rvv/autovec/vls/compress-4.c: New test. * gcc.target/riscv/rvv/autovec/vls/compress-5.c: New test. * gcc.target/riscv/rvv/autovec/vls/compress-6.c: New test. * gcc.target/riscv/rvv/autovec/vls/merge-1.c: New test. * gcc.target/riscv/rvv/autovec/vls/merge-2.c: New test. * gcc.target/riscv/rvv/autovec/vls/merge-3.c: New test. * gcc.target/riscv/rvv/autovec/vls/merge-4.c: New test. * gcc.target/riscv/rvv/autovec/vls/merge-5.c: New test. * gcc.target/riscv/rvv/autovec/vls/merge-6.c: New test. * gcc.target/riscv/rvv/autovec/vls/merge-7.c: New test. * gcc.target/riscv/rvv/autovec/vls/perm-1.c: New test. * gcc.target/riscv/rvv/autovec/vls/perm-2.c: New test. * gcc.target/riscv/rvv/autovec/vls/perm-3.c: New test. * gcc.target/riscv/rvv/autovec/vls/perm-4.c: New test. * gcc.target/riscv/rvv/autovec/vls/perm-5.c: New test. * gcc.target/riscv/rvv/autovec/vls/perm-6.c: New test. * gcc.target/riscv/rvv/autovec/vls/perm-7.c: New test.
[Bug middle-end/111324] More optimization about "(X * Y) / Y"
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111324 --- Comment #3 from Jiu Fu Guo --- A patch is posted: https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629534.html
[Bug tree-optimization/96708] Failure to optimize max pattern with comparison when using a temporary variable
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96708 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |11.0 --- Comment #5 from Andrew Pinski --- Note this was mostly fixed for GCC 11 but had missed the :c on the cmp and that was fully fixed in GCC 14, see PR 111346 for that. What that means is sometimes we would not optimize always to 0/1 and keep around the comparison.
[Bug tree-optimization/111346] `X <= MINMAX` pattern is missing :c on the cmp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111346 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |14.0 Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #6 from Andrew Pinski --- Fixed.
[Bug tree-optimization/111346] `X <= MINMAX` pattern is missing :c on the cmp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111346 --- Comment #5 from CVS Commits --- The trunk branch has been updated by Andrew Pinski : https://gcc.gnu.org/g:190cf0ce8f4c141ac5b42d53b9ddeba367495333 commit r14-3832-g190cf0ce8f4c141ac5b42d53b9ddeba367495333 Author: Andrew Pinski Date: Sun Sep 10 15:59:41 2023 -0700 MATCH: [PR111346] `X CMP MINMAX` pattern missing :c on CMP I noticed this while working on other MINMAX optimizations. It was hard to find a simplified testcase though because it was dependent on the ssa name versions. Adding the `:c` to cmp allows the pattern to be match for the case where minmax as the first operand of the comparison rather than the second. Committed as obvious after a bootstrap/test on x86_64-linux-gnu. PR tree-optimization/111346 gcc/ChangeLog: * match.pd (`X CMP MINMAX`): Add `:c` on the cmp part of the pattern gcc/testsuite/ChangeLog: * gcc.dg/tree-ssa/minmaxcmp-1.c: New test.
[Bug target/111306] [12,13] macro-fusion makes error on conjugate complex multiplication fp16
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111306 --- Comment #8 from Hongtao.liu --- Fixed in GCC14.1 GCC13.3 GCC12.4
[Bug target/111335] fmaddpch seems not commutative for operands[1] and operands[2] due to precision loss
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111335 Hongtao.liu changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #4 from Hongtao.liu --- Fixed in GCC14.1 GCC13.3 GCC12.4
[Bug target/111306] [12,13] macro-fusion makes error on conjugate complex multiplication fp16
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111306 --- Comment #7 from CVS Commits --- The releases/gcc-12 branch has been updated by hongtao Liu : https://gcc.gnu.org/g:82c1ff396e49b706d5baa11f4c884810f6350e95 commit r12-9852-g82c1ff396e49b706d5baa11f4c884810f6350e95 Author: liuhongt Date: Fri Sep 8 09:22:43 2023 +0800 Remove constraint modifier % for fcmaddcph/fmaddcph/fcmulcph since there're not commutative. gcc/ChangeLog: PR target/111306 PR target/111335 * config/i386/sse.md (int_comm): New int_attr. (fma__): Remove % for Complex conjugate operations since they're not commutative. (fma___pair): Ditto. (___mask): Ditto. (cmul3): Ditto. gcc/testsuite/ChangeLog: * gcc.target/i386/pr111306.c: New test. (cherry picked from commit f197392a16ffb1327f1d12ff8ff05f9295e015cb)
[Bug target/111335] fmaddpch seems not commutative for operands[1] and operands[2] due to precision loss
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111335 --- Comment #3 from CVS Commits --- The releases/gcc-12 branch has been updated by hongtao Liu : https://gcc.gnu.org/g:82c1ff396e49b706d5baa11f4c884810f6350e95 commit r12-9852-g82c1ff396e49b706d5baa11f4c884810f6350e95 Author: liuhongt Date: Fri Sep 8 09:22:43 2023 +0800 Remove constraint modifier % for fcmaddcph/fmaddcph/fcmulcph since there're not commutative. gcc/ChangeLog: PR target/111306 PR target/111335 * config/i386/sse.md (int_comm): New int_attr. (fma__): Remove % for Complex conjugate operations since they're not commutative. (fma___pair): Ditto. (___mask): Ditto. (cmul3): Ditto. gcc/testsuite/ChangeLog: * gcc.target/i386/pr111306.c: New test. (cherry picked from commit f197392a16ffb1327f1d12ff8ff05f9295e015cb)
[Bug target/111306] [12,13] macro-fusion makes error on conjugate complex multiplication fp16
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111306 --- Comment #6 from CVS Commits --- The releases/gcc-13 branch has been updated by hongtao Liu : https://gcc.gnu.org/g:162731529e4dd10970880c369471229735dc3e9b commit r13-7789-g162731529e4dd10970880c369471229735dc3e9b Author: liuhongt Date: Fri Sep 8 09:22:43 2023 +0800 Remove constraint modifier % for fcmaddcph/fmaddcph/fcmulcph since there're not commutative. gcc/ChangeLog: PR target/111306 PR target/111335 * config/i386/sse.md (int_comm): New int_attr. (fma__): Remove % for Complex conjugate operations since they're not commutative. (fma___pair): Ditto. (___mask): Ditto. (cmul3): Ditto. gcc/testsuite/ChangeLog: * gcc.target/i386/pr111306.c: New test. (cherry picked from commit f197392a16ffb1327f1d12ff8ff05f9295e015cb)
[Bug target/111335] fmaddpch seems not commutative for operands[1] and operands[2] due to precision loss
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111335 --- Comment #2 from CVS Commits --- The releases/gcc-13 branch has been updated by hongtao Liu : https://gcc.gnu.org/g:162731529e4dd10970880c369471229735dc3e9b commit r13-7789-g162731529e4dd10970880c369471229735dc3e9b Author: liuhongt Date: Fri Sep 8 09:22:43 2023 +0800 Remove constraint modifier % for fcmaddcph/fmaddcph/fcmulcph since there're not commutative. gcc/ChangeLog: PR target/111306 PR target/111335 * config/i386/sse.md (int_comm): New int_attr. (fma__): Remove % for Complex conjugate operations since they're not commutative. (fma___pair): Ditto. (___mask): Ditto. (cmul3): Ditto. gcc/testsuite/ChangeLog: * gcc.target/i386/pr111306.c: New test. (cherry picked from commit f197392a16ffb1327f1d12ff8ff05f9295e015cb)
[Bug target/111335] fmaddpch seems not commutative for operands[1] and operands[2] due to precision loss
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111335 --- Comment #1 from CVS Commits --- The master branch has been updated by hongtao Liu : https://gcc.gnu.org/g:f197392a16ffb1327f1d12ff8ff05f9295e015cb commit r14-3831-gf197392a16ffb1327f1d12ff8ff05f9295e015cb Author: liuhongt Date: Fri Sep 8 09:22:43 2023 +0800 Remove constraint modifier % for fcmaddcph/fmaddcph/fcmulcph since there're not commutative. gcc/ChangeLog: PR target/111306 PR target/111335 * config/i386/sse.md (int_comm): New int_attr. (fma__): Remove % for Complex conjugate operations since they're not commutative. (fma___pair): Ditto. (___mask): Ditto. (cmul3): Ditto. gcc/testsuite/ChangeLog: * gcc.target/i386/pr111306.c: New test.
[Bug target/111306] [12,13] macro-fusion makes error on conjugate complex multiplication fp16
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111306 --- Comment #5 from CVS Commits --- The master branch has been updated by hongtao Liu : https://gcc.gnu.org/g:f197392a16ffb1327f1d12ff8ff05f9295e015cb commit r14-3831-gf197392a16ffb1327f1d12ff8ff05f9295e015cb Author: liuhongt Date: Fri Sep 8 09:22:43 2023 +0800 Remove constraint modifier % for fcmaddcph/fmaddcph/fcmulcph since there're not commutative. gcc/ChangeLog: PR target/111306 PR target/111335 * config/i386/sse.md (int_comm): New int_attr. (fma__): Remove % for Complex conjugate operations since they're not commutative. (fma___pair): Ditto. (___mask): Ditto. (cmul3): Ditto. gcc/testsuite/ChangeLog: * gcc.target/i386/pr111306.c: New test.
[Bug tree-optimization/111348] `(a CMP b) ? minmax : minmax` pattern missing :c on CMP
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111348 --- Comment #2 from Andrew Pinski --- Created attachment 55875 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55875&action=edit testcase Currentlyt test1 is able to optimize to MAX_EXPR , c> but not test1_
[Bug tree-optimization/111349] `Optimize (a CMP CST1) ? max : a` pattern's cmp is missing :c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111349 --- Comment #1 from Andrew Pinski --- Created attachment 55874 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55874&action=edit testcase Currently test1_ is only able to optimize to `return a;` during fold. test1 is caught via phiopt (minmax replacement still) and then during ccp1 is simplified down to a.
[Bug tree-optimization/111346] `X <= MINMAX` pattern is missing :c on the cmp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111346 --- Comment #4 from Andrew Pinski --- Created attachment 55873 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55873&action=edit Patch which I will commit after testing is finished
[Bug tree-optimization/111346] `X <= MINMAX` pattern is missing :c on the cmp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111346 --- Comment #3 from Andrew Pinski --- Actually here is a simplier testcase: ``` _Bool test1(int a, int b) { return ((a > b) ? a : b) >= a; // return 1; } _Bool test1_(int a, int b) { return a <= ((a > b) ? a : b); // return 1; } ``` Right now test1_ is able to optimize to 1 while test1 is not. but they are both the same.
[Bug tree-optimization/111364] `MAX_EXPR <= a` is not optimized to `a >= b`
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111364 Andrew Pinski changed: What|Removed |Added Ever confirmed|0 |1 Last reconfirmed||2023-09-10 Status|UNCONFIRMED |ASSIGNED
[Bug tree-optimization/111364] New: `MAX_EXPR <= a` is not optimized to `a >= b`
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111364 Bug ID: 111364 Summary: `MAX_EXPR <= a` is not optimized to `a >= b` Product: gcc Version: 14.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: enhancement Priority: P3 Component: tree-optimization Assignee: pinskia at gcc dot gnu.org Reporter: pinskia at gcc dot gnu.org Target Milestone: --- I Noticed this while looking into PR 111346: ``` _Bool test2(int a, int b) { int t = a; if (t < b) t = b; return t <= a; } ``` Should be optimized to just: ``` return a >= b; ``` There is a pattern for constants: /* MIN (X, C1) < C2 -> X < C2 || C1 < C2 */ But we could do the same when we know C1 == C2 and not constant (for !HONOR_NANS & !HONOR_SIGNED_ZEROS).
[Bug tree-optimization/111346] `X <= MINMAX` pattern is missing :c on the cmp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111346 Andrew Pinski changed: What|Removed |Added See Also||https://gcc.gnu.org/bugzill ||a/show_bug.cgi?id=96708 --- Comment #2 from Andrew Pinski --- Reduced testcase: ``` static inline _Bool test1 (int a, int b, int c) { return c >= a; } int f(); int g(); _Bool test2(int a, int b) { a = f(); a = g(); int t = a; if (t < b) t = b; return test1(a,b,t); } ``` This should just reduced to: ``` f (); g (); return 1; ``` But currently we get: ``` f (); a_5 = g (); _3 = MAX_EXPR ; _7 = _3 >= a_5; return _7; ``` Which does not match the referenced pattern due to the missing :c on cmp.
[Bug driver/86030] specs file processing does not create response files for input directories
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86030 --- Comment #9 from John Soo --- Would a patch for unix doing something similar to https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=180ebb8a24d24fc5b105f2257d6216f6dfde62df be accepted? I am happy to start working on something like it but I have no gcc contributions yet and would like to know ahead of time if it is desired.
[Bug c++/111363] New: internal compiler error when mistype type of operator<=>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111363 Bug ID: 111363 Summary: internal compiler error when mistype type of operator<=> Product: gcc Version: 9.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: sergei at tsaplin dot ru Target Milestone: --- Created attachment 55872 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55872&action=edit archive with 4 file described in the end of comment mistyped: "B operator<=>(const B &) const = default;" instead of: "auto operator<=>(const B &) const = default;" Got following error on compilation: kk.cpp:20:20: required from here kk.cpp:15:5: internal compiler error: in finish_expr_stmt, at cp/semantics.c:682 15 | B operator<=>(const B &) const = default; | ^~~~ 0x7f1c30f45082 __libc_start_main ../csu/libc-start.c:308 Error is reproduced when struct B has other struct A as a member and A has std::array as a member. gcc version: 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) exec command: g++ -std=c++20 kk.cpp -save-temps -v &> compiler_output.txt In attachements: gcc_v_output.txt: full output of "gcc -v" compiler_output.txt: output of exec command "g++ ..." kk.ii: file produced by -save-temps kk.cpp: single file with source code
[Bug bootstrap/102665] ELF-specific configure flags should be rejected on non-ELF platforms
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102665 --- Comment #7 from Eric Gallager --- Making some more progress on this: https://github.com/gcc-mirror/gcc/compare/master...cooljeanius:gcc:me/PR102665 Some notes: - There are a lot of these; I'm not quite sure how many to include in a single patch, or where I should stop... - I'm currently testing platform based on target, but I'm not quite sure if that's correct? Are these target flags or host flags? - All I've done so far has been to test to make sure that the flags are properly rejected on platforms where they're unsupported; I'd appreciate it if people could help with testing that they're still accepted on platforms where they're supposed to be accepted, though...
[Bug tree-optimization/111331] [11/12/13 Regression] Wrong code at -O1 on x86_64-linux-gnu since
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111331 Andrew Pinski changed: What|Removed |Added Summary|[11/12/13/14 Regression]|[11/12/13 Regression] Wrong |Wrong code at -O1 on|code at -O1 on |x86_64-linux-gnu since |x86_64-linux-gnu since --- Comment #14 from Andrew Pinski --- Fixed on the trunk, will backport in a few days.
[Bug tree-optimization/111331] [11/12/13/14 Regression] Wrong code at -O1 on x86_64-linux-gnu since
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111331 --- Comment #13 from CVS Commits --- The trunk branch has been updated by Andrew Pinski : https://gcc.gnu.org/g:30e6ee074588bacefd2dfe745b188bb20c81fe5e commit r14-3827-g30e6ee074588bacefd2dfe745b188bb20c81fe5e Author: Andrew Pinski Date: Thu Sep 7 22:13:31 2023 -0700 Fix PR 111331: wrong code for `a > 28 ? MIN : 29` The problem here is after r6-7425-ga9fee7cdc3c62d0e51730, the comparison to see if the transformation could be done was using the wrong value. Instead of see if the inner was LE (for MIN and GE for MAX) the outer value, it was comparing the inner to the value used in the comparison which was wrong. The match pattern copied the same logic mistake when they were added in r14-1411-g17cca3c43e2f49 . OK? Bootstrapped and tested on x86_64-linux-gnu. gcc/ChangeLog: PR tree-optimization/111331 * match.pd (`(a CMP CST1) ? max : a`): Fix the LE/GE comparison to the correct value. * tree-ssa-phiopt.cc (minmax_replacement): Fix the LE/GE comparison for the `(a CMP CST1) ? max : a` optimization. gcc/testsuite/ChangeLog: PR tree-optimization/111331 * gcc.c-torture/execute/pr111331-1.c: New test. * gcc.c-torture/execute/pr111331-2.c: New test. * gcc.c-torture/execute/pr111331-3.c: New test.
[Bug bootstrap/91972] Bootstrap should use -Wmissing-declarations
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91972 Eric Gallager changed: What|Removed |Added Keywords|easyhack| --- Comment #9 from Eric Gallager --- so, I've tried enabling this flag while building, and one problem with it is that GCC's genfoo machinery for its garbage collection system creates a bunch of gt-*.h headers with a bunch of autogenerated gt_ggc_mx and gt_pch_nx functions in them that all get warned about... this will require messing with the generator utilities to get them to stop generating code that warns, so this will be more difficult than I thought; removing the "easyhack" keyword...
[Bug bootstrap/106472] No rule to make target '../libbacktrace/libbacktrace.la', needed by 'libgo.la'.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106472 --- Comment #31 from matoro --- (In reply to Eric Gallager from comment #30) > (In reply to matoro from comment #26) > > We also had somebody report on IRC that they observed this on powerpc (not > > sure what tuple), again with -j1. It does not seem to show up with -j2, so > > likely -j1 is necessary to trigger. > > I can also confirm that switching to -j2 makes this particular error go away It may make it "go away", but how can it be worked around on real single-core systems? All that does is get lucky by throwing more parallelism at it. I've been completely unable to even try out gccgo because of this bug.
[Bug target/111362] New: [14 Regression] '-fcompare-debug' failure (length) with -O -fno-tree-ch --param=max-completely-peel-times=0 -march=rv64iv
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111362 Bug ID: 111362 Summary: [14 Regression] '-fcompare-debug' failure (length) with -O -fno-tree-ch --param=max-completely-peel-times=0 -march=rv64iv Product: gcc Version: 14.0 Status: UNCONFIRMED Keywords: compare-debug-failure Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: zsojka at seznam dot cz Target Milestone: --- Host: x86_64-pc-linux-gnu Target: riscv64-unknown-linux-gnu Created attachment 55871 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55871&action=edit reduced testcase Compiler output: $ riscv64-unknown-linux-gnu-gcc -O -fno-tree-ch --param=max-completely-peel-times=0 -march=rv64iv -fcompare-debug testcase.c -save-temps riscv64-unknown-linux-gnu-gcc: error: testcase.c: '-fcompare-debug' failure (length) $ diff -u *gkd --- a-testcase.c.gkd2023-09-10 13:14:46.728418677 +0200 +++ a-testcase.gk.c.gkd 2023-09-10 13:14:46.781751718 +0200 @@ -34,17 +34,7 @@ (const_int 8 [0x8])) [ S8 A64]) (reg:DI 9 s1)) (nil -(insn/f # 0 0 (set (mem/c:DI (reg/f:DI 2 sp) [ S8 A64]) -(reg:DI 18 s2)) "testcase.c":2:11# {*movdi_64bit} - (expr_list:REG_DEAD (reg:DI 18 s2) -(expr_list:REG_FRAME_RELATED_EXPR (set/f (mem/c:DI (reg/f:DI 2 sp) [ S8 A64]) -(reg:DI 18 s2)) -(nil (note # 0 0 NOTE_INSN_PROLOGUE_END) -(insn # 0 0 (set (reg:SI 18 s2 [139]) -(reg:SI 69 frm))# {frrmsi} - (expr_list:REG_DEAD (reg:SI 69 frm) -(nil))) (note # 0 0 NOTE_INSN_FUNCTION_BEG) (insn # 0 0 (set (reg:DI 8 s0 [orig:134 ivtmp_6 ] [134]) (const_int 2 [0x2])) "testcase.c":3:3# {*movdi_64bit} @@ -85,10 +75,6 @@ (const_int 8 [0x8])) [ S8 A64])) "testcase.c":5:1# {*movdi_64bit} (expr_list:REG_CFA_RESTORE (reg:DI 9 s1) (nil))) -(insn/f # 0 0 (set (reg:DI 18 s2) -(mem/c:DI (reg/f:DI 2 sp) [ S8 A64])) "testcase.c":5:1# {*movdi_64bit} - (expr_list:REG_CFA_RESTORE (reg:DI 18 s2) -(nil))) (insn # 0 0 (set (mem:BLK (scratch) [ A8]) (unspec:BLK [ (reg/f:DI 2 sp) @@ -118,12 +104,6 @@ (symbol_ref/f:DI ("*.LC0") [flags 0x82] ))) "testcase.c":4:5# {*lowdi} (expr_list:REG_EQUAL (symbol_ref/f:DI ("*.LC0") [flags 0x82] ) (nil))) -(insn # 0 0 (set (reg:SI 69 frm) -(unspec_volatile:SI [ -(reg:SI 18 s2 [139]) -] UNSPECV_FRM_RESTORE_EXIT)) "testcase.c":4:5# {fsrmsi_restore_volatile} - (expr_list:REG_UNUSED (reg:SI 69 frm) -(nil))) (call_insn # 0 0 (parallel [ (set (reg:DI 10 a0) (call (mem:SI (symbol_ref:DI ("printf") [flags 0x41] ) [ __builtin_printf S4 A32]) $ riscv64-unknown-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=/repo/gcc-trunk/binary-latest-riscv64/bin/riscv64-unknown-linux-gnu-gcc COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r14-3825-20230910101237-g0d50facd937-checking-yes-df-extra-riscv64/bin/../libexec/gcc/riscv64-unknown-linux-gnu/14.0.0/lto-wrapper Target: riscv64-unknown-linux-gnu Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++ --enable-valgrind-annotations --disable-nls --enable-checking=yes,df,extra --with-cloog --with-ppl --with-isl --with-isa-spec=2.2 --with-sysroot=/usr/riscv64-unknown-linux-gnu --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=riscv64-unknown-linux-gnu --with-ld=/usr/bin/riscv64-unknown-linux-gnu-ld --with-as=/usr/bin/riscv64-unknown-linux-gnu-as --disable-multilib --disable-libstdcxx-pch --prefix=/repo/gcc-trunk//binary-trunk-r14-3825-20230910101237-g0d50facd937-checking-yes-df-extra-riscv64 Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 14.0.0 20230910 (experimental) (GCC)
[Bug analyzer/111361] New: [14 Regression] ICE: in has_null_terminator, at analyzer/region-model.cc:3410 with -fanalyzer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111361 Bug ID: 111361 Summary: [14 Regression] ICE: in has_null_terminator, at analyzer/region-model.cc:3410 with -fanalyzer Product: gcc Version: 14.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: analyzer Assignee: dmalcolm at gcc dot gnu.org Reporter: zsojka at seznam dot cz Target Milestone: --- Host: x86_64-pc-linux-gnu Target: x86_64-pc-linux-gnu Created attachment 55870 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55870&action=edit reduced testcase Compiler output: $ x86_64-pc-linux-gnu-gcc -fanalyzer testcase.c during IPA pass: analyzer testcase.c: In function 'foo': testcase.c:7:3: internal compiler error: in has_null_terminator, at analyzer/region-model.cc:3410 7 | __builtin_strncpy (out, (void *)&v, 5); | ^~ 0x18a4beb ana::fragment::has_null_terminator(generic_wide_int >, generic_wide_int >*) const /repo/gcc-trunk/gcc/analyzer/region-model.cc:3410 0x1893cf5 ana::region_model::scan_for_null_terminator(ana::region const*, tree_node*, ana::svalue const**, ana::region_model_context*) const /repo/gcc-trunk/gcc/analyzer/region-model.cc:3676 0x18740c3 ana::kf_strncpy::impl_call_post(ana::call_details const&) const /repo/gcc-trunk/gcc/analyzer/kf.cc:1544 0x18740c3 ana::kf_strncpy::impl_call_post(ana::call_details const&) const /repo/gcc-trunk/gcc/analyzer/kf.cc:1409 0x189f197 ana::region_model::on_call_post(gcall const*, bool, ana::region_model_context*) /repo/gcc-trunk/gcc/analyzer/region-model.cc:1679 0x186137b ana::exploded_node::on_stmt_post(gimple const*, ana::program_state*, bool, ana::region_model_context*) /repo/gcc-trunk/gcc/analyzer/engine.cc:1569 0x186137b ana::exploded_node::on_stmt(ana::exploded_graph&, ana::supernode const*, gimple const*, ana::program_state*, ana::uncertainty_t*, ana::path_context*) /repo/gcc-trunk/gcc/analyzer/engine.cc:1507 0x1863e25 ana::exploded_graph::process_node(ana::exploded_node*) /repo/gcc-trunk/gcc/analyzer/engine.cc:4082 0x1864d6a ana::exploded_graph::process_worklist() /repo/gcc-trunk/gcc/analyzer/engine.cc:3476 0x186745f ana::impl_run_checkers(ana::logger*) /repo/gcc-trunk/gcc/analyzer/engine.cc:6144 0x18682e6 ana::run_checkers() /repo/gcc-trunk/gcc/analyzer/engine.cc:6232 0x1857608 execute /repo/gcc-trunk/gcc/analyzer/analyzer-pass.cc:87 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. $ x86_64-pc-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=/repo/gcc-trunk/binary-latest-amd64/bin/x86_64-pc-linux-gnu-gcc COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r14-3825-20230910101237-g0d50facd937-checking-yes-rtl-df-extra-nobootstrap-amd64/bin/../libexec/gcc/x86_64-pc-linux-gnu/14.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++ --enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra --disable-bootstrap --with-cloog --with-ppl --with-isl --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=x86_64-pc-linux-gnu --with-ld=/usr/bin/x86_64-pc-linux-gnu-ld --with-as=/usr/bin/x86_64-pc-linux-gnu-as --disable-libstdcxx-pch --prefix=/repo/gcc-trunk//binary-trunk-r14-3825-20230910101237-g0d50facd937-checking-yes-rtl-df-extra-nobootstrap-amd64 Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 14.0.0 20230910 (experimental) (GCC)
[Bug ada/81114] GNAT mishandles filenames with UTF8 chars on case-insensitive filesystems
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81114 Eric Gallager changed: What|Removed |Added CC||egallager at gcc dot gnu.org Status|SUSPENDED |UNCONFIRMED Ever confirmed|1 |0 --- Comment #5 from Eric Gallager --- (In reply to simon from comment #4) > (In reply to Eric Botcazou from comment #2) > > When I said in comment 1 > > >I have to say that, great as it would be to have this fixed, the changes > >required would be extensive, and I can’t see that anyone would think it > >worth the trouble. > > I meant that coping with macOS’s HFS+ behaviour w.r.t. NFC vs NFD was > something it’d be unreasonable to spend effort on fixing. > > The main point of this PR is that you can’t use extended characters in > unit names on case-insensitive filesystems, *which includes Windows*. > Fixing that problem (I can see it might mean introducing a new adaint.c > interface "is filesystem UTF8?") would be a good thing. Can the compiler > use iconv? or Ada.Wide_Characters.Handling, > Ada.Strings.UTF_Encoding.[Wide_]Strings? > > The awkwardness discussed in comment 1 isn’t really a problem except > when compiling the offending unit from the command line; when compiled > as part of the closure by gnatmake there’s no problem, I guess gnatmake > reads the unit name in NFC and gets the file name in NFD from the file > system. > > I think there _is_ a problem in gprbuild but of course that’s nothing > to do with GCC. > > Please can this PR be reopened? Well, it was never closed in the first place, just marked as SUSPENDED, but I can put it back to UNCONFIRMED, I guess...
[Bug other/111360] contrib/gcc_update: bad test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111360 Eric Gallager changed: What|Removed |Added CC||belyshev at depni dot sinp.msu.ru --- Comment #1 from Eric Gallager --- git blame says that Serge Belyshev was the last to touch this line in r12-3370-g78b34cd8a803aa; adding to cc
[Bug other/111360] New: contrib/gcc_update: bad test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111360 Bug ID: 111360 Summary: contrib/gcc_update: bad test Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other Assignee: unassigned at gcc dot gnu.org Reporter: egallager at gcc dot gnu.org Target Milestone: --- Running contrib/gcc_update on the gcc111 machine on the compile farm includes the following message in its output: ./contrib/gcc_update[346]: test: argument expected The line in question has: if test -n $r; then Shouldn't the "${r}" be quoted or something? Or maybe the issue is actually that the command to set it on the previous lines is failing; it's set like this: # Open-coded version of "git gcc-descr" from contrib/gcc-git-customization.sh revision=`$GCC_GIT log -n1 --pretty=tformat:%h` r=`$GCC_GIT describe --all --match 'basepoints/gcc-[0-9]*' HEAD \ | sed -n 's,^\(tags/\)\?basepoints/gcc-\([0-9]\+\)-\([0-9]\+\)-g[0-9a-f]*$,r\2-\3,p;s,^\(tags/\)\?basepoints/gcc-\([0-9]\+\)$,r\2-0,p'`;
[Bug other/17239] gcc_update not being writable while it is running
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=17239 Eric Gallager changed: What|Removed |Added CC||egallager at gcc dot gnu.org --- Comment #4 from Eric Gallager --- patch in question references CVS; is it still relevant now that gcc has migrated to git?
[Bug other/111359] contrib/gcc-git-customization.sh uses getent, which is non-portable
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111359 Eric Gallager changed: What|Removed |Added CC||rearnsha at gcc dot gnu.org --- Comment #1 from Eric Gallager --- git blame says Richard Earnshaw added the line in r10-6003-g545f5fad17ff0d; adding to cc
[Bug other/111359] New: contrib/gcc-git-customization.sh uses getent, which is non-portable
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111359 Bug ID: 111359 Summary: contrib/gcc-git-customization.sh uses getent, which is non-portable Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other Assignee: unassigned at gcc dot gnu.org Reporter: egallager at gcc dot gnu.org Target Milestone: --- On both darwin and AIX, running contrib/gcc-git-customization.sh will print messages like this: contrib/gcc-git-customization.sh[49]: getent: not found. Running `which getent` confirms: which: 0652-141 There is no getent in /usr/bin /etc /usr/sbin /usr/ucb /home/egallager/bin /usr/bin/X11 /sbin .. Suggest switching to a different sort of test when getent isn't available.
[Bug c++/111300] Modules error: mangling of [lambda] conflicts with previous mangle
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111300 --- Comment #7 from Jonathan Wakely --- Given the note, maybe this is an intentional error to avoid creating a compiled module interface that might not be usable: note: a later '-fabi-version=' (or =0) avoids this error with a change in mangling But since a compiled module can't be used with different versions of the compiler or even with different flags, I'm not sure how any conflict can happen.
[Bug c++/111300] Modules error: mangling of [lambda] conflicts with previous mangle
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111300 Jonathan Wakely changed: What|Removed |Added Summary|[14 Regression] |Modules error: mangling of |g++.dg/modules/xtreme-heade |[lambda] conflicts with |r_b.C |previous mangle --- Comment #6 from Jonathan Wakely --- (In reply to Hans-Peter Nilsson from comment #4) > So, keeping this PR open is TRT? Yes, I think so. > Should the title then change to reflect a description of the latent error? I've changed it to something that I think is more descriptive. I didn't mention the library header name, because the version of the header on trunk doesn't reveal it now. I haven't succeeded in reducing the error yet.
[Bug libstdc++/111358] libstdc++'s optional::and_then and optional::transform are not ADL-proof
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111358 --- Comment #1 from Jiang An --- Related issues: Monadic operations of expected are not ADL-proof per the uses of **this in [expected.object.monadic]. However, currently implementations make them ADL-proof by directly naming the union member, which is right IMO. P2407R5 (https://wg21.link/p2407r5) is changing value() to **this in [optional.monadic], which makes the monadic operations of optional not ADL-proof. I believe this is a mistake. I've mailed to LWG Chair to submit an LWG issue for these issues.
[Bug libstdc++/111358] New: libstdc++'s optional::and_then and optional::transform are not ADL-proof
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111358 Bug ID: 111358 Summary: libstdc++'s optional::and_then and optional::transform are not ADL-proof Product: gcc Version: 14.0 Status: UNCONFIRMED Keywords: rejects-valid Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: de34 at live dot cn Target Milestone: --- The following program is incorrectly rejected when using libstdc++ (https://godbolt.org/z/eavTYjEdx): ``` #include namespace fvs { struct Foo {}; void operator*(std::optional) = delete; } int main() { std::optional{}.and_then( [](auto&&){ return std::optional{}; }); std::optional{}.transform( [](auto&&){ return 0; }); } ``` The reason of compilation error is that libstdc++ uses **this in and_then and transform functions, which triggers ADL and finds unwanted operator*(). These monadic operations are currently specified in [optional.monadic] with value(), so they should be ADL-proof.
[Bug c++/111356] Segmentation fault when compiling large static data structure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111356 --- Comment #4 from Xi Ruoyao --- BTW it works with 13.2.0 with "ulimit -s 131072" too, so it's a stack usage issue.
[Bug c++/111356] Segmentation fault when compiling large static data structure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111356 Xi Ruoyao changed: What|Removed |Added CC||xry111 at gcc dot gnu.org Known to work||14.0 Keywords||needs-bisection Known to fail||13.2.0 --- Comment #3 from Xi Ruoyao --- Fails for me with 13.2. Maybe a duplicate of a PR fixed in trunk.