[Bug c/90267] [7.3 regression] wrong code generated wth -O2 as missing data dependence base on memory
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90267 --- Comment #3 from vfdff --- but it doesn't warning anything, even with -Wstrict-aliasing -Wall. Accord to http://blog.sina.com.cn/s/blog_74caf0ce010173up.html, We expect an warning similar the following infomation. warning: dereferencing type-punned pointer will break strict-aliasing rules
[Bug c++/90173] [9 Regression] ICE: Segmentation fault (in strip_declarator_types)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90173 --- Comment #5 from Jakub Jelinek --- Author: jakub Date: Sat Apr 27 21:56:17 2019 New Revision: 270626 URL: https://gcc.gnu.org/viewcvs?rev=270626=gcc=rev Log: PR c++/90173 * g++.dg/cpp1z/class-deduction66.C: Use dg-do compile instead of dg-do run. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/cpp1z/class-deduction66.C
[Bug middle-end/90216] Stack Pointer decrementing even when not loading extra data to stack.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90216 --- Comment #2 from stevexiong98 at hotmail dot com --- (In reply to Andrew Pinski from comment #1) > Confirmed, part of the problem is union is forced to memory early on but > then optimized out but the object still exist in memory even though it is > dead. > I am working on an optimization which improves this by the lowering of > bit-fields. But it won't go in until post GCC 9 (released next year). Thanks so much for the update. I am looking forward to the next compiler release!
[Bug objc++/49070] [7/8/9/10 regression] ObjC++ compiler fails to compile ObjC method invocations without keyword arguments
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49070 Eric Gallager changed: What|Removed |Added CC||iains at gcc dot gnu.org, ||mikestump at comcast dot net --- Comment #4 from Eric Gallager --- cc-ing objc[++] maintainers
[Bug c/50422] -Wswitch warns about unhandled cases in nested switches
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50422 Eric Gallager changed: What|Removed |Added CC||dmalcolm at gcc dot gnu.org, ||dodji at gcc dot gnu.org --- Comment #2 from Eric Gallager --- cc-ing diagnostics maintainers
[Bug c/55096] Wconversion-nul does not work in C
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55096 Eric Gallager changed: What|Removed |Added CC||dmalcolm at gcc dot gnu.org, ||dodji at gcc dot gnu.org --- Comment #2 from Eric Gallager --- cc-ing diagnostics maintainers
[Bug tree-optimization/90269] loop distribution defeated by clobbers
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90269 --- Comment #1 from Marc Glisse --- --- tree-loop-distribution.c(revision 270624) +++ tree-loop-distribution.c(working copy) @@ -3033,20 +3033,23 @@ find_seed_stmts_for_distribution (struct the loop. */ if (!stmt_has_scalar_dependences_outside_loop (loop, phi)) continue; work_list->safe_push (phi); } for (gimple_stmt_iterator gsi = gsi_start_bb (bbs[i]); !gsi_end_p (gsi); gsi_next ()) { gimple *stmt = gsi_stmt (gsi); + if (gimple_clobber_p (stmt)) + continue; + /* If there is a stmt with side-effects bail out - we cannot and should not distribute this loop. */ if (gimple_has_side_effects (stmt)) { free (bbs); return false; } /* Distribute stmts which have defs that are used outside of the loop. */ works for this testcase, but that may be too crude (?).
[Bug tree-optimization/90269] New: loop distribution defeated by clobbers
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90269 Bug ID: 90269 Summary: loop distribution defeated by clobbers Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: enhancement Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: glisse at gcc dot gnu.org Target Milestone: --- #include #ifndef EASY typedef std::unique_ptr T; #else typedef int* T; #endif void f(T*__restrict a,T*__restrict b){ for(int i=0;i<1024;++i){ new(a+i)T(std::move(b[i])); b[i].~T(); } } Compiling with -O3, with -DEASY I get a nice call to memcpy, while without it I keep a loop. The difference, before the ldist pass, is that the version with unique_ptr has clobbers: _8 = MEM[(int * const &)_3]; MEM[(struct &)_10] ={v} {CLOBBER}; MEM[(struct _Head_base *)_10]._M_head_impl = _8; MEM[(struct &)_3] ={v} {CLOBBER}; ldist checks gimple_has_side_effects (stmt) on the first clobber and gives up. Vectorization does not seem to have any problem with those clobbers. (by the way, I believe DSE could remove the first clobber, it seems pretty useless when it is immediately followed by a write to the full object)
[Bug c/90036] [8/9/10 Regression] false positive: directive argument is null [-Werror=format-overflow=]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90036 Segher Boessenkool changed: What|Removed |Added CC||segher at gcc dot gnu.org --- Comment #4 from Segher Boessenkool --- x.cpp:22:11: error: ‘%s’ directive argument is null [-Werror=format-overflow=] 22 | printf("%s = %s\n", [0], [0]); // warning | ~~^ Side issue... It's not clear what a "directive" or a "directive argument" is here, without guessing. "%s" is called a "conversion specifier". "null" is not a defined anything either, and the highlight should ideally be on the argument, with maybe an extra info one for the conversion spec. So maybe something like x.cpp:22:11: error: argument to ‘%s’ is a null pointer [-Werror=format-overflow=] 22 | printf("%s = %s\n", [0], [0]); // warning | ^~ ^~
[Bug libstdc++/87106] Group move and destruction of the source, where possible, for speed
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87106 --- Comment #21 from Marc Glisse --- Author: glisse Date: Sat Apr 27 14:09:20 2019 New Revision: 270624 URL: https://gcc.gnu.org/viewcvs?rev=270624=gcc=rev Log: Use __restrict for __relocate_object_a 2019-04-27 Marc Glisse PR libstdc++/87106 * include/bits/stl_uninitialized.h (__relocate_object_a): Mark the arguments with __restrict. Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/bits/stl_uninitialized.h
[Bug target/89261] ix86_data_alignment has wrong argument type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89261 Uroš Bizjak changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED Assignee|unassigned at gcc dot gnu.org |ubizjak at gmail dot com Target Milestone|--- |10.0 --- Comment #5 from Uroš Bizjak --- Fixed.
[Bug target/89261] ix86_data_alignment has wrong argument type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89261 --- Comment #4 from uros at gcc dot gnu.org --- Author: uros Date: Sat Apr 27 13:38:19 2019 New Revision: 270623 URL: https://gcc.gnu.org/viewcvs?rev=270623=gcc=rev Log: PR target/89261 * config/i386/i386-protos.h (ix86_data_alignment): Change the second argument type to unsigned int. * config/i386/i386.c (ix86_data_alignment): Change "align" argument type to unsigned int. testsuite/ChangeLog: PR target/89261 * gcc.target/i386/pr89261.c: New test. Added: trunk/gcc/testsuite/gcc.target/i386/pr89261.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386-protos.h trunk/gcc/config/i386/i386.c trunk/gcc/testsuite/ChangeLog
[Bug c++/89953] ICE in nothrow_spec_p, at cp/except.c:1244
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89953 Hannes Hauswedell changed: What|Removed |Added CC||h2+bugs at fsfe dot org --- Comment #17 from Hannes Hauswedell --- I don't want to sound presumptuous, but can we raise the importance of this issue? Otherwise we will get a gcc9 release that breaks all projects using the soon-to-be-released 1.0 release of range-v3. I think that is quite significant or not? Thank you for your work on GCC!
[Bug c/90036] [8/9/10 Regression] false positive: directive argument is null [-Werror=format-overflow=]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90036 --- Comment #3 from Dmitry G. Dyachenko --- I see smth may be similar starts at r265648 / PR87041 265647 NO warnings 265648 warnings 270581 warnings $ cat x.cpp #include #include extern void extf(char*); extern unsigned U1; extern unsigned U2; void foo() { if(U1 == 0) return; if(U2 == 0) return; std::vector N1(U1); extf([0]); std::vector N2(U2); extf([0]); printf("%s = %s\n", [0], [0]); // warning } void foo_i(unsigned i) { if(i == 0) return; if(U2 == 0) return; std::vector N1(i); extf([0]); std::vector N2(U2); extf([0]); printf("%s = %s\n", [0], [0]); // warning } void foo_j(unsigned j) { if(U1 == 0) return; if(j == 0) return; std::vector N1(U1); extf([0]); std::vector N2(j); extf([0]); printf("%s = %s\n", [0], [0]); // NO warning } void foo_2(unsigned i, unsigned j) { if(i == 0) return; if(j == 0) return; std::vector N1(i); extf([0]); std::vector N2(j); extf([0]); printf("%s = %s\n", [0], [0]); // NO warning } $ g++ -O2 -Wall -Werror -c x.cpp x.cpp: In function ‘void foo()’: x.cpp:22:11: error: ‘%s’ directive argument is null [-Werror=format-overflow=] 22 | printf("%s = %s\n", [0], [0]); // warning | ~~^ x.cpp: In function ‘void foo_i(unsigned int)’: x.cpp:38:11: error: ‘%s’ directive argument is null [-Werror=format-overflow=] 38 | printf("%s = %s\n", [0], [0]); // warning | ~~^
[Bug libobjc/90268] compile failure for gcc9, missing libtool in that directory
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90268 Andrew Pinski changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2019-04-27 Ever confirmed|0 |1 --- Comment #3 from Andrew Pinski --- For me libtool is created when configure is run. Also nothing has changed in libobjc/configure since October 2018. Are you regenerating the configure files?
[Bug libobjc/90268] compile failure for gcc9, missing libtool in that directory
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90268 --- Comment #2 from Andrew Pinski --- Are you building in the src directory? That is normally not tested.
[Bug libobjc/90268] compile failure for gcc9, missing libtool in that directory
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90268 Andrew Pinski changed: What|Removed |Added Component|objc|libobjc --- Comment #1 from Andrew Pinski --- How did you configure GCC?
[Bug objc/90268] New: compile failure for gcc9, missing libtool in that directory
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90268 Bug ID: 90268 Summary: compile failure for gcc9, missing libtool in that directory Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: objc Assignee: unassigned at gcc dot gnu.org Reporter: carlhansen at gnu dot org Target Milestone: --- Checking multilib configuration for libobjc... make[3]: Entering directory '/td2/carlstuff/build/gsrc/pkg/gnualpha/gcc9/work/gcc-9.0.1-RC-20190426.build/x86_64-linux-gnu/libobjc' /bin/bash ./libtool --mode=compile /td2/carlstuff/build/gsrc/pkg/gnualpha/gcc9/work/gcc-9.0.1-RC-20190426.build/./gcc/xgcc -B/td2/carlstuff/build/gsrc/pkg/gnualpha/gcc9/work/gcc-9.0.1-RC-20190426.build/./gcc/ -B/opt/gsrc/x86_64-linux-gnu/bin/ -B/opt/gsrc/x86_64-linux-gnu/lib/ -isystem /opt/gsrc/x86_64-linux-gnu/include -isystem /opt/gsrc/x86_64-linux-gnu/sys-include -fchecking=1 /td2/carlstuff/build/gsrc/pkg/gnualpha/gcc9/work/gcc-9.0.1-RC-20190426/libobjc/NXConstStr.m -c \ -I. -I/td2/carlstuff/build/gsrc/pkg/gnualpha/gcc9/work/gcc-9.0.1-RC-20190426/libobjc -g -O2 -fno-split-stack -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions -I/td2/carlstuff/build/gsrc/pkg/gnualpha/gcc9/work/gcc-9.0.1-RC-20190426/libobjc/../gcc -I/td2/carlstuff/build/gsrc/pkg/gnualpha/gcc9/work/gcc-9.0.1-RC-20190426/libobjc/../gcc/config -I../.././gcc -I/td2/carlstuff/build/gsrc/pkg/gnualpha/gcc9/work/gcc-9.0.1-RC-20190426/libobjc/../libgcc -I../libgcc -I/td2/carlstuff/build/gsrc/pkg/gnualpha/gcc9/work/gcc-9.0.1-RC-20190426/libobjc/../include -I/opt/gsrc/include -fgnu-runtime \ -o NXConstStr.lo /bin/bash: ./libtool: No such file or directory ^^ make[3]: *** [Makefile:215: NXConstStr.lo] Error 127 make[3]: Leaving directory '/td2/carlstuff/build/gsrc/pkg/gnualpha/gcc9/work/gcc-9.0.1-RC-20190426.build/x86_64-linux-gnu/libobjc' make[2]: *** [Makefile:20548: all-target-libobjc] Error 2 make[2]: Leaving directory '/td2/carlstuff/build/gsrc/pkg/gnualpha/gcc9/work/gcc-9.0.1-RC-20190426.build' same problem with all previous snapshots of gcc9 compiler in use: >>> gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 8.3.0-6' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 8.3.0 (Debian 8.3.0-6)
[Bug middle-end/90258] [9 Regression] Missing completion for a target option since r264052
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90258 Martin Liška changed: What|Removed |Added Known to work||10.0 Summary|[9/10 Regression] Missing |[9 Regression] Missing |completion for a target |completion for a target |option since r264052|option since r264052 Known to fail|10.0| --- Comment #4 from Martin Liška --- Fixed on trunk so far.
[Bug middle-end/90258] [9/10 Regression] Missing completion for a target option since r264052
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90258 --- Comment #3 from Martin Liška --- Author: marxin Date: Sat Apr 27 06:33:29 2019 New Revision: 270622 URL: https://gcc.gnu.org/viewcvs?rev=270622=gcc=rev Log: Add missing target options (PR middle-end/90258). 2019-04-27 Martin Liska PR middle-end/90258 * opt-suggestions.c (option_proposer::build_option_suggestions): When get_valid_option_values returns empty values, add the misspelling candidate. 2019-04-27 Martin Liska PR middle-end/90258 * gcc.dg/completion-5.c: New test. * gcc.target/i386/spellcheck-options-5.c: New test. Added: trunk/gcc/testsuite/gcc.dg/completion-5.c trunk/gcc/testsuite/gcc.target/i386/spellcheck-options-5.c Modified: trunk/gcc/ChangeLog trunk/gcc/opt-suggestions.c trunk/gcc/testsuite/ChangeLog