[Bug libfortran/79956] [7 Regression] many new -Wmaybe-uninitialized warnings with bootstrap-O3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79956 Markus Trippelsdorf changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|--- |FIXED --- Comment #36 from Markus Trippelsdorf --- Finally fixed. Thanks.
[Bug c++/80091] New: gcc from gcc-6 branch segfaults while compiling firefox
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80091 Bug ID: 80091 Summary: gcc from gcc-6 branch segfaults while compiling firefox Product: gcc Version: 6.3.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: me at hussam dot eu.org Target Milestone: --- 6.3 20160309 snapshot works fine but latest git from gcc-6 branch results in an internal compiler error: /usr/bin/g++ -std=gnu++11 -o Unified_cpp_dom_presentation0.o -c -I/home/hussam/cache/firefox/src/gecko-dev/obj-x86_64-pc-linux-gnu/dist/stl_wrappers -I/home/hussam/cache/firefox/src/gecko-dev/obj-x86_64-pc-linux-gnu/dist/system_wrappers -include /home/hussam/cache/firefox/src/gecko-dev/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DOS_POSIX=1 -DOS_LINUX=1 -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/home/hussam/cache/firefox/src/gecko-dev/dom/presentation -I/home/hussam/cache/firefox/src/gecko-dev/obj-x86_64-pc-linux-gnu/dom/presentation -I/home/hussam/cache/firefox/src/gecko-dev/dom/base -I/home/hussam/cache/firefox/src/gecko-dev/obj-x86_64-pc-linux-gnu/ipc/ipdl/_ipdlheaders -I/home/hussam/cache/firefox/src/gecko-dev/ipc/chromium/src -I/home/hussam/cache/firefox/src/gecko-dev/ipc/glue -I/home/hussam/cache/firefox/src/gecko-dev/obj-x86_64-pc-linux-gnu/dist/include -I/usr/include/nspr -I/usr/include/nss-I/usr/include/pixman-1 -fPIC -DMOZILLA_CLIENT -include /home/hussam/cache/firefox/src/gecko-dev/obj-x86_64-pc-linux-gnu/mozilla-config.h -MD -MP -MF .deps/Unified_cpp_dom_presentation0.o.pp -Wall -Wc++11-compat -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wc++14-compat -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wformat -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -freorder-blocks -Os -fomit-frame-pointer /home/hussam/cache/firefox/src/gecko-dev/obj-x86_64-pc-linux-gnu/dom/presentation/Unified_cpp_dom_presentation0.cpp In file included from /home/hussam/cache/firefox/src/gecko-dev/dom/base/nsINode.h:19:0, from /home/hussam/cache/firefox/src/gecko-dev/dom/base/nsIDocument.h:17, from /home/hussam/cache/firefox/src/gecko-dev/obj-x86_64-pc-linux-gnu/dist/include/mozilla/dom/BindingUtils.h:33, from /home/hussam/cache/firefox/src/gecko-dev/obj-x86_64-pc-linux-gnu/dist/include/mozilla/dom/ToJSValue.h:12, from /home/hussam/cache/firefox/src/gecko-dev/obj-x86_64-pc-linux-gnu/dist/include/mozilla/dom/EventListenerBinding.h:12, from /home/hussam/cache/firefox/src/gecko-dev/obj-x86_64-pc-linux-gnu/dist/include/mozilla/EventListenerManager.h:11, from /home/hussam/cache/firefox/src/gecko-dev/obj-x86_64-pc-linux-gnu/dist/include/mozilla/DOMEventTargetHelper.h:19, from /home/hussam/cache/firefox/src/gecko-dev/dom/presentation/PresentationAvailability.h:10, from /home/hussam/cache/firefox/src/gecko-dev/dom/presentation/AvailabilityCollection.cpp:10, from /home/hussam/cache/firefox/src/gecko-dev/obj-x86_64-pc-linux-gnu/dom/presentation/Unified_cpp_dom_presentation0.cpp:2: /home/hussam/cache/firefox/src/gecko-dev/obj-x86_64-pc-linux-gnu/dist/include/nsTObserverArray.h: In lambda function: /home/hussam/cache/firefox/src/gecko-dev/obj-x86_64-pc-linux-gnu/dist/include/nsTObserverArray.h:260:30: internal compiler error: Segmentation fault AdjustIterators(i, -1); ^ lines around 260 in /nsTObserverArray.h : // See nsTArray::RemoveElementsBy. void RemoveElementsBy(std::function aPredicate) { index_type i = 0; mArray.RemoveElementsBy([&](const elem_type& aItem) { if (aPredicate(aItem)) { // This element is going to be removed. AdjustIterators(i, -1); return true; } ++i; return false; }); }
[Bug c++/80084] [7 regression] wrong code for decomposition declaration with debug iterator
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80084 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |7.0
[Bug middle-end/44081] Incorrect nonnull assumed in code generation
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44081 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||msebor at gcc dot gnu.org Resolution|--- |FIXED --- Comment #15 from Martin Sebor --- I'm unable to reproduce any unexpected/erroneous behavior with the test cases submitted in comment #11 and later. Recent versions of GCC (5.x and beyond) all print the same output (marked <- Ok in the comments). Thus resolving as fixed.
[Bug preprocessor/55256] Out of memory preprocessing nested tgmath.h functions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55256 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2017-03-18 CC||msebor at gcc dot gnu.org Ever confirmed|0 |1 Known to fail||4.7.2, 5.3.1, 6.3.0, 7.0 --- Comment #1 from Martin Sebor --- Confirmed with GCC 7.0, 6 and 5. $ (cat z.c && ulimit -v 100 && gcc -S -Wall -Wextra z.c) #include int main(void) { sqrt(sqrt(sqrt(sqrt(1; } cc1: out of memory allocating 1477835728 bytes after a total of 89055232 bytes
[Bug middle-end/72776] Too large array size not diagnosed properly when inferred from an initializer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72776 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2017-03-18 CC||msebor at gcc dot gnu.org Ever confirmed|0 |1 Known to fail||4.1.3, 4.2.2, 4.3.2, 4.6.0, ||5.4.0, 6.3.0, 7.0 --- Comment #1 from Martin Sebor --- Confirmed. The array is diagnosed when one of its elements is referenced but not when it's defined. And when it is, the diagnostic is based on GCC assuming the array has zero size. Without looking into it in any detail, I think the comment is saying that 'char a[0]' is in GCC represented the same way as 'char b[SIZE_MAX]', i.e., with a domain of [0, SIZE_MAX]. IIRC, the bounds of an array domain are signed so the domain is really [0, -1]. But no object can be really as large as the whole address space. If it were, a difference between a pointer to one past its last byte and its first byte couldn't be represented in ptrdiff_t. The piece of code might exist to allow arrays of excessive size to be defined regardless (even if doing that is undefined). If that's it, then I don't think that should prevent them from being diagnosed. $ cat z.c && gcc -S -Wall -Wextra -O2 z.c char c[] = {[~0ul] = 1}; int foo (void) { return *c; } z.c: In function ‘foo’: z.c:5:10: warning: array subscript is above array bounds [-Warray-bounds] return *c; ^~
[Bug middle-end/34300] gcc 4.2.2 miscompiles code that uses global register variables
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34300 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||msebor at gcc dot gnu.org Resolution|--- |FIXED --- Comment #9 from Martin Sebor --- I can't reproduce an abort with the top of trunk (GCC 7.0) or 6.x or 5.x, or isolate the fix to any recent revision (4.2 and newer). In light of that and comment #7, resolving as fixed.
[Bug bootstrap/37013] gcc-4.2.1 build breaks in fortran when using --with-mpfr=
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37013 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2017-03-18 CC||msebor at gcc dot gnu.org Ever confirmed|0 |1 Known to fail|| --- Comment #5 from Martin Sebor --- GCC 4.2 is no longer maintained. Has the problem cleared up for you in more recent (and currently maintained) versions of GCC?
[Bug other/59489] docs mentions that -fwrapv mandatory with java, but not go
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59489 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||msebor at gcc dot gnu.org Resolution|--- |FIXED --- Comment #1 from Martin Sebor --- The option documentation no longer mentions Java (which has been removed from GCC 7). Resolving as fixed (for some definition of the word).
[Bug tree-optimization/79811] ICE verify_flow_info failed with -param vect-epilogues-nomask=1 and -mavx512vbmi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79811 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2017-03-17 CC||msebor at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Martin Sebor --- I cannot reproduce this ICE with today's top of trunk. Martin, has this by any chance been fixed since you raised it?
[Bug libgomp/39399] libgomp testsuite failures due to lack of linkind with libpthread
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39399 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||msebor at gcc dot gnu.org Resolution|--- |FIXED --- Comment #2 from Martin Sebor --- The reported test results that are closest to i386-unknown-freebsd8.0 are for i386-unknown-freebsd10.3 (https://gcc.gnu.org/ml/gcc-testresults/2017-03/msg01855.html). I don't see these tests failures there so I'll assume they have been fixed (alternatively, they won't be due to the passage of time). Resolving as fixed.
[Bug middle-end/46597] configure -enable-checking=... -enable-build-with-cxx and bootstrap is g++ 3.3 hit minor problem
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46597 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2017-03-17 CC||msebor at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #2 from Martin Sebor --- It's been over 6 years since this report was raised and GCC 4.5 is no longer maintained Have things improved with a currently supported version (GCC 4.8 or preferably later)?
[Bug c++/78147] The -Wshadow warning is too aggressive with constructor parameters
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78147 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2017-03-17 CC||msebor at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Martin Sebor --- Confirmed. Paul, please post your patch to gcc-patches. Personally, I think providing it under Clang's -Wunused-private-field for compatibility would be preferable to disabling the warning altogether. The top of trunk emits the following warning: $ cat t.C && gcc -S -Wshadow t.C class Foo { int foo; public: Foo(int foo) : foo(foo) {} }; t.C: In constructor ‘Foo::Foo(int)’: t.C:6:20: warning: declaration of ‘foo’ shadows a member of ‘Foo’ [-Wshadow] Foo(int foo) : foo(foo) {} ^ t.C:4:11: note: shadowed declaration is here int foo; ^~~ With -Weverything Clang emits the warnings below. t.C:6:15: warning: constructor parameter 'foo' shadows the field 'foo' of 'Foo' [-Wshadow-field-in-constructor] Foo(int foo) : foo(foo) {} ^ t.C:4:11: note: previous declaration is here int foo; ^ t.C:4:11: warning: private field 'foo' is not used [-Wunused-private-field] int foo; ^ 2 warnings generated.
[Bug lto/53604] ld reports errors using lto after upgrading from gcc-4.6.2 to gcc-4.7.0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53604 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2017-03-17 CC||msebor at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #13 from Martin Sebor --- This report has been unconfirmed for nearly 5 years and GCC 4.7 is no longer maintained. Does the problem persist with a maintained compiler (GCC 4.8 or newer) or can it be resolved?
[Bug middle-end/80090] New: Incorrect assembler - output_addr_const may generate visibility output between op and address constant
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80090 Bug ID: 80090 Summary: Incorrect assembler - output_addr_const may generate visibility output between op and address constant Product: gcc Version: 6.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: danglin at gcc dot gnu.org Target Milestone: --- Host: hppa-unknown-linux-gnu Target: hppa-unknown-linux-gnu Build: hppa-unknown-linux-gnu The build of autodock-vina fails as follows on hppa: g++ -pthread -ansi -Wno-long-long -O3 -DNDEBUG -I /usr/include --lto -o vina main.o cache.o coords.o current_weights.o everything.o grid.o szv_grid.o manifold.o model.o monte_carlo.o mutate.o my_pid.o naive_non_cache.o non_cache.o parallel_mc.o parse_pdbqt.o pdb.o quasi_newton.o quaternion.o random.o ssd.o terms.o weighted_terms.o -l boost_system -l boost_thread -l boost_program_options -lboost_filesystem /tmp/cceWz5Tk.s: Assembler messages: /tmp/cceWz5Tk.s:5010: Error: junk at end of line, first unrecognized character is `_' /tmp/cceWz5Tk.s:5011: Error: Unknown opcode: `_zti14internal_error' /tmp/cceWz5Tk.s:5017: Error: junk at end of line, first unrecognized character is `_' /tmp/cceWz5Tk.s:5018: Error: Unknown opcode: `_zti11parse_error' lto-wrapper: fatal error: g++ returned 1 exit status compilation terminated. In more detail, we have: dave@mx3210:~/debian/autodock-vina/autodock-vina-1.1.2/build/linux/release$ cat xx.sh Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/hppa-linux-gnu/6/lto-wrapper Target: hppa-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 6.3.0-9' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,java,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-6 --program-prefix=hppa-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libssp --disable-libitm --disable-libsanitizer --disable-libquadmath --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-hppa/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-hppa --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-hppa --with-arch-directory=parisc --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc=auto --enable-multiarch --disable-libstdcxx-pch --enable-checking=release --build=hppa-linux-gnu --host=hppa-linux-gnu --target=hppa-linux-gnu Thread model: posix gcc version 6.3.0 20170316 (Debian 6.3.0-9) COMPILER_PATH=/usr/lib/gcc/hppa-linux-gnu/6/:/usr/lib/gcc/hppa-linux-gnu/6/:/usr/lib/gcc/hppa-linux-gnu/:/usr/lib/gcc/hppa-linux-gnu/6/:/usr/lib/gcc/hppa-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/hppa-linux-gnu/6/:/usr/lib/gcc/hppa-linux-gnu/6/../../../hppa-linux-gnu/:/usr/lib/gcc/hppa-linux-gnu/6/../../../:/lib/hppa-linux-gnu/:/lib/:/usr/lib/hppa-linux-gnu/:/usr/lib/ COLLECT_GCC_OPTIONS='-pthread' '-ansi' '-Wno-long-long' '-O3' '-D' 'NDEBUG' '-I' '/usr/include' '-flto' '-o' 'vina' '-v' '-save-temps' '-shared-libgcc' /usr/lib/gcc/hppa-linux-gnu/6/collect2 -plugin /usr/lib/gcc/hppa-linux-gnu/6/liblto_plugin.so -plugin-opt=/usr/lib/gcc/hppa-linux-gnu/6/lto-wrapper -plugin-opt=-fresolution=-lm.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -flto --sysroot=/ --build-id --eh-frame-hdr -dynamic-linker /lib/ld.so.1 -o vina /usr/lib/gcc/hppa-linux-gnu/6/../../../hppa-linux-gnu/crt1.o /usr/lib/gcc/hppa-linux-gnu/6/../../../hppa-linux-gnu/crti.o /usr/lib/gcc/hppa-linux-gnu/6/crtbegin.o -L/usr/lib/gcc/hppa-linux-gnu/6 -L/usr/lib/gcc/hppa-linux-gnu/6/../../../hppa-linux-gnu -L/usr/lib/gcc/hppa-linux-gnu/6/../../.. -L/lib/hppa-linux-gnu -L/usr/lib/hppa-linux-gnu main.o cache.o coords.o current_weights.o everything.o grid.o szv_grid.o manifold.o model.o monte_carlo.o mutate.o my_pid.o naive_non_cache.o non_cache.o parallel_mc.o parse_pdbqt.o pdb.o quasi_newton.o quaternion.o random.o ssd.o terms.o weighted_terms.o -lboost_system -lboost_thread -lboost_program_options -lboost_filesystem -lstdc++ -lm -lgcc_s -lgcc -lpthread -lc -lgcc_s -lgcc /usr/lib/gcc/hppa-linux-gnu/6/crtend.o /usr/lib/gcc/hppa-linux-gnu/6/../../../hppa-linux-gnu/crtn.o g++ @/tmp/ccp6Ob4O Using built-in specs. COLLECT_GCC=g++ Target: hppa-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 6.3.0-9' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages
[Bug c++/68826] [concepts] ICE in fold expression with requires
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68826 Martin Sebor changed: What|Removed |Added Keywords||ice-on-valid-code Status|UNCONFIRMED |NEW Last reconfirmed||2017-03-17 CC||msebor at gcc dot gnu.org Ever confirmed|0 |1 Known to fail||6.3.0, 7.0 --- Comment #1 from Martin Sebor --- Confirmed with today's top of trunk (GCC 7.0). Same stack trace.
[Bug translation/79643] Please define the file format of *.opt files more i18n-friendly
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79643 Roland Illig changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |WONTFIX --- Comment #3 from Roland Illig --- Redefining the file format would be too much work, given that translating these messages doesn't take too long and they barely change once translated.
[Bug target/79912] [7 regression] LRA unable to generate reloads after r245655
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79912 --- Comment #17 from Palmer Dabbelt --- I'm sending out the immediate fix, I'll try and get some time to clean up the mov patterns this weekend. https://gcc.gnu.org/ml/gcc-patches/2017-03/msg00960.html
[Bug c/49779] Wrong code generated for while loop with guard containing continue
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49779 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||msebor at gcc dot gnu.org Resolution|--- |DUPLICATE --- Comment #7 from Martin Sebor --- It doesn't look like anything has changed in GCC 7.0. GCC (in C mode) still behaves as described in comment #0 and G++ as discussed in the referenced bug 44715. Based on comment #6 and on the discussion in bug 44715 resolving as a duplicate of that bug. *** This bug has been marked as a duplicate of bug 44715 ***
[Bug c/44715] Break in increment expression of "for" statement inconsistent with g++
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44715 Martin Sebor changed: What|Removed |Added CC||bagnara at cs dot unipr.it --- Comment #5 from Martin Sebor --- *** Bug 49779 has been marked as a duplicate of this bug. ***
[Bug middle-end/63484] misleading/obsolete -fdelete-null-pointer-checks documentation
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63484 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||msebor at gcc dot gnu.org Resolution|--- |FIXED --- Comment #2 from Martin Sebor --- The documentation has been updated since the report was raised and I think it's sufficiently clear. If you have a suggestion for further clarification please feel free to propose another update.
[Bug c++/69390] dynamic_cast on rvalue fails
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69390 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2017-03-17 CC||msebor at gcc dot gnu.org Ever confirmed|0 |1 Known to fail||5.3.1, 6.3.0, 7.0 --- Comment #3 from Martin Sebor --- Confirmed with today's top of trunk (GCC 7.0), 6.x, and 5.x $ cat t.C && gcc -Wall -Wextra -Wpedantic t.C struct A { virtual ~A() {}; }; struct B : A {} b; void g () { A &&ar = static_cast(b); B &&br = dynamic_cast(ar); dynamic_cast(static_cast(b)); } t.C: In function ‘void g()’: t.C:9:23: error: conversion to non-const reference type ‘struct A&’ from rvalue of type ‘A’ [-fpermissive] dynamic_cast(static_cast(b)); ^~~ t.C:7:9: warning: unused variable ‘br’ [-Wunused-variable] B &&br = dynamic_cast(ar); ^~
[Bug c/43778] C/C++ __attribute__((deprecated)) does not appear to wrap declarations as implied from the doc.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43778 Martin Sebor changed: What|Removed |Added Keywords||diagnostic Status|UNCONFIRMED |NEW Last reconfirmed||2017-03-17 CC||msebor at gcc dot gnu.org Ever confirmed|0 |1 Known to fail||4.6.0, 5.3.0, 6.3.0, 7.0 --- Comment #4 from Martin Sebor --- I'll confirm this bug. The manual seems clear that "the warnings only occur for uses and then only if the type is being applied to an identifier that itself is not being declared as deprecated." With today's top of trunk I get the same output: $ cat t.C && gcc -S -Wall -Wextra -xc t.C #define Deprecated __attribute__((deprecated)) typedef int INT Deprecated; // no warning (ok) typedef INT FOO Deprecated; // no warning (ok) struct Deprecated S { INT i; // warning (bug?) }; INT f1 (void) Deprecated; // no warning (ok) void f2 (INT) Deprecated; // warning (bug) INT f3 (INT) Deprecated; // warning (bug) INT i Deprecated; // no warning (ok) t.C:8:3: warning: ‘INT’ is deprecated [-Wdeprecated-declarations] INT i; // warning (bug?) ^~~ t.C:13:1: warning: ‘INT’ is deprecated [-Wdeprecated-declarations] void f2 (INT) Deprecated; // warning (bug) ^~~~ t.C:15:1: warning: ‘INT’ is deprecated [-Wdeprecated-declarations] INT f3 (INT) Deprecated; // warning (bug) ^~~ G++ comes closer to the expected output but it fails the typedef test (which GCC passes in C mode): t.C:8:7: warning: ‘INT’ is deprecated [-Wdeprecated-declarations] INT i; // warning (bug?) ^ t.C:3:13: note: declared here typedef int INT Deprecated; // no warning (ok) ^~~ Clang 5.0 produces no warnings.
[Bug c++/80038] Random segfault using local vectors in Cilk function [Regression 6/7]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80038 --- Comment #26 from Xi Ruoyao --- Reverting r227423 makes both Florent's and NumericMonoid code work. But it reintroduced pr60586. Trying to solve it.
[Bug fortran/79841] Inconsistent diagnostics in fortran/openmp.c, function check_symbol_not_pointer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79841 Roland Illig changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #11 from Roland Illig --- Thanks for fixing these.
[Bug c++/67559] Passing non-trivially copyable objects through '...' doesn't generate warning or error
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67559 Martin Sebor changed: What|Removed |Added Keywords||diagnostic Status|UNCONFIRMED |NEW Last reconfirmed||2017-03-17 CC||msebor at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #3 from Martin Sebor --- Confirmed. Clang has -Wnon-pod-varargs to control the diagnostic. To ease portability it makes sense to warn on conditionally-supported behavior, at least with -Wpedantic.
[Bug c++/77523] rejects valid C++14 code with initialized lambda capture
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77523 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2017-03-17 CC||msebor at gcc dot gnu.org, ||nathan at acm dot org Ever confirmed|0 |1 Known to fail||5.4.1, 6.3.0, 7.0 --- Comment #1 from Martin Sebor --- Confirmed. EDG eccp 4.13 also accepts it. In addition, with today's top of trunk the instantiation context is missing. This is all I see on output: $ gcc -Wall -Wextra -Wpedantic -Wrestrict -std=c++1y t.C t.C: In function ‘void f(T)’: t.C:3:18: error: cannot capture ‘f<>’ by reference auto g = [&a = f <>] () {}; ^~~~ $ Bisection points to r244056 as the change that caused the loss of the context. CC'ing the author.
[Bug libfortran/79956] [7 Regression] many new -Wmaybe-uninitialized warnings with bootstrap-O3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79956 --- Comment #35 from Thomas Koenig --- Author: tkoenig Date: Fri Mar 17 21:27:08 2017 New Revision: 246248 URL: https://gcc.gnu.org/viewcvs?rev=246248&root=gcc&view=rev Log: 2017-03-17 Thomas Koenig PR libfortran/79956 * m4/reshape.m4 (reshape_'rtype_ccode`): Correct use of GFC_ASSERT. * generated/reshape_c10.c: Regenerated. * generated/reshape_c16.c: Regenerated. * generated/reshape_c4.c: Regenerated. * generated/reshape_c8.c: Regenerated. * generated/reshape_i16.c: Regenerated. * generated/reshape_i4.c: Regenerated. * generated/reshape_i8.c: Regenerated. * generated/reshape_r10.c: Regenerated. * generated/reshape_r16.c: Regenerated. * generated/reshape_r4.c: Regenerated. * generated/reshape_r8.c: Regenerated. Modified: trunk/libgfortran/ChangeLog trunk/libgfortran/generated/reshape_c10.c trunk/libgfortran/generated/reshape_c16.c trunk/libgfortran/generated/reshape_c4.c trunk/libgfortran/generated/reshape_c8.c trunk/libgfortran/generated/reshape_i16.c trunk/libgfortran/generated/reshape_i4.c trunk/libgfortran/generated/reshape_i8.c trunk/libgfortran/generated/reshape_r10.c trunk/libgfortran/generated/reshape_r16.c trunk/libgfortran/generated/reshape_r4.c trunk/libgfortran/generated/reshape_r8.c trunk/libgfortran/m4/reshape.m4
[Bug c/70475] -Wmisleading-indentation quetionable in Eigen
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70475 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||msebor at gcc dot gnu.org Resolution|--- |WONTFIX --- Comment #6 from Martin Sebor --- Based on comment #2 and comment #3, and since the bug hasn't been confirmed in a year, resolving as won't fix.
[Bug target/79747] Missing documentation for -malign-{jumps,label,loops,functions}= and strange value range limitation
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79747 Martin Sebor changed: What|Removed |Added Keywords||documentation CC||msebor at gcc dot gnu.org --- Comment #2 from Martin Sebor --- I don't see -malign-functions in the latest manual. -falign-functions is documented with an optional equals at the end. $ (cd /src/gcc/trunk && grep align-functions= gcc/doc/*) grep: gcc/doc/include: Is a directory gcc/doc/invoke.texi:@itemx -falign-functions=@var{n} gcc/doc/invoke.texi:@option{-falign-functions=32} aligns functions to the next 32-byte gcc/doc/invoke.texi:boundary, but @option{-falign-functions=24} aligns to the next gcc/doc/invoke.texi:@option{-fno-align-functions} and @option{-falign-functions=1} are With today's trunk I get: $ gcc -Wall -Wextra -Wpedantic -Wrestrict -malign-functions -xc - < /dev/null xgcc: error: unrecognized command line option ‘-malign-functions’; did you mean ‘-falign-functions’?
[Bug c++/78073] inherited initializer_list constructor is not accessible
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78073 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||msebor at gcc dot gnu.org Resolution|--- |FIXED --- Comment #3 from Martin Sebor --- I'm not able to reproduce the error or find a revision that failed. Resolving as fixed.
[Bug c++/71195] [5 Regression] ICE in classify_argument on invalid code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71195 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2017-03-17 CC||msebor at gcc dot gnu.org Known to work||7.0 Ever confirmed|0 |1 Known to fail||5.4.0 --- Comment #3 from Martin Sebor --- Confirmed with 5-branch. Works with later versions.
[Bug other/55375] libsanitizer license incomplete
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55375 Martin Sebor changed: What|Removed |Added Priority|P1 |P3 CC||msebor at gcc dot gnu.org Severity|major |normal --- Comment #6 from Martin Sebor --- This P1 bug has been open for over 4 years and never confirmed. It doesn't seem that it meets the criteria for a P1 (https://gcc.gnu.org/bugs/management.html). I'm going to take the liberty do make it a P3/Normal, like most other unconfirmed bugs that haven't been triaged by release managers.
[Bug c++/80089] New: ICE: Segfault with openMP and a string
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80089 Bug ID: 80089 Summary: ICE: Segfault with openMP and a string Product: gcc Version: 5.4.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: agadethrowaway at gmail dot com Target Milestone: --- Created attachment 40998 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40998&action=edit Code to reproduce + .ii file Version: g++ (Ubuntu 5.4.1-2ubuntu1~16.04) 5.4.1 20160904 System: Linux mint 18.1 Minimal code: #include int main(){ std::string s=""; #pragma omp parallel while(true){} } Compile line: g++ ICE.cpp -O3 -fopenmp Output: ICE.cpp: In function ‘int main()’: ICE.cpp:6:1: internal compiler error: Segmentation fault } ^ Please submit a full bug report, with preprocessed source if appropriate. See for instructions. Makefile:2: recipe for target 'all' failed make: *** [all] Error 1 I believe these are the compilation options ubuntu uses: Configured with: -v --with-pkgversion='Ubuntu 5.4.1-8ubuntu1' --with-bugurl='file:///usr/share/doc/gcc-5/README.Bugs' --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --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 --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu It seems to be a regression in gcc 5 through to gcc 6.2 and gone in gcc 6.3. Included are the .cpp and .ii files in a .tar.gz.
[Bug c/80088] New: ICE: declaration and definition of function with __attribute__((target("thumb"))) and inlined assembler, with debug symbols enabled
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80088 Bug ID: 80088 Summary: ICE: declaration and definition of function with __attribute__((target("thumb"))) and inlined assembler, with debug symbols enabled Product: gcc Version: 5.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: wojtek.golf at interia dot pl Target Milestone: --- Snippet below, when compiled with arm hard-float crosscompiler, causes ICE. void __attribute(( target("thumb") )) bar(); int main() { return 0; } void bar() { unsigned int foo; asm ("mcr p15, 0, %0, c13, c0, 3" : : "r" (foo) ); } 1. commenting out main function make the problem disappears 2. when the definition is moved before main the problem disappears 3. when the target attribute is changed to arm the problem disappears 4. when the inline assembler is replaced with asm(" mcr 15, 0, r3, cr13, cr0, {3}"); the problem disappears Invocation command: arm-linux-gnueabihf-gcc -g -marm ice3.c -c 1. -g and -marm flags are mandatory, either one of them missing make the problem disappear 2. -c can be replaced with -S The compiler crashes with the following output to the console: $ arm-linux-gnueabihf-gcc -g -marm ice3.c -S ice3.c: In function ‘bar’: ice3.c:16:1: internal compiler error: in dwarf2out_frame_debug_adjust_cfa, at dwarf2cfi.c:1169 } ^ Please submit a full bug report, with preprocessed source if appropriate. See for instructions. Environment: OS: Ubuntu 16.04.04 $ uname -a Linux wojtek-dell 4.4.0-59-generic #80-Ubuntu SMP Fri Jan 6 17:47:47 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux $ $ arm-linux-gnueabihf-gcc --version arm-linux-gnueabihf-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[Bug rtl-optimization/79405] [7 Regression] Compile-time hog w/ -O2 (-Os, -O3) on 32-bit BE powerpc targets
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79405 Segher Boessenkool changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |segher at gcc dot gnu.org --- Comment #7 from Segher Boessenkool --- The testcase has undefined behaviour, of course. We start with these insns, all in the same basic block, in this order: B := A|Z(1) A := B (2) D := A (3) First propagating (1) into (2) is tried. This fails, because the IOR makes this not simple enough to propagate. Later Z is found to be 0, but it never tries to propagate (1) into (2) again. If fwprop would try that there would be no problem, and this is a missed optimisation anyway! If all propagations would be tried it would result in B := A A := A D := A but with what we have now we get B := A A := B D := A oscillating with B := A A := B D := B
[Bug libstdc++/80041] std::codecvt_utf16 converts to UTF-8 not UTF-16
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80041 Jonathan Wakely changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED Target Milestone|--- |5.5 Known to fail||5.4.0, 6.3.0 --- Comment #5 from Jonathan Wakely --- Fixed for 5.5, 6.4 and 7.1
[Bug libstdc++/79980] Possible bug in codecvt.cpp bitmask setting code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79980 Jonathan Wakely changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED Target Milestone|--- |5.5 Known to fail||5.4.0, 6.3.0 --- Comment #12 from Jonathan Wakely --- Fixed for 5.5, 6.4 and 7.1
[Bug libstdc++/79511] Convertation issues in std::codecvt_utf8_utf16
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79511 Jonathan Wakely changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED Target Milestone|--- |5.5 Known to fail||5.4.0, 6.3.0 --- Comment #18 from Jonathan Wakely --- Fixed for 5.5, 6.4 and 7.1
[Bug libstdc++/80041] std::codecvt_utf16 converts to UTF-8 not UTF-16
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80041 --- Comment #4 from Jonathan Wakely --- Author: redi Date: Fri Mar 17 19:28:42 2017 New Revision: 246247 URL: https://gcc.gnu.org/viewcvs?rev=246247&root=gcc&view=rev Log: Backport fixes from trunk Fix alignment bugs in std::codecvt_utf16 * src/c++11/codecvt.cc (range): Add non-type template parameter and define oerloaded operators for reading and writing code units. (range): Define partial specialization for accessing wide characters in potentially unaligned byte ranges. (ucs2_span(const char16_t*, const char16_t*, ...)) (ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters to range in order to avoid unaligned reads. (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_out): Use range specialization for unaligned data to avoid unaligned writes. (__codecvt_utf16_base::do_in) (__codecvt_utf16_base::do_in) (__codecvt_utf16_base::do_in): Likewise for writes. Return error if there are unprocessable trailing bytes. (__codecvt_utf16_base::do_length) (__codecvt_utf16_base::do_length) (__codecvt_utf16_base::do_length): Pass arguments of type range to span functions. * testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test. PR libstdc++/79980 fix target type of cast PR libstdc++/79980 * src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type. PR libstdc++/80041 fix codecvt_utf16 to use UTF-16 not UTF-8 PR libstdc++/80041 * src/c++11/codecvt.cc (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_in): Convert char arguments to char16_t to work with UTF-16 instead of UTF-8. * testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test. Fix encoding() and max_length() values for codecvt facets * src/c++11/codecvt.cc (codecvt) (codecvt, __codecvt_utf8_base) (__codecvt_utf8_base, __codecvt_utf8_base) (__codecvt_utf16_base, __codecvt_utf16_base) (__codecvt_utf16_base, __codecvt_utf8_utf16_base) (__codecvt_utf8_utf16_base) (__codecvt_utf8_utf16_base): Fix do_encoding() and do_max_length() return values. * testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test. PR libstdc++/79980 fix BOM detection, maxcode checks, UCS2 handling PR libstdc++/79980 * include/bits/locale_conv.h (__do_str_codecvt): Set __count on error path. * src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads for manipulating codecvt_mode values. (read_utf16_bom): Compare input to BOM constants instead of integral constants that depend on endianness. Take mode parameter by reference and adjust it, to distinguish between no BOM present and UTF-16BE BOM present. (ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom. (surrogates): New enumeration type. (utf16_in, utf16_out): Add surrogates parameter to choose between UTF-16 and UCS2 behaviour. (utf16_span, ucs2_span): Use std::min not std::max. (ucs2_out): Use std::min not std::max. Disallow surrogate pairs. (ucs2_in): Likewise. Adjust calls to read_utf16_bom. * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test. PR libstdc++/79511 fix endianness of UTF-16 data PR libstdc++/79511 * src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0x as a surrogate pair. (__codecvt_utf8_utf16_base::do_in): Use native endianness for internal representation. (__codecvt_utf8_utf16_base::do_in): Likewise. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test. Added: branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/79980.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/80041.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/members.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/79980.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/members.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc Modified: branches/gcc-5-branch/libstdc++-v3/ChangeLog branches/gcc-5-branch/libstdc++-v3/include/bits/locale_conv.h branches/gcc
[Bug libstdc++/79511] Convertation issues in std::codecvt_utf8_utf16
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79511 --- Comment #17 from Jonathan Wakely --- Author: redi Date: Fri Mar 17 19:28:42 2017 New Revision: 246247 URL: https://gcc.gnu.org/viewcvs?rev=246247&root=gcc&view=rev Log: Backport fixes from trunk Fix alignment bugs in std::codecvt_utf16 * src/c++11/codecvt.cc (range): Add non-type template parameter and define oerloaded operators for reading and writing code units. (range): Define partial specialization for accessing wide characters in potentially unaligned byte ranges. (ucs2_span(const char16_t*, const char16_t*, ...)) (ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters to range in order to avoid unaligned reads. (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_out): Use range specialization for unaligned data to avoid unaligned writes. (__codecvt_utf16_base::do_in) (__codecvt_utf16_base::do_in) (__codecvt_utf16_base::do_in): Likewise for writes. Return error if there are unprocessable trailing bytes. (__codecvt_utf16_base::do_length) (__codecvt_utf16_base::do_length) (__codecvt_utf16_base::do_length): Pass arguments of type range to span functions. * testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test. PR libstdc++/79980 fix target type of cast PR libstdc++/79980 * src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type. PR libstdc++/80041 fix codecvt_utf16 to use UTF-16 not UTF-8 PR libstdc++/80041 * src/c++11/codecvt.cc (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_in): Convert char arguments to char16_t to work with UTF-16 instead of UTF-8. * testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test. Fix encoding() and max_length() values for codecvt facets * src/c++11/codecvt.cc (codecvt) (codecvt, __codecvt_utf8_base) (__codecvt_utf8_base, __codecvt_utf8_base) (__codecvt_utf16_base, __codecvt_utf16_base) (__codecvt_utf16_base, __codecvt_utf8_utf16_base) (__codecvt_utf8_utf16_base) (__codecvt_utf8_utf16_base): Fix do_encoding() and do_max_length() return values. * testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test. PR libstdc++/79980 fix BOM detection, maxcode checks, UCS2 handling PR libstdc++/79980 * include/bits/locale_conv.h (__do_str_codecvt): Set __count on error path. * src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads for manipulating codecvt_mode values. (read_utf16_bom): Compare input to BOM constants instead of integral constants that depend on endianness. Take mode parameter by reference and adjust it, to distinguish between no BOM present and UTF-16BE BOM present. (ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom. (surrogates): New enumeration type. (utf16_in, utf16_out): Add surrogates parameter to choose between UTF-16 and UCS2 behaviour. (utf16_span, ucs2_span): Use std::min not std::max. (ucs2_out): Use std::min not std::max. Disallow surrogate pairs. (ucs2_in): Likewise. Adjust calls to read_utf16_bom. * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test. PR libstdc++/79511 fix endianness of UTF-16 data PR libstdc++/79511 * src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0x as a surrogate pair. (__codecvt_utf8_utf16_base::do_in): Use native endianness for internal representation. (__codecvt_utf8_utf16_base::do_in): Likewise. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test. Added: branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/79980.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/80041.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/members.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/79980.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/members.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc Modified: branches/gcc-5-branch/libstdc++-v3/ChangeLog branches/gcc-5-branch/libstdc++-v3/include/bits/locale_conv.h branches/gc
[Bug libstdc++/79980] Possible bug in codecvt.cpp bitmask setting code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79980 --- Comment #11 from Jonathan Wakely --- Author: redi Date: Fri Mar 17 19:28:42 2017 New Revision: 246247 URL: https://gcc.gnu.org/viewcvs?rev=246247&root=gcc&view=rev Log: Backport fixes from trunk Fix alignment bugs in std::codecvt_utf16 * src/c++11/codecvt.cc (range): Add non-type template parameter and define oerloaded operators for reading and writing code units. (range): Define partial specialization for accessing wide characters in potentially unaligned byte ranges. (ucs2_span(const char16_t*, const char16_t*, ...)) (ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters to range in order to avoid unaligned reads. (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_out): Use range specialization for unaligned data to avoid unaligned writes. (__codecvt_utf16_base::do_in) (__codecvt_utf16_base::do_in) (__codecvt_utf16_base::do_in): Likewise for writes. Return error if there are unprocessable trailing bytes. (__codecvt_utf16_base::do_length) (__codecvt_utf16_base::do_length) (__codecvt_utf16_base::do_length): Pass arguments of type range to span functions. * testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test. PR libstdc++/79980 fix target type of cast PR libstdc++/79980 * src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type. PR libstdc++/80041 fix codecvt_utf16 to use UTF-16 not UTF-8 PR libstdc++/80041 * src/c++11/codecvt.cc (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_in): Convert char arguments to char16_t to work with UTF-16 instead of UTF-8. * testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test. Fix encoding() and max_length() values for codecvt facets * src/c++11/codecvt.cc (codecvt) (codecvt, __codecvt_utf8_base) (__codecvt_utf8_base, __codecvt_utf8_base) (__codecvt_utf16_base, __codecvt_utf16_base) (__codecvt_utf16_base, __codecvt_utf8_utf16_base) (__codecvt_utf8_utf16_base) (__codecvt_utf8_utf16_base): Fix do_encoding() and do_max_length() return values. * testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test. PR libstdc++/79980 fix BOM detection, maxcode checks, UCS2 handling PR libstdc++/79980 * include/bits/locale_conv.h (__do_str_codecvt): Set __count on error path. * src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads for manipulating codecvt_mode values. (read_utf16_bom): Compare input to BOM constants instead of integral constants that depend on endianness. Take mode parameter by reference and adjust it, to distinguish between no BOM present and UTF-16BE BOM present. (ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom. (surrogates): New enumeration type. (utf16_in, utf16_out): Add surrogates parameter to choose between UTF-16 and UCS2 behaviour. (utf16_span, ucs2_span): Use std::min not std::max. (ucs2_out): Use std::min not std::max. Disallow surrogate pairs. (ucs2_in): Likewise. Adjust calls to read_utf16_bom. * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test. PR libstdc++/79511 fix endianness of UTF-16 data PR libstdc++/79511 * src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0x as a surrogate pair. (__codecvt_utf8_utf16_base::do_in): Use native endianness for internal representation. (__codecvt_utf8_utf16_base::do_in): Likewise. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test. Added: branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/79980.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/80041.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/members.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/79980.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/members.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc branches/gcc-5-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc Modified: branches/gcc-5-branch/libstdc++-v3/ChangeLog branches/gcc-5-branch/libstdc++-v3/include/bits/locale_conv.h branches/gc
[Bug libstdc++/79511] Convertation issues in std::codecvt_utf8_utf16
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79511 --- Comment #16 from Jonathan Wakely --- Author: redi Date: Fri Mar 17 19:28:29 2017 New Revision: 246246 URL: https://gcc.gnu.org/viewcvs?rev=246246&root=gcc&view=rev Log: Backport fixes from trunk Fix alignment bugs in std::codecvt_utf16 * src/c++11/codecvt.cc (range): Add non-type template parameter and define oerloaded operators for reading and writing code units. (range): Define partial specialization for accessing wide characters in potentially unaligned byte ranges. (ucs2_span(const char16_t*, const char16_t*, ...)) (ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters to range in order to avoid unaligned reads. (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_out): Use range specialization for unaligned data to avoid unaligned writes. (__codecvt_utf16_base::do_in) (__codecvt_utf16_base::do_in) (__codecvt_utf16_base::do_in): Likewise for writes. Return error if there are unprocessable trailing bytes. (__codecvt_utf16_base::do_length) (__codecvt_utf16_base::do_length) (__codecvt_utf16_base::do_length): Pass arguments of type range to span functions. * testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test. PR libstdc++/79980 fix target type of cast PR libstdc++/79980 * src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type. PR libstdc++/80041 fix codecvt_utf16 to use UTF-16 not UTF-8 PR libstdc++/80041 * src/c++11/codecvt.cc (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_in): Convert char arguments to char16_t to work with UTF-16 instead of UTF-8. * testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test. Fix encoding() and max_length() values for codecvt facets * src/c++11/codecvt.cc (codecvt) (codecvt, __codecvt_utf8_base) (__codecvt_utf8_base, __codecvt_utf8_base) (__codecvt_utf16_base, __codecvt_utf16_base) (__codecvt_utf16_base, __codecvt_utf8_utf16_base) (__codecvt_utf8_utf16_base) (__codecvt_utf8_utf16_base): Fix do_encoding() and do_max_length() return values. * testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test. PR libstdc++/79980 fix BOM detection, maxcode checks, UCS2 handling PR libstdc++/79980 * include/bits/locale_conv.h (__do_str_codecvt): Set __count on error path. * src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads for manipulating codecvt_mode values. (read_utf16_bom): Compare input to BOM constants instead of integral constants that depend on endianness. Take mode parameter by reference and adjust it, to distinguish between no BOM present and UTF-16BE BOM present. (ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom. (surrogates): New enumeration type. (utf16_in, utf16_out): Add surrogates parameter to choose between UTF-16 and UCS2 behaviour. (utf16_span, ucs2_span): Use std::min not std::max. (ucs2_out): Use std::min not std::max. Disallow surrogate pairs. (ucs2_in): Likewise. Adjust calls to read_utf16_bom. * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test. PR libstdc++/79511 fix endianness of UTF-16 data PR libstdc++/79511 * src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0x as a surrogate pair. (__codecvt_utf8_utf16_base::do_in): Use native endianness for internal representation. (__codecvt_utf8_utf16_base::do_in): Likewise. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test. Added: branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/79980.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/80041.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/members.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/79980.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/members.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc Modified: branches/gcc-6-branch/libstdc++-v3/ChangeLog branches/gcc-6-branch/libstdc++-v3/include/bits/locale_conv.h branches/gc
[Bug libstdc++/79980] Possible bug in codecvt.cpp bitmask setting code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79980 --- Comment #10 from Jonathan Wakely --- Author: redi Date: Fri Mar 17 19:28:29 2017 New Revision: 246246 URL: https://gcc.gnu.org/viewcvs?rev=246246&root=gcc&view=rev Log: Backport fixes from trunk Fix alignment bugs in std::codecvt_utf16 * src/c++11/codecvt.cc (range): Add non-type template parameter and define oerloaded operators for reading and writing code units. (range): Define partial specialization for accessing wide characters in potentially unaligned byte ranges. (ucs2_span(const char16_t*, const char16_t*, ...)) (ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters to range in order to avoid unaligned reads. (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_out): Use range specialization for unaligned data to avoid unaligned writes. (__codecvt_utf16_base::do_in) (__codecvt_utf16_base::do_in) (__codecvt_utf16_base::do_in): Likewise for writes. Return error if there are unprocessable trailing bytes. (__codecvt_utf16_base::do_length) (__codecvt_utf16_base::do_length) (__codecvt_utf16_base::do_length): Pass arguments of type range to span functions. * testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test. PR libstdc++/79980 fix target type of cast PR libstdc++/79980 * src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type. PR libstdc++/80041 fix codecvt_utf16 to use UTF-16 not UTF-8 PR libstdc++/80041 * src/c++11/codecvt.cc (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_in): Convert char arguments to char16_t to work with UTF-16 instead of UTF-8. * testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test. Fix encoding() and max_length() values for codecvt facets * src/c++11/codecvt.cc (codecvt) (codecvt, __codecvt_utf8_base) (__codecvt_utf8_base, __codecvt_utf8_base) (__codecvt_utf16_base, __codecvt_utf16_base) (__codecvt_utf16_base, __codecvt_utf8_utf16_base) (__codecvt_utf8_utf16_base) (__codecvt_utf8_utf16_base): Fix do_encoding() and do_max_length() return values. * testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test. PR libstdc++/79980 fix BOM detection, maxcode checks, UCS2 handling PR libstdc++/79980 * include/bits/locale_conv.h (__do_str_codecvt): Set __count on error path. * src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads for manipulating codecvt_mode values. (read_utf16_bom): Compare input to BOM constants instead of integral constants that depend on endianness. Take mode parameter by reference and adjust it, to distinguish between no BOM present and UTF-16BE BOM present. (ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom. (surrogates): New enumeration type. (utf16_in, utf16_out): Add surrogates parameter to choose between UTF-16 and UCS2 behaviour. (utf16_span, ucs2_span): Use std::min not std::max. (ucs2_out): Use std::min not std::max. Disallow surrogate pairs. (ucs2_in): Likewise. Adjust calls to read_utf16_bom. * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test. PR libstdc++/79511 fix endianness of UTF-16 data PR libstdc++/79511 * src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0x as a surrogate pair. (__codecvt_utf8_utf16_base::do_in): Use native endianness for internal representation. (__codecvt_utf8_utf16_base::do_in): Likewise. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test. Added: branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/79980.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/80041.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/members.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/79980.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/members.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc Modified: branches/gcc-6-branch/libstdc++-v3/ChangeLog branches/gcc-6-branch/libstdc++-v3/include/bits/locale_conv.h branches/gc
[Bug libstdc++/80041] std::codecvt_utf16 converts to UTF-8 not UTF-16
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80041 --- Comment #3 from Jonathan Wakely --- Author: redi Date: Fri Mar 17 19:28:29 2017 New Revision: 246246 URL: https://gcc.gnu.org/viewcvs?rev=246246&root=gcc&view=rev Log: Backport fixes from trunk Fix alignment bugs in std::codecvt_utf16 * src/c++11/codecvt.cc (range): Add non-type template parameter and define oerloaded operators for reading and writing code units. (range): Define partial specialization for accessing wide characters in potentially unaligned byte ranges. (ucs2_span(const char16_t*, const char16_t*, ...)) (ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters to range in order to avoid unaligned reads. (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_out): Use range specialization for unaligned data to avoid unaligned writes. (__codecvt_utf16_base::do_in) (__codecvt_utf16_base::do_in) (__codecvt_utf16_base::do_in): Likewise for writes. Return error if there are unprocessable trailing bytes. (__codecvt_utf16_base::do_length) (__codecvt_utf16_base::do_length) (__codecvt_utf16_base::do_length): Pass arguments of type range to span functions. * testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test. PR libstdc++/79980 fix target type of cast PR libstdc++/79980 * src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type. PR libstdc++/80041 fix codecvt_utf16 to use UTF-16 not UTF-8 PR libstdc++/80041 * src/c++11/codecvt.cc (__codecvt_utf16_base::do_out) (__codecvt_utf16_base::do_in): Convert char arguments to char16_t to work with UTF-16 instead of UTF-8. * testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test. Fix encoding() and max_length() values for codecvt facets * src/c++11/codecvt.cc (codecvt) (codecvt, __codecvt_utf8_base) (__codecvt_utf8_base, __codecvt_utf8_base) (__codecvt_utf16_base, __codecvt_utf16_base) (__codecvt_utf16_base, __codecvt_utf8_utf16_base) (__codecvt_utf8_utf16_base) (__codecvt_utf8_utf16_base): Fix do_encoding() and do_max_length() return values. * testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test. PR libstdc++/79980 fix BOM detection, maxcode checks, UCS2 handling PR libstdc++/79980 * include/bits/locale_conv.h (__do_str_codecvt): Set __count on error path. * src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads for manipulating codecvt_mode values. (read_utf16_bom): Compare input to BOM constants instead of integral constants that depend on endianness. Take mode parameter by reference and adjust it, to distinguish between no BOM present and UTF-16BE BOM present. (ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom. (surrogates): New enumeration type. (utf16_in, utf16_out): Add surrogates parameter to choose between UTF-16 and UCS2 behaviour. (utf16_span, ucs2_span): Use std::min not std::max. (ucs2_out): Use std::min not std::max. Disallow surrogate pairs. (ucs2_in): Likewise. Adjust calls to read_utf16_bom. * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test. PR libstdc++/79511 fix endianness of UTF-16 data PR libstdc++/79511 * src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0x as a surrogate pair. (__codecvt_utf8_utf16_base::do_in): Use native endianness for internal representation. (__codecvt_utf8_utf16_base::do_in): Likewise. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test. Added: branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/79980.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/80041.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/members.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/79980.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/members.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc branches/gcc-6-branch/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc Modified: branches/gcc-6-branch/libstdc++-v3/ChangeLog branches/gcc-6-branch/libstdc++-v3/include/bits/locale_conv.h branches/gcc
[Bug target/80083] libgomp doacross2.f90 regtest fails with -mcpu=power9 -O1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80083 --- Comment #3 from acsawdey at gcc dot gnu.org --- After discussion with Meissner and others, this appears to be the fix for movsi_internal1 that is needed: Index: gcc/config/rs6000/rs6000.md === --- gcc/config/rs6000/rs6000.md (revision 246136) +++ gcc/config/rs6000/rs6000.md (working copy) @@ -6727,7 +6727,7 @@ [(set (match_operand:SI 0 "rs6000_nonimmediate_operand" "=r, r, r, ?*wI,?*wH, m, ?Z, ?Z, r, r, -r, ?*wIwH, ?*wJwK, ?*wK,?*wJwK, +r, ?*wIwH, ?*wJwK, ?*wJwK, ?*wu, ?*wJwK, ?*wH,?*wK,?*wIwH, ?r, r, *c*l,*h, *h")
[Bug c++/78345] [5/6/7 Regression] ICE on invalid c++ code on x86_64-linux-gnu (internal compiler error: in cxx_eval_outermost_constant_expr, at cp/constexpr.c:4464)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78345 --- Comment #6 from Jason Merrill --- Author: jason Date: Fri Mar 17 18:56:22 2017 New Revision: 246244 URL: https://gcc.gnu.org/viewcvs?rev=246244&root=gcc&view=rev Log: PR c++/78345 - ICE initializing array from lambda. * init.c (build_aggr_init): Check array initializer. (build_vec_init): Check the type of a CONSTRUCTOR. Added: trunk/gcc/testsuite/g++.dg/init/array48.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/init.c trunk/gcc/testsuite/g++.dg/torture/pr70499.C
[Bug c++/80077] [7 Regression] constant expressions and -fno-elide-constructors
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80077 Jason Merrill changed: What|Removed |Added Status|NEW |ASSIGNED CC||jason at gcc dot gnu.org Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org
[Bug c++/80073] [7 Regression] ICE with virtual base
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80073 --- Comment #4 from Jason Merrill --- Author: jason Date: Fri Mar 17 18:42:09 2017 New Revision: 246242 URL: https://gcc.gnu.org/viewcvs?rev=246242&root=gcc&view=rev Log: PR c++/80073 - C++17 ICE with virtual base. * decl.c (xref_basetypes): Also check for indirect vbases. Added: trunk/gcc/testsuite/g++.dg/init/vbase2.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/decl.c
[Bug c++/80073] [7 Regression] ICE with virtual base
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80073 Jason Merrill changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #3 from Jason Merrill --- Fixed.
[Bug target/79185] [5/6/7 Regression] register allocation in the addition of two 128 bit ints
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79185 Bernd Schmidt changed: What|Removed |Added Assignee|bernds at gcc dot gnu.org |unassigned at gcc dot gnu.org --- Comment #9 from Bernd Schmidt --- Won't spend any more time on this in the near future, probably.
[Bug target/79185] [5/6/7 Regression] register allocation in the addition of two 128 bit ints
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79185 --- Comment #8 from Bernd Schmidt --- Created attachment 40997 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40997&action=edit Some steps towards solving it There are some relatively obvious issues in ira-lives: a) We briefly mark a register as live for a plain CLOBBER pattern b) For a subword SET, DF gives us an extra use of the whole register, which messes up our conflict graph as well if we handle it like any other use. It seems safe to ignore it. Unfortunately, this doesn't solve the issue - the conflicts are reduced, but it seems that r88 isn't involved in copies from hard regs, and so when we pop it first, we choose a random unused register. Maybe that's something Vlad could figure out more quickly. What's worse, I've seen cases where the additional freedom (fewer conflicts, more copies detected) leads to worse results. Also, limiting lifetimes can have the effect of sometimes detecting that an object does not really live at any point. I've tweaked things somewhat, but a few testsuite failures still remain.
[Bug fortran/79841] Inconsistent diagnostics in fortran/openmp.c, function check_symbol_not_pointer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79841 --- Comment #10 from Jerry DeLisle --- Fixed on trunk Can this be closed?
[Bug fortran/79841] Inconsistent diagnostics in fortran/openmp.c, function check_symbol_not_pointer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79841 --- Comment #9 from Jerry DeLisle --- Author: jvdelisle Date: Fri Mar 17 18:21:08 2017 New Revision: 246241 URL: https://gcc.gnu.org/viewcvs?rev=246241&root=gcc&view=rev Log: 2017-03-17 Jerry DeLisle PR fortran/79841 * openmp.c (check_symbol_not_pointer): Adjust diagnostics. Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/openmp.c
[Bug target/80083] libgomp doacross2.f90 regtest fails with -mcpu=power9 -O1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80083 --- Comment #2 from acsawdey at gcc dot gnu.org --- It would appear that vspltisw 31,2 is being emitted to initialize f31 for use by stfiwx 31,28,30.
[Bug target/80083] libgomp doacross2.f90 regtest fails with -mcpu=power9 -O1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80083 --- Comment #1 from acsawdey at gcc dot gnu.org --- Created attachment 40996 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40996&action=edit asm output
[Bug tree-optimization/32306] [5/6/7 Regression] redundant && || not eliminated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32306 Jeffrey A. Law changed: What|Removed |Added CC||law at redhat dot com --- Comment #33 from Jeffrey A. Law --- Martin, Richi's right. If you look at the .optimized dump you'll an huge number of redundant conditionals. We should compute b1 && b2 && b3 ... && b12 once and store the result into each array element. But the way we generate code for this can make it awful hard for the optimizers to see the giant common subexpression. If you look at the shape of the CFG and explore how to expose the various redundancies, you'll see there's a cascading effect. ie, you expose some, simplify and new opportunities appear. Jump threading had the ability to do this many years ago. We kept iterating DOM and forward jump threading until nothing changed. But that was very expensive relative to what was gained and we removed the iteration code. There's various things in the pipeline that might (or might not) help this specific BZ over time. It's certainly in the back of my mind as we continue the transition away from the forward equivalency table based jump threading to the backward walking of the use-def chains. The backwards approach holds a lot more promise to address this BZ. I'm pretty sure the stuff planned would allow it to find all the threads in a single pass. The question of cost of the backwards walking and block copying necessary to isolate/expose the redundancies.
[Bug c++/70515] Nested lambdas causing invalid captured pointers on some platforms
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70515 Martin Sebor changed: What|Removed |Added Status|WAITING |NEW Known to fail||5.3.1, 6.3.0, 7.0 --- Comment #6 from Martin Sebor --- Thank you. I still can't reproduce the problem with -O0 but I do see a SIGSEGV on x86_64 when I compile the test case with -O1 or higher, with all of GCC 5.x, 6.x, and 7.0. Thus confirmed. $ /ssd/build/gcc-6-branch/gcc/xg++ -B /ssd/build/gcc-6-branch/gcc -nostdinc++ -I /ssd/build/gcc-6-branch/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu -I /ssd/build/gcc-6-branch/x86_64-pc-linux-gnu/libstdc++-v3/include -I /src/gcc/6-branch/libstdc++-v3/libsupc++ -I /src/gcc/6-branch/libstdc++-v3/include/backward -I /src/gcc/6-branch/libstdc++-v3/testsuite/util -L /ssd/build/gcc-6-branch/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs -std=gnu++1z -g -O1 t.C && gdb -batch -q -ex r -ex bt a.out Program received signal SIGSEGV, Segmentation fault. 0x0040064c in ::operator() (__closure=0x7fffde68) at t.C:9 9 auto lambda1 = [&]{ (*j)++; }; #0 0x0040064c in ::operator() (__closure=0x7fffde68) at t.C:9 #1 ::operator() (__closure=0x7fffdea0, __closure@entry=0x7fffde30) at t.C:10 #2 std::_Function_handler >::_M_invoke(const std::_Any_data &) (__functor=...) at /ssd/build/gcc-6-branch/x86_64-pc-linux-gnu/libstdc++-v3/include/functional:1731 #3 0x004006bf in std::function::operator()() const (this=0x7fffdea0) at /ssd/build/gcc-6-branch/x86_64-pc-linux-gnu/libstdc++-v3/include/functional:2127 #4 main () at t.C:16
[Bug target/80052] typo in aarch64.opt: dummping
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80052 Richard Earnshaw changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #3 from Richard Earnshaw --- Fixed.
[Bug target/80052] typo in aarch64.opt: dummping
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80052 --- Comment #2 from Richard Earnshaw --- Author: rearnsha Date: Fri Mar 17 17:05:23 2017 New Revision: 246229 URL: https://gcc.gnu.org/viewcvs?rev=246229&root=gcc&view=rev Log: [aarch64] Fix typo in aarch64.opt (dummping -> dumping). PR target/80052 * aarch64.opt(verbose-cost-dump): Fix typo. Modified: trunk/gcc/ChangeLog trunk/gcc/config/aarch64/aarch64.opt
[Bug c++/70631] Warn about redundant comparisons with -Wlogical-op
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70631 --- Comment #2 from Martin Sebor --- *** Bug 80085 has been marked as a duplicate of this bug. ***
gcc-bugs@gcc.gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80085 Martin Sebor changed: What|Removed |Added Status|NEW |RESOLVED See Also||https://gcc.gnu.org/bugzill ||a/show_bug.cgi?id=60759, ||https://gcc.gnu.org/bugzill ||a/show_bug.cgi?id=69602, ||https://gcc.gnu.org/bugzill ||a/show_bug.cgi?id=71472 Resolution|--- |DUPLICATE --- Comment #2 from Martin Sebor --- Bug 71472 seems pretty close but it's about ||. Bug 69602 had some discussion recently but it's about what's viewed as a false positive by some, while this one is a false negative. I also found bug 60759 but that one is about implicit int to bool conversion, so it's not quite the same either. But I think I've finally found it: bug 70631. Thus resolving as duplicate of that one. *** This bug has been marked as a duplicate of bug 70631 ***
[Bug c++/70631] Warn about redundant comparisons with -Wlogical-op
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70631 Martin Sebor changed: What|Removed |Added Keywords||diagnostic Status|UNCONFIRMED |NEW Last reconfirmed||2017-03-17 CC||msebor at gcc dot gnu.org See Also||https://gcc.gnu.org/bugzill ||a/show_bug.cgi?id=60759, ||https://gcc.gnu.org/bugzill ||a/show_bug.cgi?id=69602, ||https://gcc.gnu.org/bugzill ||a/show_bug.cgi?id=71472 Ever confirmed|0 |1 --- Comment #1 from Martin Sebor --- Confirmed. For a user's point of view I'd be inclined to view it as a bug rather than an enhancement, but a review of the implementation suggests this case just isn't handled. I.e., the warning is working as intended and needs to be enhanced to handle these expressions. See also pr60759, pr69602, and pr71472 for other bugs/enhancements affecting -Wlogical-op.
[Bug tree-optimization/80072] [7 Regression] ICE in gimple_build_assign_1 with -O3 -march=broadwell/skylake-avx512
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80072 Jakub Jelinek changed: What|Removed |Added Status|NEW |ASSIGNED
[Bug tree-optimization/80072] [7 Regression] ICE in gimple_build_assign_1 with -O3 -march=broadwell/skylake-avx512
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80072 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek --- I'll have a look.
[Bug c++/80073] [7 Regression] ICE with virtual base
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80073 Jason Merrill changed: What|Removed |Added Status|NEW |ASSIGNED CC||jason at gcc dot gnu.org Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org
[Bug c++/79960] [5/6 Regression] Class template partial specializations for const volatile types don't match
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79960 Jason Merrill changed: What|Removed |Added Known to work||7.0 Summary|[5/6/7 Regression] Class|[5/6 Regression] Class |template partial|template partial |specializations for const |specializations for const |volatile types don't match |volatile types don't match Known to fail|7.0 | --- Comment #5 from Jason Merrill --- Fixed on trunk so far.
[Bug sanitizer/80018] ICE in expand_expr_addr_expr_1, at expr.c:7790 w/ -fsanitize=object-size
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80018 Marek Polacek changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2017-03-17 Ever confirmed|0 |1 --- Comment #1 from Marek Polacek --- Confirmed.
[Bug sanitizer/79993] [5/6/7 Regression] ICE in tree_to_uhwi, at tree.c:7344
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79993 Marek Polacek changed: What|Removed |Added Target Milestone|--- |5.5 Summary|ICE in tree_to_uhwi, at |[5/6/7 Regression] ICE in |tree.c:7344 |tree_to_uhwi, at ||tree.c:7344
[Bug sanitizer/79993] ICE in tree_to_uhwi, at tree.c:7344
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79993 --- Comment #2 from Marek Polacek --- Started with commit d680c844a90ba12a0b12f7d206d697dc32d2cfee Author: jason Date: Thu May 9 16:43:43 2013 + N3639 C++1y VLA diagnostics * decl.c (grokdeclarator): Complain about reference, pointer, or typedef to VLA. (create_array_type_for_decl): Complain about array of VLA. * pt.c (tsubst): Likewise. * rtti.c (get_tinfo_decl): Talk about "array of runtime bound". * semantics.c (finish_decltype_type): Complain about decltype of VLA. * typeck.c (cp_build_addr_expr_1): Complain about VLA. (cxx_sizeof_or_alignof_type): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198746 138bc75d-0d04-0410-961f-82ee72b054a4 before that: pr78201.C:11:15: error: variable-sized object ‘a’ may not be initialized char a[e] = ""; ^
[Bug fortran/79841] Inconsistent diagnostics in fortran/openmp.c, function check_symbol_not_pointer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79841 --- Comment #8 from Jerry DeLisle --- (In reply to Roland Illig from comment #6) > Could you perhaps make all 6 messages in that function follow the same > syntax? Will do
[Bug sanitizer/79993] ICE in tree_to_uhwi, at tree.c:7344
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79993 Marek Polacek changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2017-03-17 Ever confirmed|0 |1 --- Comment #1 from Marek Polacek --- Confirmed.
[Bug target/79951] ICE in extract_insn, at recog.c:2311 on ppc64le with -mno-cmpb
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79951 --- Comment #2 from Pat Haugen --- Author: pthaugen Date: Fri Mar 17 16:42:29 2017 New Revision: 246228 URL: https://gcc.gnu.org/viewcvs?rev=246228&root=gcc&view=rev Log: PR target/79951 * config/rs6000/rs6000.md (copysign3_fcpsgn): Test for VECTOR_UNIT_VSX_P (mode) too. * gcc.target/powerpc/pr79951.c: New. Added: trunk/gcc/testsuite/gcc.target/powerpc/pr79951.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/rs6000/rs6000.md trunk/gcc/testsuite/ChangeLog
[Bug c++/80084] [7 regression] wrong code for decomposition declaration with debug iterator
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80084 --- Comment #2 from Jakub Jelinek --- I'll have a look tomorrow.
[Bug c++/78345] [5/6/7 Regression] ICE on invalid c++ code on x86_64-linux-gnu (internal compiler error: in cxx_eval_outermost_constant_expr, at cp/constexpr.c:4464)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78345 Jason Merrill changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org
[Bug tree-optimization/80048] gcc/sese.c: PVS-Studio: Improper Release of Memory Before Removing Last Reference (CWE-401)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80048 Martin Sebor changed: What|Removed |Added CC||msebor at gcc dot gnu.org See Also||https://gcc.gnu.org/bugzill ||a/show_bug.cgi?id=80087 --- Comment #4 from Martin Sebor --- I opened bug 80087 to consider enhancing -Wtautological-compare so as to detect and diagnose this class of problems.
[Bug tree-optimization/80087] missing -Wtautological-compare with non-constant operands
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80087 Martin Sebor changed: What|Removed |Added Keywords||diagnostic Severity|normal |enhancement
[Bug tree-optimization/80087] New: missing -Wtautological-compare with non-constant operands
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80087 Bug ID: 80087 Summary: missing -Wtautological-compare with non-constant operands Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: msebor at gcc dot gnu.org Target Milestone: --- The test case below, reduced from bug 80048, shows that GCC diagnoses only trivial cases of pointless comparisons. Enhancing the warning to (also) run later, with the benefit of data flow analysis, as opposed to during parsing, would make it possible to diagnose some of these less obvious bugs. $ cat a.c && gcc -O2 -S -Wall -Wextra -Wpedantic a.c void f (int); void f1 (int n) { if (n != n) // warning, ok f (n); int i = n; if (i != n) // missing warning f (i); for (int i = n; i != n; ++i) // missing warning f (i); } struct S { int *a, *b; }; void f2 (struct S *s) { for (int *p = s->a; p != s->a; ++p) // missing warning f (*p); } a.c: In function ‘f1’: a.c:5:9: warning: self-comparison always evaluates to false [-Wtautological-compare] if (n != n) // warning, ok ^~
[Bug rtl-optimization/80086] New: ICE: in extract_constrain_insn, at recog.c:2213 for the gcc.dg/vect/slp-perm-6.c test on MIPS
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80086 Bug ID: 80086 Summary: ICE: in extract_constrain_insn, at recog.c:2213 for the gcc.dg/vect/slp-perm-6.c test on MIPS Product: gcc Version: 7.0.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: tomtab at gcc dot gnu.org Target Milestone: --- Created attachment 40995 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40995&action=edit reduced test case gcc.dg/vect/slp-perm-6.c is failing on GCC 7 for mips-mti-elf (but not for mips-mti-linux-gnu) with the following ICE: t.c: In function ‘foo’: t.c:40:1: error: insn does not satisfy its constraints: } ^ (insn 309 166 295 2 (parallel [ (set (reg/f:DI 4 $4 [309]) (symbol_ref/u:DI ("*.LC10") [flags 0x2])) (clobber (scratch:DI)) ]) "t.c":25 289 {*lea64} (nil)) t.c:40:1: internal compiler error: in extract_constrain_insn, at recog.c:2213 0xddd4b9 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) gcc/gcc/rtl-error.c:108 0xddd51a _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) gcc/gcc/rtl-error.c:119 0xd84c18 extract_constrain_insn(rtx_insn*) gcc/gcc/recog.c:2213 0xc505c2 check_rtl gcc/gcc/lra.c:2128 0xc51124 lra(_IO_FILE*) gcc/gcc/lra.c:2546 0xbf8ddf do_reload gcc/gcc/ira.c:5451 0xbf92da execute gcc/gcc/ira.c:5635 I've attached a (slightly) reduced version of the test case. Here's the command I'm using: mips-mti-elf-gcc t.c -mabi=64 -mmsa -ftree-vectorize -O2 -S -o a.s Robert Suchanek has taken a look at this and came up with a potential fix, and Matthew Fortune has encountered a very similar problem recently.
[Bug c++/80084] [7 regression] wrong code for decomposition declaration with debug iterator
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80084 Jonathan Wakely changed: What|Removed |Added Keywords||wrong-code Status|UNCONFIRMED |NEW Last reconfirmed||2017-03-17 CC||jakub at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Jonathan Wakely --- Possibly related to the debug iterator having non-trivial copy constructor and/or destructor. I'm not sure why else it would fail only in debug mode. N.B. you can use and __gnu_debug::vector to use the same types without _GLIBCXX_DEBUG, so you can mix std::vector and __gnu_debug::vector in one translation unit (in case that helps analyse it).
[Bug target/80082] [5/6/7 regression] GCC incorrectly assumes Cortex-r[578] have 64-bit single-copy atomic LDRD
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80082 ktkachov at gcc dot gnu.org changed: What|Removed |Added Priority|P1 |P2 Assignee|unassigned at gcc dot gnu.org |ktkachov at gcc dot gnu.org --- Comment #4 from ktkachov at gcc dot gnu.org --- P2 as the bug appears in a released compiler
[Bug target/80082] [5/6/7 regression] GCC incorrectly assumes Cortex-r[578] have 64-bit single-copy atomic LDRD
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80082 ktkachov at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED CC||ktkachov at gcc dot gnu.org --- Comment #3 from ktkachov at gcc dot gnu.org --- Confirmed. The problem is that these Cortex-R cores combined with the bit_adiv isa bit end up having the same feature set as armv7ve as far as GCC can tell. I think the best approach here is to create an isa_bit_lpae that's unique to armv7ve (and higher A-profile arches)
gcc-bugs@gcc.gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80085 Marek Polacek changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2017-03-17 CC||mpolacek at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Marek Polacek --- I think this is a dup, or at least I'd swear that I discussed this idea in the BZ somewhere. Until that's found, confirmed.
[Bug fortran/79930] Potentially Missed Optimisation for MATMUL / DOT_PRODUCT
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79930 Dominique d'Humieres changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2017-03-17 Ever confirmed|0 |1 --- Comment #13 from Dominique d'Humieres --- Considering the traffic, confirmed!
[Bug fortran/79795] [5/6/7 Regression] Fortran ICE in resolve_symbol starting with r163221
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79795 Dominique d'Humieres changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2017-03-17 Ever confirmed|0 |1 --- Comment #1 from Dominique d'Humieres --- Confirmed.
[Bug other/80050] gcc/genmatch.c: PVS-Studio: V590
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80050 Martin Sebor changed: What|Removed |Added See Also||https://gcc.gnu.org/bugzill ||a/show_bug.cgi?id=80085 --- Comment #7 from Martin Sebor --- I've raised bug 80085 for the missing -Wlogical-op warning.
gcc-bugs@gcc.gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80085 Bug ID: 80085 Summary: missing -Wlogical-op on a superfluous second operand of && Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: msebor at gcc dot gnu.org Target Milestone: --- The test case below, reduced from bug 80050 in GCC sources, shows a case of a missing -Wlogical-op warning for the second operand of the && expression which is trivially satisfied by the first operand. $ cat u.c && gcc -S -Wall -Wextra -Wpedantic -Wlogical-op u.c int f (int i) { if (i == 123 && i != 456) return 1; return 2; }
[Bug rtl-optimization/59811] [5 Regression] Huge increase in memory usage and compile time in combine
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59811 Jeffrey A. Law changed: What|Removed |Added Summary|[5/6/7 Regression] Huge |[5 Regression] Huge |increase in memory usage|increase in memory usage |and compile time in combine |and compile time in combine --- Comment #18 from Jeffrey A. Law --- WRT c#16 -- I must have totally missed the differences in checking configurations! The gcc-6 and the trunk are comparable to gcc-4.7 with this test when the compilers are similarly configured (checking was also responsible for the huge register allocator jump). I'm pretty sure gcc-5 doesn't have the appropriate improvements. I'm removing the gcc-6 and gcc-7 regression markers.
[Bug rtl-optimization/79910] [7 Regression] wrong code with -O -fweb
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79910 Jeffrey A. Law changed: What|Removed |Added Status|NEW |RESOLVED CC||law at redhat dot com Resolution|--- |FIXED --- Comment #6 from Jeffrey A. Law --- Fixed by Bernd's patch on the trunk.
[Bug rtl-optimization/79910] [7 Regression] wrong code with -O -fweb
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79910 --- Comment #5 from Jeffrey A. Law --- Author: law Date: Fri Mar 17 15:10:13 2017 New Revision: 246226 URL: https://gcc.gnu.org/viewcvs?rev=246226&root=gcc&view=rev Log: PR rtl-optimization/79910 * combine.c (record_used_regs): New static function. (try_combine): Handle situations where there is an additional instruction between I2 and I3 which needs to have a LOG_LINK updated. PR rtl-optimization/79910 * gcc.dg/torture/pr79910.c: New test. Added: trunk/gcc/testsuite/gcc.dg/torture/pr79910.c Modified: trunk/gcc/ChangeLog trunk/gcc/combine.c trunk/gcc/testsuite/ChangeLog
[Bug c++/70515] Nested lambdas causing invalid captured pointers on some platforms
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70515 --- Comment #5 from Norgg --- Created attachment 40994 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40994&action=edit gcc -v output for gcc 6.2.0
[Bug c++/70515] Nested lambdas causing invalid captured pointers on some platforms
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70515 Norgg changed: What|Removed |Added CC||gcc at norgg dot org --- Comment #4 from Norgg --- Created attachment 40993 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40993&action=edit gcc -v output for gcc 5.4.0 (In reply to Martin Sebor from comment #3) > I also cannot reproduce it with 7.0 on powepc64le or with 5.x on x86_64. > Can you please list the processor architectures you see this problem on? > (Providing the output of gcc -v should help.) I can still reproduce this on my x86_64 Ubuntu system, in both g++ 5.4.1 and 6.2.0, gcc -v output from each attached.
[Bug tree-optimization/71437] [7 regression] Performance regression after r235817
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71437 Jeffrey A. Law changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #23 from Jeffrey A. Law --- Fixed on the trunk.
[Bug tree-optimization/71437] [7 regression] Performance regression after r235817
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71437 --- Comment #22 from Jeffrey A. Law --- Author: law Date: Fri Mar 17 15:01:56 2017 New Revision: 246225 URL: https://gcc.gnu.org/viewcvs?rev=246225&root=gcc&view=rev Log: PR tree-optimization/71437 * tree-vrp.c (simplify_stmt_for_jump_threading): Lookup the conditional in the hash table first. (vrp_dom_walker::before_dom_children): Extract condition from ASSERT_EXPR. Record condition, its inverion and any implied conditions as well. PR tree-optimization/71437 * gcc.dg/tree-ssa/pr71437.c: New test. * gcc.dg/tree-ssa/20040305-1.c: Test earlier dump. * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Adjust for jump threads now caught by VRP, but which were previously caught by DOM. Added: trunk/gcc/testsuite/gcc.dg/tree-ssa/pr71437.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/tree-ssa/20040305-1.c trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-4.c trunk/gcc/tree-vrp.c
[Bug tree-optimization/80032] [6/7 Regression] C++ excessive stack usage (no stack reuse)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80032 --- Comment #9 from Jan Smets --- The alternative patch to gimplify.c seems to run fine. Thanks
[Bug c++/80084] New: [7 regression] wrong code for decomposition declaration with debug iterator
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80084 Bug ID: 80084 Summary: [7 regression] wrong code for decomposition declaration with debug iterator Product: gcc Version: 7.0.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: lucdanton at free dot fr Target Milestone: --- I managed to reduce to this testcase: // #include #include struct aggr { std::vector::iterator val; }; void decomp(aggr arg) { auto& [val] = arg; // fires assert( &val == &arg.val ); } int main() { // inlined decomp { aggr arg {}; auto& [val] = arg; // fine assert( &val == &arg.val ); } decomp(aggr {}); } //-- The assertion in decomp fires when the program is compiled with e.g.: g++-trunk -std=c++1z main.cpp -D_GLIBCXX_DEBUG According to my bisecting, this change was introduced by r245638.
[Bug target/80083] New: libgomp doacross2.f90 regtest fails with -mcpu=power9 -O1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80083 Bug ID: 80083 Summary: libgomp doacross2.f90 regtest fails with -mcpu=power9 -O1 Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: acsawdey at gcc dot gnu.org CC: meissner at gcc dot gnu.org, wschmidt at gcc dot gnu.org Target Milestone: --- Target: powerpc64*-*-* power9 This regression test fails but only with -O1 -mcpu=power9. Adding -mno-vsx-small-integer makes it work but I don't know if that's just because it perturbs the problem.
[Bug target/80082] [5/6/7 regression] GCC incorrectly assumes Cortex-r[578] have 64-bit single-copy atomic LDRD
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80082 Richard Earnshaw changed: What|Removed |Added Summary|[6/7 regression] GCC|[5/6/7 regression] GCC |incorrectly assumes |incorrectly assumes |Cortex-r[578] have 64-bit |Cortex-r[578] have 64-bit |single-copy atomic LDRD |single-copy atomic LDRD --- Comment #2 from Richard Earnshaw --- It looks as though this patch was then backported onto older releases as well, so GCC-5 also regressed.
[Bug target/80082] [6/7 regression] GCC incorrectly assumes Cortex-r[578] have 64-bit single-copy atomic LDRD
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80082 Richard Earnshaw changed: What|Removed |Added Summary|GCC incorrectly assumes |[6/7 regression] GCC |Cortex-r[578] have 64-bit |incorrectly assumes |single-copy atomic LDRD |Cortex-r[578] have 64-bit ||single-copy atomic LDRD --- Comment #1 from Richard Earnshaw --- Introduced by r233658; cortex-r5 support pre-dates that, so a regression in gcc-6 and -7.
[Bug target/80082] GCC incorrectly assumes Cortex-r[578] have 64-bit single-copy atomic LDRD
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80082 Richard Earnshaw changed: What|Removed |Added Keywords||wrong-code Target||arm Priority|P3 |P1 Status|UNCONFIRMED |NEW Last reconfirmed||2017-03-17 Target Milestone|--- |7.0 Ever confirmed|0 |1