[Bug fortran/107062] [13 regression] gfortran.dg/ieee/fma_1.f90 fails after r13-2577-g7c4c65d11469d2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107062 --- Comment #5 from Francois-Xavier Coudert --- Fixed on trunk: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=31d7c8bc2630e1b5a35ccce97ac862c4920ba582
[Bug fortran/107062] [13 regression] gfortran.dg/ieee/fma_1.f90 fails after r13-2577-g7c4c65d11469d2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107062 Francois-Xavier Coudert changed: What|Removed |Added Resolution|--- |FIXED Status|ASSIGNED|RESOLVED --- Comment #6 from Francois-Xavier Coudert --- Closing.
[Bug c++/107128] New: armhf: floatn-common.h:214:9: error: multiple types in one declaration
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107128 Bug ID: 107128 Summary: armhf: floatn-common.h:214:9: error: multiple types in one declaration Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: malat at debian dot org Target Milestone: --- Steps: % cat p.cxx #include int main() { return 0; } Lead to: % /usr/lib/gcc-snapshot/bin/g++ -v p.cxx Using built-in specs. COLLECT_GCC=/usr/lib/gcc-snapshot/bin/g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc-snapshot/libexec/gcc/arm-linux-gnueabihf/13/lto-wrapper Target: arm-linux-gnueabihf Configured with: ../src/configure -v --with-pkgversion='Debian 20221001-1' --with-bugurl=file:///usr/share/doc/gcc-snapshot/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr/lib/gcc-snapshot --with-gcc-major-version-only --program-prefix= --enable-shared --enable-linker-build-id --disable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv7-a+fp --with-float=hard --with-mode=thumb --disable-werror --enable-checking=yes --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.0.0 20221001 (experimental) [master r13-3010-g2555071c954] (Debian 20221001-1) COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-mfloat-abi=hard' '-mtls-dialect=gnu' '-mthumb' '-mlibarch=armv7-a+fp' '-march=armv7-a+fp' '-dumpdir' 'a-' /usr/lib/gcc-snapshot/libexec/gcc/arm-linux-gnueabihf/13/cc1plus -quiet -v -imultilib . -imultiarch arm-linux-gnueabihf -D_GNU_SOURCE p.cxx -quiet -dumpdir a- -dumpbase p.cxx -dumpbase-ext .cxx -mfloat-abi=hard -mtls-dialect=gnu -mthumb -mlibarch=armv7-a+fp -march=armv7-a+fp -version -o /tmp/ccjKJPO9.s GNU C++17 (Debian 20221001-1) version 13.0.0 20221001 (experimental) [master r13-3010-g2555071c954] (arm-linux-gnueabihf) compiled by GNU C version 13.0.0 20221001 (experimental) [master r13-3010-g2555071c954], GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.25-GMP GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 ignoring nonexistent directory "/usr/local/include/arm-linux-gnueabihf" ignoring nonexistent directory "/usr/lib/gcc-snapshot/lib/gcc/arm-linux-gnueabihf/13/include-fixed/arm-linux-gnueabihf" ignoring nonexistent directory "/usr/lib/gcc-snapshot/lib/gcc/arm-linux-gnueabihf/13/include-fixed" ignoring nonexistent directory "/usr/lib/gcc-snapshot/lib/gcc/arm-linux-gnueabihf/13/../../../../arm-linux-gnueabihf/include" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc-snapshot/lib/gcc/arm-linux-gnueabihf/13/../../../../include/c++/13 /usr/lib/gcc-snapshot/lib/gcc/arm-linux-gnueabihf/13/../../../../include/c++/13/arm-linux-gnueabihf/. /usr/lib/gcc-snapshot/lib/gcc/arm-linux-gnueabihf/13/../../../../include/c++/13/backward /usr/lib/gcc-snapshot/lib/gcc/arm-linux-gnueabihf/13/include /usr/local/include /usr/lib/gcc-snapshot/include /usr/include/arm-linux-gnueabihf /usr/include End of search list. GNU C++17 (Debian 20221001-1) version 13.0.0 20221001 (experimental) [master r13-3010-g2555071c954] (arm-linux-gnueabihf) compiled by GNU C version 13.0.0 20221001 (experimental) [master r13-3010-g2555071c954], GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.25-GMP GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: b7ab5fecab0bff7040c765f74b83b0c1 In file included from /usr/include/arm-linux-gnueabihf/bits/floatn.h:52, from /usr/include/stdio.h:430, from p.cxx:1: /usr/include/arm-linux-gnueabihf/bits/floatn-common.h:214:9: error: multiple types in one declaration 214 | typedef float _Float32; | ^ /usr/include/arm-linux-gnueabihf/bits/floatn-common.h:214:15: error: declaration does not declare anything [-fpermissive] 214 | typedef float _Float32; | ^~~~ /usr/include/arm-linux-gnueabihf/bits/floatn-common.h:238:14: error: multiple types in one declaration 238 | typedef long double _Float64; | ^~ /usr/include/arm-linux-gnueabihf/bits/floatn-common.h:238:21: error: declaration does not declare anything [-fpermissive] 238 | typedef long double _Float64; | ^~~~ /usr/include/arm-linux-gnueabihf/bits/floatn-common.h:268:9: error: multiple types in one declaration 268 | typedef double _Floa
[Bug c++/107128] armhf: floatn-common.h:214:9: error: multiple types in one declaration
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107128 Andrew Pinski changed: What|Removed |Added Ever confirmed|0 |1 Status|UNCONFIRMED |WAITING Last reconfirmed||2022-10-03 --- Comment #1 from Andrew Pinski --- Is this a packaging issue? > ignoring nonexistent directory > "/usr/lib/gcc-snapshot/lib/gcc/arm-linux-gnueabihf/13/include-fixed/arm-linux-gnueabihf" ignoring nonexistent directory "/usr/lib/gcc-snapshot/lib/gcc/arm-linux-gnueabihf/13/include-fixed" Gcc 13 requires some (older) glibc headers to be fixed up .
[Bug sanitizer/105531] [13 regression] Recent libsanitizer imports breaks Solaris 11.3 build
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105531 Eric Botcazou changed: What|Removed |Added Resolution|FIXED |--- Status|RESOLVED|REOPENED Last reconfirmed||2022-10-03 Ever confirmed|0 |1 CC||ebotcazou at gcc dot gnu.org --- Comment #3 from Eric Botcazou --- Broken again, but apparently you already fixed it upstream?
[Bug c++/107128] armhf: floatn-common.h:214:9: error: multiple types in one declaration
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107128 --- Comment #2 from Mathieu Malaterre --- > Gcc 13 requires some (older) glibc headers to be fixed up . I could not reproduce it under my Debian amd64/chroot. I'll check with doko@d.o then. Sorry for the noise.
[Bug bootstrap/107119] Bootstrap ICE on 32-bit ARM after r13-2871-g1b74b5cb4e9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107119 Christophe Lyon changed: What|Removed |Added CC||clyon at gcc dot gnu.org --- Comment #3 from Christophe Lyon --- It seems bootstrap is working on my side.
[Bug fortran/107071] gfortran.dg/ieee/modes_1.f90 fails on aarch64-linux
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107071 --- Comment #10 from Richard Earnshaw --- That sounds broadly sensible. One optimization might be to check if the exception trapping is already enabled, then you can skip the read/set/restore dance entirely in that case. That might be more efficient on some hardware as changing the flags might cause a pipeline bubble. The same is also true for the other tests where you do a read/set/restore sequence.
[Bug debug/107110] failure (length) with -fcompare-debug at -O1 and above
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107110 Martin Liška changed: What|Removed |Added Ever confirmed|0 |1 CC||marxin at gcc dot gnu.org Status|UNCONFIRMED |NEW Last reconfirmed||2022-10-03 --- Comment #1 from Martin Liška --- Started somewhere between r11-4120-g94fd05f1f76faca9 and r11-4127-g35f258f4bbba7fa0.
[Bug rtl-optimization/107094] [13 Regression] ICE in require, at machmode.h:297 since r13-2916-gd0b00b63a39108
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107094 Martin Liška changed: What|Removed |Added CC||doko at gcc dot gnu.org --- Comment #2 from Martin Liška --- *** Bug 107112 has been marked as a duplicate of this bug. ***
[Bug target/107112] [13 Regression] endless loop building the amdgcn-amdhsa offload compiler
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107112 Martin Liška changed: What|Removed |Added CC||marxin at gcc dot gnu.org Resolution|--- |DUPLICATE Status|UNCONFIRMED |RESOLVED --- Comment #1 from Martin Liška --- Dup. *** This bug has been marked as a duplicate of bug 107094 ***
[Bug bootstrap/107120] [13 Regression] trunk fails to bootstrap on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107120 Martin Liška changed: What|Removed |Added Last reconfirmed||2022-10-03 Status|UNCONFIRMED |WAITING CC||marxin at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Martin Liška --- Should be fixed with r13-2932-ga5a9237e2a78a9, can you confirm that?
[Bug tree-optimization/107109] [13 Regression] ICE on valid code at -O1 on x86_64-linux-gnu: in type, at value-range.h:621 since r13-2975-g7ea258a13a115e9e
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107109 Martin Liška changed: What|Removed |Added Summary|ICE on valid code at -O1 on |[13 Regression] ICE on |x86_64-linux-gnu: in type, |valid code at -O1 on |at value-range.h:621|x86_64-linux-gnu: in type, ||at value-range.h:621 since ||r13-2975-g7ea258a13a115e9e Target Milestone|--- |13.0 Version|unknown |13.0 CC||aldyh at gcc dot gnu.org, ||amacleod at redhat dot com, ||marxin at gcc dot gnu.org Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Last reconfirmed||2022-10-03 --- Comment #2 from Martin Liška --- Started with r13-2975-g7ea258a13a115e9e.
[Bug c/107127] [11/12/13 Regression] Long compile times on code with C complex since r11-3299-gcba079f354a55363
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107127 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Summary|[Regression 11/12] Long |[11/12/13 Regression] Long |compile times on code with |compile times on code with |C complex |C complex since ||r11-3299-gcba079f354a55363 CC||marxin at gcc dot gnu.org, ||sandra at codesourcery dot com Last reconfirmed||2022-10-03 --- Comment #1 from Martin Liška --- Started with r11-3299-gcba079f354a55363. Thanks for the bug report.
[Bug sanitizer/105531] [13 regression] Recent libsanitizer imports breaks Solaris 11.3 build
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105531 --- Comment #4 from Martin Liška --- Yes, the change landed to upstream as 3776db9a4fd2080d23d6a5f52e405eea44558761 and thus should be part of what I merged in r13-2269-g600413c4f3d703.
[Bug sanitizer/105531] [13 regression] Recent libsanitizer imports breaks Solaris 11.3 build
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105531 --- Comment #5 from ro at CeBiTec dot Uni-Bielefeld.DE --- > --- Comment #4 from Martin Liška --- > Yes, the change landed to upstream as 3776db9a4fd2080d23d6a5f52e405eea44558761 > and thus should be part of what I merged in r13-2269-g600413c4f3d703. That's the fix for the previous breakage. The one Eric is alluding to is https://reviews.llvm.org/D133556 (1cd4d63fb9ab0f04c7151911dde0d58b673823de). I mean to submit a patch cherry-picking that one shortly.
[Bug sanitizer/105531] [13 regression] Recent libsanitizer imports breaks Solaris 11.3 build
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105531 --- Comment #6 from Martin Liška --- (In reply to r...@cebitec.uni-bielefeld.de from comment #5) > > --- Comment #4 from Martin Liška --- > > Yes, the change landed to upstream as > > 3776db9a4fd2080d23d6a5f52e405eea44558761 > > and thus should be part of what I merged in r13-2269-g600413c4f3d703. > > That's the fix for the previous breakage. The one Eric is alluding to > is https://reviews.llvm.org/D133556 > (1cd4d63fb9ab0f04c7151911dde0d58b673823de). I mean to submit a patch > cherry-picking that one shortly. Ok, I see. Please commit the change once you send it.
[Bug c++/107126] GCC accepts invalid out of class definition for destructor with C++17
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107126 --- Comment #7 from Jonathan Wakely --- https://wg21.link/cwg1435 introduced the wording that allows this (which can still be seen in the context for the [class.dtor] changes in CWG 2337): "in a declaration at namespace scope or in a friend declaration, the id-expression is nested-name-specifier ~class-name and the class-name names the same class as the nested-name-specifier." https://wg21.link/p1787r6 changed that to: "otherwise, the id-expression is nested-name-specifier ~class-name and the class-name is the injected-class-name of the class nominated by the nested-name-specifier." This seems like a breaking change that was not obvious from the revision history of the r5 paper: - Required destructor declarations to use the injected-class-name, avoiding name lookup - Simplified lookup for destructors - Specified that < begins a template argument list in a destructor name All compilers accept the program in C++17 mode, and I don't think it's at all clear that the code was always invalid in older standards, as you claim.
[Bug c/107127] [11/12/13 Regression] Long compile times on code with C complex since r11-3299-gcba079f354a55363
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107127 --- Comment #2 from Martin Liška --- Reduced test-case: $ cat x.i int *loopy_kernel_expr9; void loopy_kernel() { _Complex var_e9_11; double var_e9_15; ; ; double var_e9_6; ; loopy_kernel_expr9[0] / var_e9_6 * (0 - 0 / var_e9_11 + 699.0 + 7.050460596289373 - 286.0 - +-4.659839407494593 + 1.5759632377305621 + 0) * 0 - 3.287790705257411 + 4.226175928534705 + 0)) * var_e9_15 + 5.065182909294865) * 1.2325048646197416 * 0 * 0 - 8.459732847790127 + 0 + 88.0 + 6.967677749063906 + 867.0 + 9.104465770830789 - 7.042039895022722 * -1.0); } $ time gcc-7 x.i -c real0m0.028s user0m0.007s sys 0m0.021s $ time gcc-12 x.i -c real0m1.675s user0m1.656s sys 0m0.018s
[Bug sanitizer/105531] [13 regression] Recent libsanitizer imports breaks Solaris 11.3 build
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105531 --- Comment #7 from Eric Botcazou --- > I mean to submit a patch cherry-picking that one shortly. OK, thanks in advance.
[Bug fortran/107000] ICE in gfc_real2complex, at fortran/arith.cc:2243
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107000 --- Comment #18 from Mikael Morin --- (In reply to anlauf from comment #14) > > We could walk through the elements of each array passed to reduce_binary > and check the types of the elements there, or do this check in a somewhat > more clever way than in the patch attached to comment#3. > > This patch tried to perform checks in reduce_binary_ac, but I was not happy > with that particular implementation. > > When looping over the elements, we currently have > > gfc_simplify_expr (c->expr, 0); > > if (c->expr->expr_type == EXPR_CONSTANT) > rc = eval (c->expr, op2, &r); > else > rc = reduce_binary_ac (eval, c->expr, op2, &r); > > and do not handle the case that c->expr->ts.type == BT_UNKNOWN. > Should we return sth. like rc = ARITH_INCOMMENSURATE, except that it is > not array .op. array? Well, a new return code seems better (ARITH_INVALID_TYPE ?). I think it's better to move the check to the various gfc_arith_times, gfc_arith_plus, gfc_arith_concat etc, because only those functions know what type is appropriate and what is not. Admittedly BT_UNKNOWN is probably never appropriate, and the check could be done in reduce_binary_ac, but then it should be in reduce_binary_ca, reduce_binary_aa and reduce_unary as well. Then what's missing is a goto runtime in eval_intrinsic if evaluation returns ARITH_INVALID_TYPE. That's the first solution.
[Bug c++/107128] armhf: floatn-common.h:214:9: error: multiple types in one declaration
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107128 --- Comment #3 from Mathieu Malaterre --- > some (older) glibc By older what do you mean exactly ? It seems my system provides glibc 2.35: malat@amdahl /tmp % apt-cache policy libc6-dev libc6-dev: Installed: 2.35-1 Candidate: 2.35-1 Version table: *** 2.35-1 500 500 https://deb.debian.org/debian sid/main armhf Packages 100 /var/lib/dpkg/status
[Bug c++/107128] armhf: floatn-common.h:214:9: error: multiple types in one declaration
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107128 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #4 from Jakub Jelinek --- By older in this case is any glibc >= 2.26 and < https://sourceware.org/git/?p=glibc.git;a=commit;h=3e5760fcb48528d48deeb60cb885a97bb731160c (i.e. for gcc 13, you can avoid fixincludes only for very old glibc (< 2.26) or if you have 4 or less days old glibc trunk.
[Bug fortran/107000] ICE in gfc_real2complex, at fortran/arith.cc:2243
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107000 --- Comment #19 from Mikael Morin --- (In reply to anlauf from comment #17) > (In reply to anlauf from comment #16) > > Created attachment 53651 [details] > > Revised patch > > Unfortunately this regresses on gfortran.dg/pr91552.f90, e.g. > > print *, 2 * [real :: 1, [2], 3] Yes, verify_types misses a call to itself for every element that is an array. I think we should not reject all mismatching types, because there is a call to gfc_type_convert_binary further down that is able to handle conversions on numeric types. Basically all numeric types, even if mismatching, should work. That's the second solution.
[Bug tree-optimization/107129] New: [13 Regression] False positive -Wstringop-overflow warning with -O2 or -O3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107129 Bug ID: 107129 Summary: [13 Regression] False positive -Wstringop-overflow warning with -O2 or -O3 Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: daniel at constexpr dot org Target Milestone: --- Created attachment 53652 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53652&action=edit Reduced testcase The attached testcase produces the following warning with GCC 13.0.0 20221002 (commit 3290dcf): $ /opt/gcc-dev/bin/c++ -O2 -c test.cpp test.cpp: In member function ‘void C::f()’: test.cpp:39:33: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 39 | c[i] = e(1.f - i, i); |~^~~~ test.cpp:9:23: note: at offset 1 into destination object ‘C4::r’ of size 1 9 | unsigned char r; |
[Bug tree-optimization/107129] [13 Regression] False positive -Wstringop-overflow warning with -O2 or -O3 since r13-137-gee1cb43bc76de800
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107129 Martin Liška changed: What|Removed |Added Ever confirmed|0 |1 Last reconfirmed||2022-10-03 Summary|[13 Regression] False |[13 Regression] False |positive|positive |-Wstringop-overflow warning |-Wstringop-overflow warning |with -O2 or -O3 |with -O2 or -O3 since ||r13-137-gee1cb43bc76de800 Status|UNCONFIRMED |NEW CC||marxin at gcc dot gnu.org, ||msebor at gcc dot gnu.org, ||rguenth at gcc dot gnu.org --- Comment #1 from Martin Liška --- Started with r13-137-gee1cb43bc76de800.
[Bug tree-optimization/107130] New: [13 Regression] wrong code with -Os -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107130 Bug ID: 107130 Summary: [13 Regression] wrong code with -Os -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre Product: gcc Version: 13.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: zsojka at seznam dot cz Target Milestone: --- Host: x86_64-pc-linux-gnu Created attachment 53653 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53653&action=edit reduced testcase Output: $ x86_64-pc-linux-gnu-gcc -Os -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre testcase.c $ ./a.out Aborted The generated code just aborts: main: pushrax callabort $ x86_64-pc-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=/repo/gcc-trunk/binary-latest/bin/x86_64-pc-linux-gnu-gcc COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r13-3023-20221003092645-g31d7c8bc263-checking-yes-rtl-df-extra-nobootstrap-amd64/bin/../libexec/gcc/x86_64-pc-linux-gnu/13.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-r13-3023-20221003092645-g31d7c8bc263-checking-yes-rtl-df-extra-nobootstrap-amd64 Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.0.0 20221003 (experimental) (GCC)
[Bug tree-optimization/107130] [13 Regression] wrong code with -Os -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre since r13-2900-g001c60ccfeaf9a48
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107130 Martin Liška changed: What|Removed |Added Last reconfirmed||2022-10-03 Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Summary|[13 Regression] wrong code |[13 Regression] wrong code |with -Os -fno-tree-ccp |with -Os -fno-tree-ccp |-fno-tree-forwprop |-fno-tree-forwprop |-fno-tree-fre |-fno-tree-fre since ||r13-2900-g001c60ccfeaf9a48 CC||aldyh at gcc dot gnu.org, ||marxin at gcc dot gnu.org --- Comment #1 from Martin Liška --- Started with r13-2900-g001c60ccfeaf9a48.
[Bug tree-optimization/107130] [13 Regression] wrong code with -Os -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre since r13-2900-g001c60ccfeaf9a48
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107130 --- Comment #2 from Zdenek Sojka --- (In reply to Martin Liška from comment #1) > Started with r13-2900-g001c60ccfeaf9a48. Nice, so ffs() with a propagated constant argument now does a popcount() instead?
[Bug tree-optimization/107130] [13 Regression] wrong code with -Os -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre since r13-2900-g001c60ccfeaf9a48
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107130 --- Comment #3 from Martin Liška --- > Nice, so ffs() with a propagated constant argument now does a popcount() > instead? It should not. The problem is op_cfn_popcount is shared by both popcount and ffs, but the newly added transformation is valid only for popcount.
[Bug tree-optimization/107130] [13 Regression] wrong code with -Os -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre since r13-2900-g001c60ccfeaf9a48
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107130 Martin Liška changed: What|Removed |Added Target Milestone|--- |13.0 Priority|P3 |P1
[Bug libgcc/106949] Memory leak using VLA with -fsplit-stack
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106949 --- Comment #2 from Anton Fedorov --- Created attachment 53654 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53654&action=edit potential fix I checked with the HEAD (43faf3e5445b571731e52faa1be085ecd0a09323) and the issue is still there. While it's kind of trivial to move the leak from "leak" to "not freed by the end of the program" with proposed patch to create an empty segment, it doesn't seems to fix the problem with the approach that there is no way to mark malloc()'ed alloca()'s in case we are on the main stack segment. But the problem extends beyond the allocation on the main segment -- no matter when we enter the some large function that keeps calling the subfunction with VLA/alloca, the memory will keep growing without collection. For example, if we'll call leak function in a loop (imagine we run even processing loop, network processing loop etc etc that calls some handler that have alloca/VLA), the memory will grow without any way to free it. ``` static int leak(int s) { volatile int n[5000+s]; for (int i = 0; i < s; i++) { n[i] = 0; } return -1; } int main() { int a = leak(1); a += a; for(int i = 0; i < 1; ++i) a += leak(i+1); return 0; } ``` I see the option to generate code to explicitly move N (number of calls to __morestack_allocate_stack_space in the function) first dynamic_allocation elements to free_dynamic_allocation list before execution return -- at cost of extra check & jmp for case when stack is sufficient. Given that -fsplit-stack accepts extra cost for stack guarantees -- this extra cost for avoiding memory leak should be fine?
[Bug sanitizer/105531] [13 regression] Recent libsanitizer imports breaks Solaris 11.3 build
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105531 Rainer Orth changed: What|Removed |Added Resolution|--- |FIXED Status|REOPENED|RESOLVED --- Comment #8 from Rainer Orth --- Done now, however this wasn't somehow picked up in the PR.
[Bug bootstrap/107119] Bootstrap ICE on 32-bit ARM after r13-2871-g1b74b5cb4e9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107119 Maxim Kuvyrkov changed: What|Removed |Added Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED --- Comment #4 from Maxim Kuvyrkov --- (In reply to Jeffrey A. Law from comment #2) > Does it still happen after this: > Author: Jeff Law > Date: Tue Sep 27 01:44:38 2022 -0400 > > Fix ICEs due to recent jump-to-return optimization > > gcc/ > * cfgrtl.cc (fixup_reorder_chain): Verify that simple_return > and return are available before trying to use them. After this commit the bootstrap still failed, but something from the below committed on September 29th fixed it: ada: Fix checking of Refined_State with nested package renamings (detail) ada: Improve efficiency of slice-of-component assignment (detail) ada: Further tweak new expansion of contracts (detail) ada: Remove duplicated doc comment section (detail) support -gz=zstd for both linker and assembler (detail) driver, cppdefault: Unbreak bootstrap on Debian/Ubuntu [PR107059] (detail) Add OPTIONS_H_EXTRA to GTFILES (detail) aarch64: Rename AARCH64_ISA architecture-level macros (detail) aarch64: Rename AARCH64_FL architecture-level macros (detail) aarch64: Rename AARCH64_FL_FOR_ARCH macros (detail) aarch64: Add "V" to aarch64-arches.def names (detail) aarch64: Small config.gcc cleanups (detail) aarch64: Avoid redundancy in aarch64-cores.def (detail) aarch64: Remove AARCH64_FL_RCPC8_4 [PR107025] (detail) aarch64: Fix transitive closure of features (detail) aarch64: Reorder an entry in aarch64-option-extensions.def (detail) aarch64: Simplify feature definitions (detail) aarch64: Simplify generation of .arch strings (detail) aarch64: Avoid std::string in static data (detail) aarch64: Tweak constness of option-related data (detail) aarch64: Make more use of aarch64_feature_flags (detail) aarch64: Tweak contents of flags_on/off fields (detail) aarch64: Tweak handling of -mgeneral-regs-only (detail) aarch64: Remove redundant TARGET_* checks (detail) data-ref: Fix ranges_maybe_overlap_p test (detail) place `const volatile' objects in read-only sections (detail) c++: import/export NTTP objects (detail) libstdc++: Guard use of new built-in with __has_builtin (detail) c++: introduce TRAIT_TYPE alongside TRAIT_EXPR (detail) c++: implement __remove_cv, __remove_reference and __remove_cvref (detail) OpenACC: whole struct vs. component mappings (PR107028) (detail)
[Bug target/107131] New: wrong code with -Os -fno-ipa-vrp -fno-tree-bit-ccp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107131 Bug ID: 107131 Summary: wrong code with -Os -fno-ipa-vrp -fno-tree-bit-ccp Product: gcc Version: 13.0 Status: UNCONFIRMED Keywords: wrong-code 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: x86_64-pc-linux-gnu Created attachment 53655 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53655&action=edit reduced testcase Output: $ x86_64-pc-linux-gnu-gcc -Os -fno-ipa-vrp -fno-tree-bit-ccp testcase.c -Wno-psabi $ ./a.out Aborted $ x86_64-pc-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=/repo/gcc-trunk/binary-latest/bin/x86_64-pc-linux-gnu-gcc COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r13-3023-20221003092645-g31d7c8bc263-checking-yes-rtl-df-extra-nobootstrap-amd64/bin/../libexec/gcc/x86_64-pc-linux-gnu/13.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-r13-3023-20221003092645-g31d7c8bc263-checking-yes-rtl-df-extra-nobootstrap-amd64 Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.0.0 20221003 (experimental) (GCC)
[Bug c++/107118] "does not name a type" when used in constrained struct specialization
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107118 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Last reconfirmed||2022-10-03 Keywords||rejects-valid
[Bug c++/96830] GCC does not complain about redeclaration with inconsistent requires clause
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96830 --- Comment #10 from Jonathan Wakely --- (In reply to Jonathan Wakely from comment #9) > Reduced to show Clang's confusion: https://godbolt.org/z/E1Kq4Gfed Reported as https://github.com/llvm/llvm-project/issues/58124
[Bug sanitizer/105531] [13 regression] Recent libsanitizer imports breaks Solaris 11.3 build
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105531 --- Comment #9 from Martin Liška --- I can't see the commit in git history, have you pushed the revision?
[Bug sanitizer/105531] [13 regression] Recent libsanitizer imports breaks Solaris 11.3 build
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105531 Martin Liška changed: What|Removed |Added Resolution|FIXED |--- Status|RESOLVED|REOPENED --- Comment #10 from Martin Liška --- Openning..
[Bug tree-optimization/107109] [13 Regression] ICE on valid code at -O1 on x86_64-linux-gnu: in type, at value-range.h:621 since r13-2975-g7ea258a13a115e9e
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107109 --- Comment #3 from CVS Commits --- The master branch has been updated by Andrew Macleod : https://gcc.gnu.org/g:f41d1b39a6443fad38c36af34b1baa384954ca80 commit r13-3031-gf41d1b39a6443fad38c36af34b1baa384954ca80 Author: Andrew MacLeod Date: Sun Oct 2 18:43:35 2022 -0400 Don't process undefined range. No need to continue processing an undefined range. gcc/ PR tree-optimization/107109 * range-op.cc (adjust_op1_for_overflow): Don't process undefined. gcc/testsuite/ * gcc.dg/pr107109.c: New.
[Bug c++/107132] New: a temporary object with an x-value is not destroyed and is bound to a variable
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107132 Bug ID: 107132 Summary: a temporary object with an x-value is not destroyed and is bound to a variable Product: gcc Version: 12.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: lisp2d at rambler dot ru Target Milestone: --- a temporary object with an x-value is not destroyed and is bound to a variable the question is taken from a social network https://ru.stackoverflow.com/questions/1450260/Продление-времени-жизни-временного-объекта-в-присваивании/1450517#1450517 with tests https://godbolt.org/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaPECAMzwBtMA7AQwFtMQByARg9KtQYEAysib0QXACx8BBAKoBnTAAUAHpwAMvAFYTStJg1DIApACYAQuYukl9ZATwDKjdAGFUtAK4sGISQBspK4AMngMmAByPgBGmMQgAJykAA6oCoRODB7evv5BaRmOAmER0SxxCcl2mA5ZQgRMxAQ5Pn6Btpj2xQwNTQSlUbHxSbaNza15HQrjA%2BFDFSOJAJS2qF7EyOwc5gDM4cjeWADUJrtuTjPEmKxn2CYaAIIPj%2BEEx1hXXnUCCmdWTy%2BDmOj1OAHYLMcAH6PCDLY4MVCYVRbFLvEwQ06WayfAjEb49P67SEYgAi4NJ/xeLzexxYTHCcPBANBzJexw5xzQDBmIPMAWOTFOu3JzwhZOFooxVjBlOJ7M5M3QIBQ63R5zObixZlJmCBhOO4WOCjQKXYnI55jMwrcmo%2BerxBKyChtdrAOwArG4GO6qU8Lbj8T8eZLjho/ayyQqlSq0F51bbztrdfrncc1emqMbTeara6k4Gnb981rfV6fTt5U8yRxVrROB7eH4OFpSKhOLbsZZjetNpgsbseKQCJpa6sANb%2BRIAOkkc40AA4uBpEguwR6wbsgvWOJIm6O25xeAoQBph6PVnBYDBECBkbV4yRyJQmsAFMpDF0hAhUAB3ZtDmgLApHQTA9B%2BES0N%2Bf4AbwQEgfQCTAFwZhmKQ8F0PEADy8bQf%2BnBDveyCPMQb5HsEqi1A0%2BDNrw/CCCIYjsFIMiCIoKjqC2Oh6AYRgoNY1j6HgMQnpAqyoGizqcAAtEqZykqYXYWGYrYKL2Wx6Eq4QQV%2BP74dwvB4pg2xDr%2BxBMCkBG1voDb7lxh4cNglHII%2BxDHKoC4BNJASSMcwDIMgxwodO1oQJ2ViWKQxy4IQJADlwyyGReqwIDcWAJHCNm7rwLAgLsuzTokGiBIkuylQEGgelwVUeqQzatu2HDHqe55cZeN4QEgRGuc%2BECvu%2Bn5QXpsHoagwGgeBg14SNGGISgvHAAA%2Bo6DDjqN42IThwjDVZFG1CRZFNXtyDUeE5H0cIojiCxF3sWoB66GhC38UpQkifA4mSb8MlySKikRcpqnqcxYw0TpQ0wbtRkmbwZkWVZda2XVB6NU5D5EG5HleT5XILccEAreO8JhQJkXRfgGPxYlrVaMsKVpSMmU7nupC5YOs5gmYYJcFwARgpViQBLs0j1bwjXNWeI5taQV63t1GO9f14PTbts1gVkys7QZ60ISMABuyApCki161wiSLQYBAOotqg%2BTrmHEFtKva0RB0nkdRGnbRrGXUxEjSLdSj3fZui7PohjGKTNi0MJomZRJhKcAA9DG/3WCpx7A5pBBg1NWtDtDu1w5ZBmIxwjbI/ZqPOa57k4ywCgG8cpszpbDr4%2BFgnk7Fbl7AlSVtfTTDpZQZcs2zkjTgEqEeokkhlflHpmFItWiw5Es02OpCTh6GjTh6B%2BJFwC5FShkhmAEtU7rsdkNeRUu02XZi32L9/JaQevxBkziSEAA%3D #include int destructions; struct A { ~A() noexcept { ++destructions; } }; int main() { { const A& a = A{} = A{}; std::cout << "Destructions in scope: " << destructions << '\n'; destructions = 0; } std::cout << "Destructions out of scope: " << destructions << '\n'; } the object under variable a should be dead. But it's still alive.
[Bug tree-optimization/107109] [13 Regression] ICE on valid code at -O1 on x86_64-linux-gnu: in type, at value-range.h:621 since r13-2975-g7ea258a13a115e9e
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107109 Andrew Macleod changed: What|Removed |Added Resolution|--- |FIXED Status|NEW |RESOLVED --- Comment #4 from Andrew Macleod --- fixed.
[Bug c++/107126] -Wc++20-compat should complain about template-id in out of class definition for destructor
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107126 Jason Merrill changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever confirmed|0 |1 CC||jason at gcc dot gnu.org Summary|GCC accepts invalid out of |-Wc++20-compat should |class definition for|complain about template-id |destructor with C++17 |in out of class definition ||for destructor Last reconfirmed||2022-10-03 --- Comment #8 from Jason Merrill --- As Jonathan documents, this was explicitly well-formed from DR1435 in C++11 until P1787 in C++23. It seems reasonable to also apply the P1787 change to C++20, treating it as a missing piece of the DR2237 resolution. It seems undesirable to apply it to C++17 as well. But it would be helpful for -Wc++20-compat to flag this compatibility issue Incidentally, we should probably also reduce the C++20 error to a pedwarn.
[Bug sanitizer/105531] [13 regression] Recent libsanitizer imports breaks Solaris 11.3 build
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105531 --- Comment #11 from CVS Commits --- The master branch has been updated by Rainer Orth : https://gcc.gnu.org/g:77d0627c244f7520bf74ec9cf2a8b69c32b6d30d commit r13-3033-g77d0627c244f7520bf74ec9cf2a8b69c32b6d30d Author: Rainer Orth Date: Mon Oct 3 16:28:46 2022 +0200 libsanitizer: Fix Solaris 11.3 compilation of sanitizer_procmaps_solaris.cpp [PR105531] The latest libsanitizer import broke Solaris 11.3 bootstrap again, due to an oversight of mine. A fix has been committed upstream https://reviews.llvm.org/D133556 This patch cherry-picks it. Tested on Solaris 11.3 and 11.4, SPARC and x86. 2022-09-23 Rainer Orth libsanitizer: PR sanitizer/105531 * sanitizer_common/sanitizer_procmaps_solaris.cpp: Cherry-pick llvm-project revision 1cd4d63fb9ab0f04c7151911dde0d58b673823de.
[Bug sanitizer/105531] [13 regression] Recent libsanitizer imports breaks Solaris 11.3 build
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105531 --- Comment #12 from ro at CeBiTec dot Uni-Bielefeld.DE --- > --- Comment #9 from Martin Liška --- > I can't see the commit in git history, have you pushed the revision? I hadn't. Seems I shouldn't work on a holiday ;-)
[Bug sanitizer/105531] [13 regression] Recent libsanitizer imports breaks Solaris 11.3 build
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105531 Rainer Orth changed: What|Removed |Added Resolution|--- |FIXED Status|REOPENED|RESOLVED --- Comment #13 from Rainer Orth --- Fixed for real now.
[Bug libstdc++/103626] _GLIBCXX_HOSTED should respect -ffreestanding
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103626 --- Comment #7 from CVS Commits --- The master branch has been updated by Jonathan Wakely : https://gcc.gnu.org/g:f1b51f68f8ac6c63e352dda8599aed01634212de commit r13-3034-gf1b51f68f8ac6c63e352dda8599aed01634212de Author: Jonathan Wakely Date: Tue Sep 20 11:57:28 2022 +0100 libstdc++: Make _GLIBCXX_HOSTED respect -ffreestanding [PR103626] This allows the library to switch to freestanding mode when compiling with the -ffreestanding flag. This means you don't need a separate libstdc++ build configured with --disable-hosted-libstdcxx in order to compile for a freestanding environment. The testsuite support files cannot be compiled for freestanding, so add -fno-freestanding to override any -ffreestanding in the test flags. libstdc++-v3/ChangeLog: PR libstdc++/103626 * acinclude.m4 (GLIBCXX_ENABLE_HOSTED): Define _GLIBCXX_HOSTED to __STDC_HOSTED__ for non-freestanding installations. * configure: Regenerate. * include/Makefile.am (${host_builddir}/c++config.h): Adjust grep pattern. * include/Makefile.in: Regenerate. * testsuite/lib/libstdc++.exp (v3-build_support): Use -fno-freestanding. * testsuite/libstdc++-abi/abi.exp: Likewise.
[Bug libstdc++/103626] _GLIBCXX_HOSTED should respect -ffreestanding
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103626 --- Comment #8 from CVS Commits --- The master branch has been updated by Jonathan Wakely : https://gcc.gnu.org/g:18f176d0b25591e2880bc5ef453ce0834f9e0e2a commit r13-3037-g18f176d0b25591e2880bc5ef453ce0834f9e0e2a Author: Arsen ArsenoviÄ Date: Mon Sep 19 21:54:49 2022 +0200 libstdc++: Mark headers that must be hosted as such [PR103626] PR libstdc++/103626 - _GLIBCXX_HOSTED should respect -ffreestanding Co-authored-by: Jonathan Wakely libstdc++-v3/ChangeLog: PR libstdc++/103626 * include/Makefile.am: Add new header. * include/Makefile.in: Regenerate. * include/bits/requires_hosted.h: New header. * include/experimental/algorithm: Include . * include/experimental/any: Likewise. * include/experimental/array: Likewise. * include/experimental/buffer: Likewise. * include/experimental/chrono: Likewise. * include/experimental/deque: Likewise. * include/experimental/executor: Likewise. * include/experimental/filesystem: Likewise. * include/experimental/forward_list: Likewise. * include/experimental/functional: Likewise. * include/experimental/internet: Likewise. * include/experimental/io_context: Likewise. * include/experimental/iterator: Likewise. * include/experimental/list: Likewise. * include/experimental/map: Likewise. * include/experimental/memory: Likewise. * include/experimental/memory_resource: Likewise. * include/experimental/net: Likewise. * include/experimental/netfwd: Likewise. * include/experimental/numeric: Likewise. * include/experimental/optional: Likewise. * include/experimental/propagate_const: Likewise. * include/experimental/random: Likewise. * include/experimental/ratio: Likewise. * include/experimental/regex: Likewise. * include/experimental/scope: Likewise. * include/experimental/set: Likewise. * include/experimental/simd: Likewise. * include/experimental/socket: Likewise. * include/experimental/source_location: Likewise. * include/experimental/string: Likewise. * include/experimental/string_view: Likewise. * include/experimental/system_error: Likewise. * include/experimental/timer: Likewise. * include/experimental/tuple: Likewise. * include/experimental/unordered_map: Likewise. * include/experimental/unordered_set: Likewise. * include/experimental/utility: Likewise. * include/experimental/vector: Likewise. * include/std/barrier: Likewise. * include/std/chrono: Likewise. * include/std/condition_variable: Likewise. * include/std/deque: Likewise. * include/std/execution: Likewise. * include/std/filesystem: Likewise. * include/std/forward_list: Likewise. * include/std/fstream: Likewise. * include/std/future: Likewise. * include/std/iomanip: Likewise. * include/std/ios: Likewise. * include/std/iosfwd: Likewise. * include/std/iostream: Likewise. * include/std/istream: Likewise. * include/std/latch: Likewise. * include/std/list: Likewise. * include/std/locale: Likewise. * include/std/map: Likewise. * include/std/memory_resource: Likewise. * include/std/mutex: Likewise. * include/std/ostream: Likewise. * include/std/queue: Likewise. * include/std/random: Likewise. * include/std/regex: Likewise. * include/std/semaphore: Likewise. * include/std/set: Likewise. * include/std/shared_mutex: Likewise. * include/std/spanstream: Likewise. * include/std/sstream: Likewise. * include/std/stack: Likewise. * include/std/stacktrace: Likewise. * include/std/stop_token: Likewise. * include/std/streambuf: Likewise. * include/std/string: Likewise. * include/std/syncstream: Likewise. * include/std/system_error: Likewise. * include/std/thread: Likewise. * include/std/unordered_map: Likewise. * include/std/unordered_set: Likewise. * include/std/valarray: Likewise. * include/std/vector: Likewise. * include/tr1/array: Likewise. * include/tr1/ccomplex: Likewise. * include/tr1/cctype: Likewise. * include/tr1/cfenv: Likewise. * include/tr1/cfloat: Likewise. * include/tr1/cintt
[Bug libstdc++/106953] C++23 add new headers for freestanding
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106953 --- Comment #6 from CVS Commits --- The master branch has been updated by Jonathan Wakely : https://gcc.gnu.org/g:6885e7e4eef65c657cd8baa0f5e7ebe7231ac984 commit r13-3038-g6885e7e4eef65c657cd8baa0f5e7ebe7231ac984 Author: Arsen ArsenoviÄ Date: Fri Sep 16 10:38:41 2022 +0200 libstdc++: Rework how freestanding install works [PR106953] In light of there being far more freestanding headers now, ad-hoc maintenance of a subset of the install implementation has become unsustainable. Instead, we gate off a part of the normal install routine so that it works without HOSTED enabled, as well as subdivide lists of headers into freestanding and hosted components, according to the HOSTED flag. libstdc++-v3/ChangeLog: PR libstdc++/106953 * include/Makefile.am [!_GLIBCXX_HOSTED]: Remove install-freestanding-headers, unifying it with the usual install-headers * include/Makefile.in: Regenerate.
[Bug libstdc++/103626] _GLIBCXX_HOSTED should respect -ffreestanding
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103626 --- Comment #10 from CVS Commits --- The master branch has been updated by Jonathan Wakely : https://gcc.gnu.org/g:25ebfdb774c0e8cc6c55e02644ee2cb157ce29d7 commit r13-3040-g25ebfdb774c0e8cc6c55e02644ee2cb157ce29d7 Author: Jonathan Wakely Date: Fri Sep 30 16:58:31 2022 +0200 libstdc++: Add effective-target 'hosted' for testsuite [PR103626] PR libstdc++/103626 - _GLIBCXX_HOSTED should respect -ffreestanding libstdc++-v3/ChangeLog: PR libstdc++/103626 * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace): Also require hosted. (check_effective_target_hosted): New proc. --- Comment #11 from CVS Commits --- The master branch has been updated by Jonathan Wakely : https://gcc.gnu.org/g:54fd7d81709c5f50537128d3978b4c642b68a711 commit r13-3041-g54fd7d81709c5f50537128d3978b4c642b68a711 Author: Arsen ArsenoviÄ Date: Wed Sep 28 21:30:11 2022 +0200 libstdc++: Re-enable std::hash in freestanding [PR103626] PR libstdc++/103626 - _GLIBCXX_HOSTED should respect -ffreestanding libstdc++-v3/ChangeLog: PR libstdc++/103626 * include/std/bitset [!_GLIBCXX_HOSTED]: Re-enable std::hash. * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Require ET hosted. * testsuite/20_util/bitset/ext/constexpr.cc: Likewise.
[Bug libstdc++/103626] _GLIBCXX_HOSTED should respect -ffreestanding
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103626 --- Comment #10 from CVS Commits --- The master branch has been updated by Jonathan Wakely : https://gcc.gnu.org/g:25ebfdb774c0e8cc6c55e02644ee2cb157ce29d7 commit r13-3040-g25ebfdb774c0e8cc6c55e02644ee2cb157ce29d7 Author: Jonathan Wakely Date: Fri Sep 30 16:58:31 2022 +0200 libstdc++: Add effective-target 'hosted' for testsuite [PR103626] PR libstdc++/103626 - _GLIBCXX_HOSTED should respect -ffreestanding libstdc++-v3/ChangeLog: PR libstdc++/103626 * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace): Also require hosted. (check_effective_target_hosted): New proc. --- Comment #11 from CVS Commits --- The master branch has been updated by Jonathan Wakely : https://gcc.gnu.org/g:54fd7d81709c5f50537128d3978b4c642b68a711 commit r13-3041-g54fd7d81709c5f50537128d3978b4c642b68a711 Author: Arsen ArsenoviÄ Date: Wed Sep 28 21:30:11 2022 +0200 libstdc++: Re-enable std::hash in freestanding [PR103626] PR libstdc++/103626 - _GLIBCXX_HOSTED should respect -ffreestanding libstdc++-v3/ChangeLog: PR libstdc++/103626 * include/std/bitset [!_GLIBCXX_HOSTED]: Re-enable std::hash. * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Require ET hosted. * testsuite/20_util/bitset/ext/constexpr.cc: Likewise.
[Bug libstdc++/103626] _GLIBCXX_HOSTED should respect -ffreestanding
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103626 --- Comment #9 from CVS Commits --- The master branch has been updated by Jonathan Wakely : https://gcc.gnu.org/g:46eb2860942a29b40822570cb6625620f69ed30e commit r13-3039-g46eb2860942a29b40822570cb6625620f69ed30e Author: Arsen ArsenoviÄ Date: Fri Sep 30 16:53:18 2022 +0200 libstdc++: Make some tests work on freestanding [PR103626] PR libstdc++/103626 - _GLIBCXX_HOSTED should respect -ffreestanding Co-authored-by: Jonathan Wakely libstdc++-v3/ChangeLog: PR libstdc++/103626 * testsuite/17_intro/headers/c++1998/stdc++.cc [!__STDC_HOSTED__]: Do not include C headers that aren't valid for freestanding. * testsuite/17_intro/tag_type_explicit_ctor.cc [!__STDC_HOSTED__]: Do not test tag types that aren't defined for freestanding. * testsuite/18_support/headers/cstdlib/functions_std.cc: Do not check for std::getenv and std::system for freestanding. * testsuite/17_intro/using_namespace_std_exp_neg.cc [!__STDC_HOSTED__]: Do not test hosted parts of the standard library. * testsuite/17_intro/using_namespace_std_tr1_neg.cc [!__STDC_HOSTED__]: Likewise. * testsuite/20_util/allocator_traits/members/rebind_alloc.cc [!__STDC_HOSTED__]: Likewise. * testsuite/20_util/allocator_traits/requirements/explicit_instantiation.cc [!HOSTED]: Likewise. * testsuite/20_util/headers/bitset/synopsis.cc [!__STDC_HOSTED__]: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc [!__STDC_HOSTED__]: Likewise. * testsuite/20_util/pointer_traits/requirements/typedefs.cc [!__STDC_HOSTED__]: Likewise. * testsuite/20_util/tuple/cons/deduction.cc [!__STDC_HOSTED__]: Likewise. * testsuite/25_algorithms/move/93872.cc [!__STDC_HOSTED__]: Likewise. * testsuite/std/ranges/adaptors/100577.cc [!__STDC_HOSTED__]: Likewise.
[Bug libstdc++/103626] _GLIBCXX_HOSTED should respect -ffreestanding
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103626 --- Comment #12 from CVS Commits --- The master branch has been updated by Jonathan Wakely : https://gcc.gnu.org/g:7cc9022f8d5c5cc02cc4f8af2f27184a81536fcf commit r13-3043-g7cc9022f8d5c5cc02cc4f8af2f27184a81536fcf Author: Arsen ArsenoviÄ Date: Fri Sep 30 17:06:49 2022 +0200 libstdc++: Disable hosted-only tests [PR103626] PR libstdc++/103626 - _GLIBCXX_HOSTED should respect -ffreestanding libstdc++-v3/ChangeLog: PR libstdc++/103626 * testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Require ET hosted. * testsuite/18_support/aligned_alloc/aligned_alloc.cc: Likewise. * testsuite/18_support/new_nothrow.cc: Likewise. * testsuite/20_util/allocator/105975.cc: Likewise. * testsuite/20_util/allocator/14176.cc: Likewise. * testsuite/20_util/allocator/64135.cc: Likewise. * testsuite/20_util/allocator/89510.cc: Likewise. * testsuite/20_util/allocator/lwg3190.cc: Likewise. * testsuite/20_util/allocator/overaligned.cc: Likewise. * testsuite/20_util/allocator/rebind_c++20.cc: Likewise. * testsuite/20_util/allocator/requirements/constexpr.cc: Likewise. * testsuite/20_util/allocator/requirements/explicit_instantiation/1.cc: Likewise. * testsuite/20_util/allocator/requirements/typedefs.cc: Likewise. * testsuite/20_util/allocator/requirements/typedefs_c++20.cc: Likewise. * testsuite/20_util/allocator/void.cc: Likewise. * testsuite/20_util/allocator_traits/header-2.cc: Likewise. * testsuite/20_util/allocator_traits/header.cc: Likewise. * testsuite/20_util/allocator_traits/members/92878_92947.cc: Likewise. * testsuite/20_util/allocator_traits/members/pointers.cc: Likewise. * testsuite/20_util/allocator_traits/requirements/typedefs.cc: Likewise. * testsuite/20_util/bad_function_call/cons_virtual_derivation.cc: Likewise. * testsuite/20_util/bind/42593.cc: Likewise. * testsuite/20_util/bitset/access/dr396.cc: Likewise. * testsuite/20_util/bitset/access/to_string.cc: Likewise. * testsuite/20_util/bitset/cons/16020.cc: Likewise. * testsuite/20_util/bitset/cons/dr1325-2.cc: Likewise. * testsuite/20_util/bitset/cons/dr396.cc: Likewise. * testsuite/20_util/bitset/debug/invalidation/1.cc: Likewise. * testsuite/20_util/bitset/ext/15361.cc: Likewise. * testsuite/20_util/bitset/operations/13838.cc: Likewise. * testsuite/20_util/bitset/operations/96303.cc: Likewise. * testsuite/20_util/bitset/version.cc: Likewise. * testsuite/20_util/enable_shared_from_this/56383.cc: Likewise. * testsuite/20_util/enable_shared_from_this/89303.cc: Likewise. * testsuite/20_util/enable_shared_from_this/members/assign.cc: Likewise. * testsuite/20_util/enable_shared_from_this/members/const.cc: Likewise. * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Likewise. * testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc: Likewise. * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: Likewise. * testsuite/20_util/enable_shared_from_this/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/forward/1.cc: Likewise. * testsuite/20_util/forward/1_neg.cc: Likewise. * testsuite/20_util/function/1.cc: Likewise. * testsuite/20_util/function/10.cc: Likewise. * testsuite/20_util/function/2.cc: Likewise. * testsuite/20_util/function/3.cc: Likewise. * testsuite/20_util/function/4.cc: Likewise. * testsuite/20_util/function/43397.cc: Likewise. * testsuite/20_util/function/48541.cc: Likewise. * testsuite/20_util/function/5.cc: Likewise. * testsuite/20_util/function/58569.cc: Likewise. * testsuite/20_util/function/6.cc: Likewise. * testsuite/20_util/function/60594.cc: Likewise. * testsuite/20_util/function/65760.cc: Likewise. * testsuite/20_util/function/69222.cc: Likewise. * testsuite/20_util/function/7.cc: Likewise. * testsuite/20_util/function/77322.cc: Likewise. * testsuite/20_util/function/8.cc: Likewise. * testsuite/20_util/function/9.cc: Likewise. * testsuite/20_util/function/91456.cc: Likewise. * testsuite/20_util/function/assign/move.cc: Likewise. * testsuite/20_util/function/assign/move_target.cc: Likewise.
[Bug target/107131] [11/12 Regression] wrong code with -Os -fno-ipa-vrp -fno-tree-bit-ccp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107131 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2022-10-03 CC||marxin at gcc dot gnu.org, ||rguenth at gcc dot gnu.org Summary|wrong code with -Os |[11/12 Regression] wrong |-fno-ipa-vrp|code with -Os -fno-ipa-vrp |-fno-tree-bit-ccp |-fno-tree-bit-ccp Ever confirmed|0 |1 --- Comment #1 from Martin Liška --- It's there since the introduction of __builtin_shufflevector (r12-1128-gef8176e0fac935c0).
[Bug c++/107104] semantics of __builtin_constant_p within static_assert and return value
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107104 Hannes Hauswedell changed: What|Removed |Added CC||h2+bugs at fsfe dot org --- Comment #1 from Hannes Hauswedell --- It seems that __builtin_constant_p does not indicate whether something *can be* a constant but whether *it is* a constant. If you evaluate it in a non-const-context, the expression passed as argument may or may not be evaluated at compile-time, so the value of __builtin_constant_p may or may not be 1. This example illustrates the behaviour: ```cpp constexpr void foobar() {}// → test() returns 0 or 1 //consteval void foobar() {} // → test() returns 1 #define TEST_EXPR (foobar(), 0) int test() { static_assert(__builtin_constant_p(TEST_EXPR)); return __builtin_constant_p(TEST_EXPR); } ``` To enforce evaluation in a const-context, you can define a macro like this: #define IS_CONSTEXPR(...) std::integral_constant::value
[Bug libstdc++/103626] _GLIBCXX_HOSTED should respect -ffreestanding
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103626 Jonathan Wakely changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED Target Milestone|--- |13.0 --- Comment #13 from Jonathan Wakely --- Done for GCC 13 thanks to Arsen.
[Bug c++/19992] -fhosted/-ffreestanding for C++
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19992 Bug 19992 depends on bug 103626, which changed state. Bug 103626 Summary: _GLIBCXX_HOSTED should respect -ffreestanding https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103626 What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED
[Bug libstdc++/106953] C++23 add new headers for freestanding
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106953 Jonathan Wakely changed: What|Removed |Added Resolution|--- |FIXED Target Milestone|--- |13.0 Status|UNCONFIRMED |RESOLVED --- Comment #7 from Jonathan Wakely --- Done for GCC 13.
[Bug libstdc++/106749] Implement C++23 library features
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106749 Bug 106749 depends on bug 106953, which changed state. Bug 106953 Summary: C++23 add new headers for freestanding https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106953 What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED
[Bug c++/107104] semantics of __builtin_constant_p within static_assert and return value
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107104 --- Comment #2 from Jonathan Wakely --- (In reply to Hannes Hauswedell from comment #1) > It seems that __builtin_constant_p does not indicate whether something *can > be* a constant but whether *it is* a constant. Correct.
[Bug c/59850] Support sparse-style pointer address spaces (type attributes)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59850 Marek Polacek changed: What|Removed |Added CC||mpolacek at gcc dot gnu.org --- Comment #36 from Marek Polacek --- (In reply to H. Peter Anvin from comment #16) > Josh: nullptr pollutes the C user namespace, so it's not an option. FWIW, C23 added the nullptr keyword which gcc already implements: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=60d84e82639e25b025a926b19ec5a92fba4447ce
[Bug bootstrap/107059] [13 regression] bootstrap failure after r13-2887-gb04208895fed34
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107059 --- Comment #30 from seurer at gcc dot gnu.org --- Any more progress on this? Builds still fail on powerpc64 LE.
[Bug bootstrap/107059] [13 regression] bootstrap failure after r13-2887-gb04208895fed34
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107059 --- Comment #31 from Jakub Jelinek --- Still waiting for review.
[Bug tree-optimization/107130] [13 Regression] wrong code with -Os -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre since r13-2900-g001c60ccfeaf9a48
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107130 Aldy Hernandez changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |aldyh at gcc dot gnu.org --- Comment #4 from Aldy Hernandez --- (In reply to Martin Liška from comment #3) > > Nice, so ffs() with a propagated constant argument now does a popcount() > > instead? > > It should not. The problem is op_cfn_popcount is shared by both popcount and > ffs, but the newly added transformation is valid only for popcount. Ughh, indeed. Thanks for the analysis Martin.
[Bug tree-optimization/107130] [13 Regression] wrong code with -Os -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre since r13-2900-g001c60ccfeaf9a48
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107130 --- Comment #5 from Aldy Hernandez --- Created attachment 53656 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53656&action=edit untested patch
[Bug tree-optimization/107114] [13 Regression] Failure to discover range results in bogus warning
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107114 --- Comment #1 from Andrew Macleod --- Looks like something in the change is causing the loop analysis to not be able to count the iterations. > Analyzing # of iterations of loop 1 > exit condition [1, + , 1] != 0 > bounds on difference of bases: -1 ... -1 > result: > # of iterations 65535, bounded by 65535 109,110d68before this change, loop analysis decided the range of _26 as a_lsm.14_26: [irange] short int [1, 9] NONZERO 0xf a afterwards, it doesn't even seem to see the loop. IN fact, before LCSSA creates a whole bunch of new blocks too. < ;; Created LCSSA PHI: a_lsm.14_15 = PHI < ;; Created LCSSA PHI: a_lsm_flag.15_16 = PHI < ;; Created LCSSA PHI: d_47 = PHI < < Updating SSA: < Registering new PHI nodes in block #13 < Updating SSA information for statement if (a_lsm.14_26 != 0) < Registering new PHI nodes in block #6 < Registering new PHI nodes in block #12 < Updating SSA information for statement a.9_9 = (unsigned short) a_lsm.14_26; < Registering new PHI nodes in block #16 < Registering new PHI nodes in block #7 < Registering new PHI nodes in block #8 < Updating SSA information for statement if (d_13 != 0B) < Registering new PHI nodes in block #9 < Updating SSA information for statement if (a_lsm_flag.15_28 != 0) < Registering new PHI nodes in block #10 < Updating SSA information for statement a = a_lsm.14_26; < Registering new PHI nodes in block #11 < Registering new PHI nodes in block #19 < Registering new PHI nodes in block #15
[Bug c/59850] Support sparse-style pointer address spaces (type attributes)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59850 --- Comment #37 from H. Peter Anvin --- One would assume that there would be __foo__ aliases for the attribute names like all the other ones.
[Bug middle-end/56314] Please allow per-function specification of register conventions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56314 --- Comment #6 from H. Peter Anvin --- Unfortunately that's not really possible given the way the way the level does runtime patching (which isn't going to change, sorry.) At the very least we would need a *lot* more compiler support to give LTO all the information that it needs; say a *very* minimum LTO would need to support ORC metadata.
[Bug c++/772] Statement expressions issues
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=772 --- Comment #23 from Andrew Pinski --- Part of the C++ front-end issues was fixed with r13-3046-gc823366fdb9069a54a37a3b18b65a4fa69feabfd . I didn't look to see if all were fixed though.
[Bug c++/107133] New: _GLIBCXX_USE_C99_STDINT_TR1 macro is not defined for --disable-hosted-libstdcxx without libc
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107133 Bug ID: 107133 Summary: _GLIBCXX_USE_C99_STDINT_TR1 macro is not defined for --disable-hosted-libstdcxx without libc Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: unlvsur at live dot com Target Milestone: --- The bug is still there. ../../include/fast_io_core_impl/iso/iso8601.h:297:23: error: 'uint_least32_t' in namespace 'std' does not name a type | ^~
[Bug libstdc++/107133] _GLIBCXX_USE_C99_STDINT_TR1 macro is not defined for --disable-hosted-libstdcxx without libc
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107133 --- Comment #1 from cqwrteur --- cstdint does not do anything since the macro is not defined
[Bug libstdc++/107133] _GLIBCXX_USE_C99_STDINT_TR1 macro is not defined for --disable-hosted-libstdcxx without libc
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107133 Jonathan Wakely changed: What|Removed |Added Resolution|--- |DUPLICATE Status|UNCONFIRMED |RESOLVED --- Comment #2 from Jonathan Wakely --- Didn't you already report this? *** This bug has been marked as a duplicate of bug 104605 ***
[Bug libstdc++/104605] _GLIBCXX_USE_C99_STDINT_TR1 macro is not defined for canadian cross freestanding C++ toolchain
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104605 --- Comment #5 from Jonathan Wakely --- *** Bug 107133 has been marked as a duplicate of this bug. ***
[Bug libstdc++/104605] _GLIBCXX_USE_C99_STDINT_TR1 macro is not defined for canadian cross freestanding C++ toolchain
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104605 --- Comment #6 from Jonathan Wakely --- (In reply to cqwrteur from comment #0) > Also stdint.h in GCC is not correctly defined without -ffreestanding flag. You can just use -ffreestanding now, and you'll get GCC's own stdint header.
[Bug c++/107134] New: fatal error: stdint.h: No such file or directory for freestanding C++ toolchain
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107134 Bug ID: 107134 Summary: fatal error: stdint.h: No such file or directory for freestanding C++ toolchain Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: unlvsur at live dot com Target Milestone: --- x86_64-elf-g++ -v Using built-in specs. COLLECT_GCC=x86_64-elf-g++ COLLECT_LTO_WRAPPER=/home/cqwrteur/toolchains/native/x86_64-elf/libexec/gcc/x86_64-elf/13.0.0/lto-wrapper Target: x86_64-elf Configured with: ../../../../gcc/configure --disable-nls --disable-werror --target=x86_64-elf --prefix=/home/cqwrteur/toolchains/native/x86_64-elf --without-headers --disable-hosted-libstdcxx --disable-libstdcxx-verbose --enable-languages=c,c++ --enable-multilib Thread model: single Supported LTO compression algorithms: zlib gcc version 13.0.0 20221003 (experimental) (GCC) x86_64-elf-g++ -c b.cc -std=c++23 In file included from /home/cqwrteur/toolchains/native/x86_64-elf/x86_64-elf/include/c++/13.0.0/cstdint:41, from b.cc:1: /home/cqwrteur/toolchains/native/x86_64-elf/lib/gcc/x86_64-elf/13.0.0/include/stdint.h:9:16: fatal error: stdint.h: No such file or directory 9 | # include_next |^~ compilation terminated. stdint.h requires -ffreestanding flag to include the right header. However --without-headers --disable-hosted-libstdcxx already implies it is freestanding. it needs a fix the stdint.h
[Bug libstdc++/104605] _GLIBCXX_USE_C99_STDINT_TR1 macro is not defined for canadian cross freestanding C++ toolchain
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104605 --- Comment #7 from Jonathan Wakely --- Created attachment 53657 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53657&action=edit Use predefined macros to define freestanding I have this patch locally, but I don't think the changes are actually necessary. Using -ffreestanding should ensure they are present already.
[Bug c++/107134] fatal error: stdint.h: No such file or directory for freestanding C++ toolchain
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107134 --- Comment #1 from Jonathan Wakely --- With current trunk, you need to use -ffreestanding if you are compiling for freestanding. --without-headers --disable-hosted-libstdcxx says to build a freestanding library, that doesn't tell the compiler anything when you invoke it.
[Bug tree-optimization/107114] [13 Regression] Failure to discover range results in bogus warning
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107114 --- Comment #2 from Jeffrey A. Law --- Which is just uber-weird. The change in question removes a little subloop which becomes unreachable. Why that would cause us to be unable to analyze the remaining key loop for the IV's range is a complete mystery. Though I guess I'll have to sit down and debug that a bit. VRP is just calling into the loop optimizer to to the IV analysis, right? WRT the new blocks -- I strongly suspect they're part of normalization of the loop and putting it into LCSSA form. I'm not terribly worried about them. Typically they're just going to be creating empty loop latches.
[Bug libstdc++/107135] New: array::at() method should not be in for freestanding C++
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107135 Bug ID: 107135 Summary: array::at() method should not be in for freestanding C++ Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: unlvsur at live dot com Target Milestone: --- Created attachment 53658 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53658&action=edit array diff Looks like array and span are GCC extensions to be in freestanding. That is fine. However, I think at() method has little chance to be in the future freestanding C++ standard. I suggest that we should guard against those methods to prevent potential issues forwarding compatibility issues.
[Bug c++/107134] fatal error: stdint.h: No such file or directory for freestanding C++ toolchain
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107134 --- Comment #2 from Jonathan Wakely --- Although we could do: #if ! _GLIBCXX_HOSTED #include #else #include_next #endif to make it work.
[Bug plugins/107136] New: File cp-trait.def not found in kernel build
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107136 Bug ID: 107136 Summary: File cp-trait.def not found in kernel build Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: plugins Assignee: unassigned at gcc dot gnu.org Reporter: dcb314 at hotmail dot com Target Milestone: --- I've just been having a go at compiling the new linux-6.0 kernel with a recent trunk gcc. I get /home/dcb/gcc/results.20221003/lib/gcc/x86_64-pc-linux-gnu/13.0.0/plugin/include/c-family/c-common.h:172:10: fatal error: cp/cp-trait.def: No such file or directory but $ find /home/dcb/gcc/results.20221003 -name cp-trait.def -print $ so it looks like that file isn't installed. But [/home/dcb/gcc/trunk.git] $ find . -name cp-trait\* -print ./gcc/cp/cp-trait.def [/home/dcb/gcc/trunk.git] $ so the file does exist in trunk.
[Bug plugins/107136] File cp-trait.def not found in kernel build
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107136 David Binderman changed: What|Removed |Added CC||ppalka at gcc dot gnu.org --- Comment #1 from David Binderman --- Adding author of the source code file for their best advice.
[Bug tree-optimization/107114] [13 Regression] Failure to discover range results in bogus warning
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107114 --- Comment #3 from Andrew Macleod --- yeah, we just invoke the loop analyzer and pick up what it tells us. From VRP2 point of view, it is just not getting the info supplied from the loop optimizer. I see dom3 removes some code and I see < fix_loop_structure: removing loop 5 any chance it doesn't fix it up right somehow?
[Bug bootstrap/107120] [13 Regression] trunk fails to bootstrap on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107120 Arseny Solokha changed: What|Removed |Added CC||asolokha at gmx dot com --- Comment #2 from Arseny Solokha --- (In reply to Martin Liška from comment #1) > Should be fixed with r13-2932-ga5a9237e2a78a9, can you confirm that? I get the same bootstrap error in libitm while building gcc 13.0.0 20221002 snapshot (g:d01bd0b0f3b8f4c33c437ff10f0b949200627f56) against glibc 2.36 for x86_64. Should I file a separate PR for that?
[Bug plugins/107136] File cp-trait.def not found in kernel build
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107136 Andrew Pinski changed: What|Removed |Added Version|12.0|13.0 --- Comment #2 from Andrew Pinski --- I wish plugins API would finally be stable or rather Linux not use Plugins.
[Bug c++/107136] [13 Regression] File cp/cp-trait.def file not installed for plugin suport
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107136 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |13.0 Component|plugins |c++ Keywords||plugin
[Bug tree-optimization/107114] [13 Regression] Failure to discover range results in bogus warning
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107114 --- Comment #4 from Jeffrey A. Law --- I'll double check, but IIRC we throw away the loop structures at the end of DOM and they're supposed to be rebuilt (which appears to be happening as we re-construct LCSSA).
[Bug c++/107136] [13 Regression] File cp/cp-trait.def file not installed for plugin suport
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107136 --- Comment #3 from Andrew Pinski --- This is most likely the fix but I don't have time to test it right now" diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in index 38d8eeed1f0..aa84d6827be 100644 --- a/gcc/cp/Make-lang.in +++ b/gcc/cp/Make-lang.in @@ -39,7 +39,7 @@ CXX_INSTALL_NAME := $(shell echo c++|sed '$(program_transform_name)') GXX_INSTALL_NAME := $(shell echo g++|sed '$(program_transform_name)') CXX_TARGET_INSTALL_NAME := $(target_noncanonical)-$(shell echo c++|sed '$(program_transform_name)') GXX_TARGET_INSTALL_NAME := $(target_noncanonical)-$(shell echo g++|sed '$(program_transform_name)') -CP_PLUGIN_HEADERS := cp-tree.h cxx-pretty-print.h name-lookup.h type-utils.h operators.def +CP_PLUGIN_HEADERS := cp-tree.h cxx-pretty-print.h name-lookup.h type-utils.h operators.def cp-trait.def #^L # Define the names for selecting c++ in LANGUAGES.
[Bug c++/107136] [13 Regression] File cp/cp-trait.def file not installed for plugin suport
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107136 --- Comment #4 from David Binderman --- (In reply to Andrew Pinski from comment #3) > This is most likely the fix but I don't have time to test it right now" The obvious copy seems to fix the problem: [/home/dcb/gcc/trunk.git] $ cp ./gcc/cp/cp-trait.def ../results.20221003/lib/gcc/x86_64-pc-linux-gnu/13.0.0/plugin/include/cp/ [/home/dcb/gcc/trunk.git] $
[Bug libstdc++/104605] _GLIBCXX_USE_C99_STDINT_TR1 macro is not defined for canadian cross freestanding C++ toolchain
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104605 --- Comment #8 from cqwrteur --- (In reply to Jonathan Wakely from comment #7) > Created attachment 53657 [details] > Use predefined macros to define freestanding > > I have this patch locally, but I don't think the changes are > actually necessary. Using -ffreestanding should ensure they are present > already. stdint.h is a freestanding C header but not a freestanding C++ header if i remembered correctly.
[Bug c++/107123] Size deduction for vector size in template fails
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107123 --- Comment #1 from Andrew Pinski --- Yes GCC does not do deduction on the vector size attribute currently. This part of the extension is not documented one way or the other either because nobody thought of this right now. One easy way around this is to wrap the vector type in class and use that class always. It would be nice to standardized the vector attribute.
[Bug c++/107123] Size deduction for vector size in template fails
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107123 Andrew Pinski changed: What|Removed |Added Keywords||documentation Severity|normal |enhancement
[Bug c++/107123] Size deduction for vector size in template fails
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107123 --- Comment #2 from milasudril at gmail dot com --- > It would be nice to standardized the vector attribute. Good features to have: constexpr std::size (and also std::ssize) template inline constexpr std::is_simd_type_v = ...; namespace std { template struct simd_element_type{ using type = ...; }; template simd_element_type_t = typename simd_element_type::type; } I belive the working paper is p2638r0 https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2638r0.pdf
[Bug libstdc++/107135] array::at() method should not be in for freestanding C++
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107135 Arsen Arsenović changed: What|Removed |Added CC||arsen at aarsen dot me --- Comment #1 from Arsen Arsenović --- I'm not so sure, exceptions are explicitly mentioned (and specified to just std::terminate if not possible/disabled) in P1642. The paper defers handling these headers for later. With the exceptions note in mind, what forward compatibility issue do you have in mind?
[Bug target/107131] [11/12 Regression] wrong code with -Os -fno-ipa-vrp -fno-tree-bit-ccp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107131 --- Comment #2 from Andrew Pinski --- Note there is a missed optimization here (unrelated to the wrong code): _32 = o_13(D) == 0; _35 = (long int) _32; _36 = -_35; _109 = (long long unsigned int) _36; _102 = _109 > 10439075533421201520; This should just be: _32 = o_13(D) == 0; _ = (long long unsigned int) _32; _109 = -_35; Let me file that as a seperate bug.
[Bug fortran/107000] ICE in gfc_real2complex, at fortran/arith.cc:2243
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107000 anlauf at gcc dot gnu.org changed: What|Removed |Added Attachment #53651|0 |1 is obsolete|| --- Comment #20 from anlauf at gcc dot gnu.org --- Created attachment 53659 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53659&action=edit Next try. (In reply to Mikael Morin from comment #18) > Well, a new return code seems better (ARITH_INVALID_TYPE ?). > I think it's better to move the check to the various gfc_arith_times, > gfc_arith_plus, gfc_arith_concat etc, because only those functions know what > type is appropriate and what is not. > Admittedly BT_UNKNOWN is probably never appropriate, and the check could be > done in reduce_binary_ac, but then it should be in reduce_binary_ca, > reduce_binary_aa and reduce_unary as well. > Then what's missing is a goto runtime in eval_intrinsic if evaluation > returns ARITH_INVALID_TYPE. > That's the first solution. Here's a patch that introduces ARITH_INVALID_TYPE and handles errors in reduce_unary, reduce_binary_ac, reduce_binary_ca, and reduce_binary_aa.
[Bug libstdc++/104605] _GLIBCXX_USE_C99_STDINT_TR1 macro is not defined for canadian cross freestanding C++ toolchain
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104605 --- Comment #9 from Jonathan Wakely --- is freestanding, but isn't listed as being required for freestanding C++. That doesn't mean we can't provide it.
[Bug libstdc++/107135] array::at() method should not be in for freestanding C++
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107135 --- Comment #2 from Jonathan Wakely --- We should make it terminate though, there's no definition of __throw_out_of_range_fmt.
[Bug tree-optimization/107137] New: (unsigned)-(int)(bool_var) should be optimized to -(unsigned)bool_var
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107137 Bug ID: 107137 Summary: (unsigned)-(int)(bool_var) should be optimized to -(unsigned)bool_var Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: enhancement Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: pinskia at gcc dot gnu.org Target Milestone: --- Take: ``` unsigned f(_Bool a) { int t = a; t = -t; return t; } ``` Currently we get: ``` t_2 = (int) a_1(D); t_3 = -t_2; _4 = (unsigned int) t_3; ``` But we can do better than that with just: ``` _ = (unsigned int) a_1(D); _4 = -_; ``` Noticed that while looking into https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107131. Note even bool_var could be an unsigned type or a type which whos size is bigger than the outer type really.
[Bug target/107131] [11/12 Regression] wrong code with -Os -fno-ipa-vrp -fno-tree-bit-ccp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107131 --- Comment #3 from Andrew Pinski --- (In reply to Andrew Pinski from comment #2) > Let me file that as a seperate bug. Created PR 107137.