[Bug libgcc/81199] fallback definition of count_leading_zeros references hidden symbol
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81199 --- Comment #1 from coypu --- Maybe expose __clz_tab but only in the fallback definition case, and not make it hidden.
[Bug libgcc/81199] New: fallback definition of count_leading_zeros references hidden symbol
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81199 Bug ID: 81199 Summary: fallback definition of count_leading_zeros references hidden symbol Product: gcc Version: 5.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgcc Assignee: unassigned at gcc dot gnu.org Reporter: coypu at sdf dot org Target Milestone: --- Bug report from building cmake on netbsd/vax with GCC 5.4.0 http://gnats.netbsd.org/52326 [ 88%] Building CXX object Source/CMakeFiles/ccmake.dir/CursesDialog/ccmake.cxx.o [ 88%] Linking CXX executable ../bin/ccmake ld: ../bin/ccmake: hidden symbol `__clz_tab' in /usr/lib/libgcc.a(_clz.o) is referenced by DSO ld: final link failed: Bad value my analysis may be wrong, but this appears to be because vax does not provide a definition of count_leading_zeros in include/longlong.h, and then we have: extern const UQItype __clz_tab[256] attribute_hidden; ... #if !defined (count_leading_zeros) #define count_leading_zeros(count, x) \ do { \ UWtype __xr = (x); \ UWtype __a; \ \ if (W_TYPE_SIZE <= 32) \ { \ __a = __xr < ((UWtype)1<<2*__BITS4) \ ? (__xr < ((UWtype)1<<__BITS4) ? 0 : __BITS4) \ : (__xr < ((UWtype)1<<3*__BITS4) ? 2*__BITS4 : 3*__BITS4); \ } \ else\ { \ for (__a = W_TYPE_SIZE - 8; __a > 0; __a -= 8) \ if (((__xr >> __a) & 0xff) != 0) \ break; \ } \ \ (count) = W_TYPE_SIZE - (__clz_tab[__xr >> __a] + __a); \ } while (0) #define COUNT_LEADING_ZEROS_0 W_TYPE_SIZE #endif this appears to be true for the definition for alpha as well.
[Bug libfortran/81195] SPEC CPU2017 621.wrf_s failure with 40+ openmp threads
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81195 Jim Wilson changed: What|Removed |Added Version|8.0 |7.1.1 --- Comment #7 from Jim Wilson --- I have reproduced the same problem from the gcc-7 branch.
[Bug testsuite/80759] gcc.target/x86_64/abi/ms-sysv FAILs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80759 --- Comment #53 from Daniel Santos --- (In reply to r...@cebitec.uni-bielefeld.de from comment #52) > Unfortunately, the patch doesn't work, apart from the > > +# define PCREL "@GETPCREL" > > -> @GOTPCREL typo ;-) Ah hah! That would explain why I couldn't use that addressing on gnu/linux, I was looking for the Global Effset Table! :) > At -O0 -g3, it SEGVs at > > Program received signal SIGSEGV, Segmentation fault. > 0x in ?? () > 1: x/i $pc > => 0x0: > (gdb) where > #0 0x in ?? () > #1 0x000100031c58 in do_test_body0 () > at > /vol/gcc/src/hg/trunk/solaris/gcc/testsuite/gcc.target/x86_64/abi/ms-sysv/ms- > sysv.c:178 > Backtrace stopped: previous frame inner to this frame (corrupt stack?) > > where %rip is 0x0. This happens because most of the addresses are off > by 0x680 bytes. Here's the disassembly: > > (gdb) x/12i 0x000100031c58-42 >0x100031c2e : push %rbp >0x100031c2f : mov%rsp,%rbp >0x100031c32 : lea0x1b407(%rip),%rax# > 0x10004d040 >0x100031c39 : callq 0x10003247c >0x100031c3e : > lea0x1b4db(%rip),%rax# 0x10004d120 >0x100031c45 : callq 0x1000324ea >0x100031c4a : pop%rax >0x100031c4b : > mov%rax,0x1b696(%rip)# 0x10004d2e8 >0x100031c52 : > callq *0x1b688(%rip)# 0x10004d2e0 >0x100031c58 : > mov0x1bd09(%rip),%rcx# 0x10004d968 > > Here are the addresses that are supposed to be used: > > %p0 > > (gdb) p/x &test_data.regdata[0] > $11 = 0x10004d6c0 > > %p1 > > (gdb) p/x &test_data.regdata[1] > $12 = 0x10004d7a0 > > %p4 > > (gdb) p/x &test_data.retaddr > $13 = 0x10004d968 > > %p3 > > (gdb) p/x &test_data.fn > $14 = 0x10004d960 > > Only the second use of %p4 is right. > > Rainer Great! When I correct the GOTPCREL typo, I can build this on gnu/linux and I get a variation of the same problem. So apparently GOTPCREL allows you to specify the address of the object, but not an address plus offset -- which is why gcc emits that on Darwin in the first place. All is becoming clear. Also, I lied about needing all registers in do_test_(un)aligned; I forgot that this is called as an ms_abi function. I can clobber rax, r10 and r11 prior to calling the test function and rcx, rdx, and r8-11 after the test function has returned. So I have plenty of registers to accommodate this.
[Bug fortran/81160] arith.c:2009: bad statement order ?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81160 --- Comment #3 from Jerry DeLisle --- Fixed on trunk. Any need to backport to 7 or earlier?
[Bug fortran/81160] arith.c:2009: bad statement order ?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81160 --- Comment #2 from Jerry DeLisle --- Author: jvdelisle Date: Sat Jun 24 21:22:08 2017 New Revision: 249627 URL: https://gcc.gnu.org/viewcvs?rev=249627&root=gcc&view=rev Log: 2017-06-24 Jerry DeLisle PR fortran/81160 * arith.c (wprecision_int_real): Set return value before mpz_clear and then return after it. Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/arith.c
[Bug libfortran/81195] SPEC CPU2017 621.wrf_s failure with 40+ openmp threads
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81195 --- Comment #6 from Jim Wilson --- I should point out that there are currently four places that use newunit_stack/newunit_tos without locking. Two of these places required locking code to get wrf working. The other two are init_units and close_units. These are called from a constructor and a destructor. Presumably these can only be called once, and hence don't require locking code. Though curiously, close_units has some locking code anyways. I'm not sure why. I saw no failures here, and hence didn't bother to add any locking.
[Bug ada/62235] segmentation fault on Ada 2012 code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62235 --- Comment #11 from Victor Porton --- The bug was NOT fixed in GCC 7.1.0. This is a long standing bug :-(
[Bug c++/62315] do not print typename in diagnostic if the original code does not have it
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62315 Paolo Carlini changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED Assignee|paolo.carlini at oracle dot com|unassigned at gcc dot gnu.org Target Milestone|--- |8.0 --- Comment #3 from Paolo Carlini --- Fixed.
[Bug c++/62315] do not print typename in diagnostic if the original code does not have it
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62315 --- Comment #2 from paolo at gcc dot gnu.org --- Author: paolo Date: Sat Jun 24 19:31:24 2017 New Revision: 249626 URL: https://gcc.gnu.org/viewcvs?rev=249626&root=gcc&view=rev Log: /cp 2017-06-24 Paolo Carlini PR c++/62315 * parser.c (cp_parser_diagnose_invalid_type_name): Don't print 'typename' in error messages about missing 'typename'. /testsuite 2017-06-24 Paolo Carlini PR c++/62315 * g++.dg/parse/typedef2.C: Specify a dg-error string. Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/parser.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/parse/typedef2.C
[Bug c++/81182] result of ‘operator->()’ yields non-pointer result
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81182 Marcin Grzebieluch changed: What|Removed |Added CC||grzebieluch at me dot com --- Comment #8 from Marcin Grzebieluch --- Error is also present on Archlinux gcc 7.1.1: $g++ -c -v test.cpp Using built-in specs. COLLECT_GCC=g++ Target: x86_64-pc-linux-gnu Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --enable-libmpx --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --disable-multilib --disable-werror --enable-checking=release Thread model: posix gcc version 7.1.1 20170516 (GCC) COLLECT_GCC_OPTIONS='-c' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/cc1plus -quiet -v -D_GNU_SOURCE test.cpp -quiet -dumpbase test.cpp -mtune=generic -march=x86-64 -auxbase test -version -o /tmp/cchLcJgH.s GNU C++14 (GCC) version 7.1.1 20170516 (x86_64-pc-linux-gnu) compiled by GNU C version 7.1.1 20170516, GMP version 6.1.2, MPFR version 3.1.5-p2, MPC version 1.0.3, isl version isl-0.18-GMP GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../x86_64-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../include/c++/7.1.1 /usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../include/c++/7.1.1/x86_64-pc-linux-gnu /usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../include/c++/7.1.1/backward /usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/include /usr/local/include /usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/include-fixed /usr/include End of search list. GNU C++14 (GCC) version 7.1.1 20170516 (x86_64-pc-linux-gnu) compiled by GNU C version 7.1.1 20170516, GMP version 6.1.2, MPFR version 3.1.5-p2, MPC version 1.0.3, isl version isl-0.18-GMP GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 74aace2f6deb87bb86dbfd7a28ebe524 test.cpp: In function ‘void problem()’: test.cpp:24:7: error: result of ‘operator->()’ yields non-pointer result op->doNothing(); ^~
[Bug c++/81198] New: [concepts] Same type constraints not enforced for constrained-type-specifiers specified in trailing return types of abbreviated functions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81198 Bug ID: 81198 Summary: [concepts] Same type constraints not enforced for constrained-type-specifiers specified in trailing return types of abbreviated functions Product: gcc Version: c++-concepts Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: tom at honermann dot net CC: andrew.n.sutton at gmail dot com, asutton at gcc dot gnu.org Target Milestone: --- The Concepts TS (N4641) states the following in 7.1.6.4 [dcl.spec.auto] p4 (this section is now 10.1.7.4 in the WP): "A constrained-type-specifier C1 within the declared return type of an abbreviated function template declaration does not designate a placeholder if its introduced constraint-expression (7.1.6.4.2) is determined to be equivalent, using the rules in 14.6.6.1 for comparing expressions, to the introduced constraint-expression for a constrained-type-specifier C2 in the parameter-declaration-clause of that function declaration. Instead, C1 is replaced by the template parameter invented for C2 (8.3.5)." Gcc implements this behaviour (with an exception reported in bug 81139) for abbreviated functions that do not specify a trailing return type, but not for those that do: $ cat t.cpp template concept bool C = true; template class ct {}; ct af1(C) { return ct{}; } auto af2(C) -> ct { return ct{}; } auto v1 = af1('c'); // template instantiation fails. auto v2 = af2('c'); // template instantiation succeeds. $ g++ --version g++ (GCC) 7.1.0 ... $ g++ -c -fconcepts t.cpp t.cpp: In instantiation of ‘ct af1(auto:1) [with auto:1 = char]’: t.cpp:5:18: required from here t.cpp:3:31: error: could not convert ‘ct{}’ from ‘ct’ to ‘ct’ ct af1(C) { return ct{}; } ^ The expected behaviour is that both template instantiations fail.
[Bug c++/81182] result of ‘operator->()’ yields non-pointer result
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81182 --- Comment #7 from bartek 'basz' szurgot --- maybe it's more related to a particular set of configuration parameters / features enabled, then the released version?
[Bug libfortran/81195] SPEC CPU2017 621.wrf_s failure with 40+ openmp threads
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81195 --- Comment #5 from Jerry DeLisle --- (In reply to Thomas Koenig from comment #2) > I was sort of waiting for the new SPEC suite to expose bugs :-) > > The patch looks obvious enough, even in the absence > of a test case. > > Could you run a regression test and then submit the patch > to both the gcc-patches and fortran mailing lists? I concur. Thanks Jim, for the report too.
[Bug c++/81182] result of ‘operator->()’ yields non-pointer result
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81182 --- Comment #6 from Jonathan Wakely --- There's something strange about the Debian package then. $ cat np.cc struct S { int i; }; template struct T { auto operator->() { return &s; } S s; }; template void problem(T& t) { t->i; } $ ~/gcc/7.1.0/bin/g++ -c -v np.cc Using built-in specs. COLLECT_GCC=/home/jwakely/gcc/7.1.0/bin/g++ Target: x86_64-pc-linux-gnu Configured with: /home/jwakely/src/gcc/gcc-7/configure --prefix=/home/jwakely/gcc/7.1.0 --enable-libstdcxx-debug --disable-bootstrap --disable-liboffloadmic --disable-libmpx --disable-libhsail-rt --without-isl --enable-languages=c,c++ Thread model: posix gcc version 7.1.0 (GCC) COLLECT_GCC_OPTIONS='-c' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /home/jwakely/gcc/7.1.0/libexec/gcc/x86_64-pc-linux-gnu/7.1.0/cc1plus -quiet -v -D_GNU_SOURCE np.cc -quiet -dumpbase np.cc -mtune=generic -march=x86-64 -auxbase np -version -o /tmp/ccp7MnOW.s GNU C++14 (GCC) version 7.1.0 (x86_64-pc-linux-gnu) compiled by GNU C version 6.3.1 20161221 (Red Hat 6.3.1-1), GMP version 6.1.1, MPFR version 3.1.5, MPC version 1.0.2, isl version none GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring nonexistent directory "/home/jwakely/gcc/7.1.0/lib/gcc/x86_64-pc-linux-gnu/7.1.0/../../../../x86_64-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /home/jwakely/gcc/7.1.0/lib/gcc/x86_64-pc-linux-gnu/7.1.0/../../../../include/c++/7.1.0 /home/jwakely/gcc/7.1.0/lib/gcc/x86_64-pc-linux-gnu/7.1.0/../../../../include/c++/7.1.0/x86_64-pc-linux-gnu /home/jwakely/gcc/7.1.0/lib/gcc/x86_64-pc-linux-gnu/7.1.0/../../../../include/c++/7.1.0/backward /home/jwakely/gcc/7.1.0/lib/gcc/x86_64-pc-linux-gnu/7.1.0/include /usr/local/include /home/jwakely/gcc/7.1.0/include /home/jwakely/gcc/7.1.0/lib/gcc/x86_64-pc-linux-gnu/7.1.0/include-fixed /usr/include End of search list. GNU C++14 (GCC) version 7.1.0 (x86_64-pc-linux-gnu) compiled by GNU C version 6.3.1 20161221 (Red Hat 6.3.1-1), GMP version 6.1.1, MPFR version 3.1.5, MPC version 1.0.2, isl version none GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 9c4196dd7cfc6b28dfb404cfbddcbfa6 np.cc: In function ‘void problem(T&)’: np.cc:16:6: error: result of ‘operator->()’ yields non-pointer result t->i; ^~
[Bug libfortran/81195] SPEC CPU2017 621.wrf_s failure with 40+ openmp threads
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81195 --- Comment #4 from Jim Wilson --- Suppose we move the locking inside the if statement. Suppose newunit_tos is 1. Two threads hit the statement if (newunit_tos) at the same time, and both enter the if block. We then hit the lock. The first thread gets the lock, grabs newunit_stack[1], sets newunit_tos to 0, and then unlocks. The second thread waits for the lock, grabs newunit_stack[0] which is an invalid struct of all zeros, sets newunit_tos to -1, and then unlocks. The next thread then gets newunit_stack[-1] which is an out-of-bounds array access. There might be other ways to write this, but I'm convinced that newunit_tos does have to be checked after we grab the lock.
[Bug c++/69448] Abbreviated function templates with deduced return type still broken
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69448 Tom Honermann changed: What|Removed |Added CC||tom at honermann dot net --- Comment #1 from Tom Honermann --- Bug 81139 appears to be related.
[Bug c++/81139] Non-deduced return type in abbreviated function template
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81139 --- Comment #1 from Tom Honermann --- Bug 69448 appears to be related.
[Bug c++/81182] result of ‘operator->()’ yields non-pointer result
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81182 --- Comment #5 from bartek 'basz' szurgot --- Created attachment 41626 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41626&action=edit gcc 6.3 vs gcc 7.1
[Bug c++/81182] result of ‘operator->()’ yields non-pointer result
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81182 --- Comment #4 from bartek 'basz' szurgot --- on my Debian it works on GCC 7.1.0, but not on GCC 6.3.0 (test script attached): + g++-6 -v Using built-in specs. COLLECT_GCC=g++-6 COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 6.3.0-18' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-6 --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 --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-6-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --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 Thread model: posix gcc version 6.3.0 20170516 (Debian 6.3.0-18) + g++-6 -c reduced.cpp reduced.cpp: In function ‘void problem(T&)’: reduced.cpp:16:6: error: result of ‘operator->()’ yields non-pointer result t->i; ^~ + echo 1 1 + g++-7 -v Using built-in specs. COLLECT_GCC=g++-7 COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 7.1.0-7' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --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 --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 --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 7.1.0 (Debian 7.1.0-7) + g++-7 -c reduced.cpp + echo 0 0
[Bug tree-optimization/80612] [7 Regression] ICE in get_range_info, at tree-ssanames.c:375
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80612 Marek Polacek changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #11 from Marek Polacek --- Fixed.
[Bug tree-optimization/80612] [7 Regression] ICE in get_range_info, at tree-ssanames.c:375
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80612 --- Comment #10 from Marek Polacek --- Author: mpolacek Date: Sat Jun 24 11:05:12 2017 New Revision: 249625 URL: https://gcc.gnu.org/viewcvs?rev=249625&root=gcc&view=rev Log: PR tree-optimization/80612 * calls.c (get_size_range): Check for INTEGRAL_TYPE_P. * gcc.dg/torture/pr80612.c: New test. Added: branches/gcc-7-branch/gcc/testsuite/gcc.dg/torture/pr80612.c Modified: branches/gcc-7-branch/gcc/ChangeLog branches/gcc-7-branch/gcc/calls.c branches/gcc-7-branch/gcc/testsuite/ChangeLog
[Bug c++/81182] result of ‘operator->()’ yields non-pointer result
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81182 --- Comment #3 from Jonathan Wakely --- (In reply to bartek 'basz' szurgot from comment #2) > looks like the problem is gone in GCC-7.1. No, doesn't seem to be.
[Bug sanitizer/80348] [6 Regression] UBSAN: compile time crash in ubsan_instrument_division
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80348 Marek Polacek changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #13 from Marek Polacek --- Fixed.
[Bug sanitizer/80348] [6 Regression] UBSAN: compile time crash in ubsan_instrument_division
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80348 --- Comment #12 from Marek Polacek --- Author: mpolacek Date: Sat Jun 24 10:59:00 2017 New Revision: 249624 URL: https://gcc.gnu.org/viewcvs?rev=249624&root=gcc&view=rev Log: PR sanitizer/80348 * typeck.c (cp_build_binary_op): Use NULL_TREE instead of NULL. Set ORIG_TYPE earlier and not only when shortening. * g++.dg/ubsan/div-by-zero-3.C: New test. Added: branches/gcc-6-branch/gcc/testsuite/g++.dg/ubsan/div-by-zero-3.C Modified: branches/gcc-6-branch/gcc/cp/ChangeLog branches/gcc-6-branch/gcc/cp/typeck.c branches/gcc-6-branch/gcc/testsuite/ChangeLog
[Bug sanitizer/80348] [6 Regression] UBSAN: compile time crash in ubsan_instrument_division
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80348 --- Comment #11 from Marek Polacek --- Author: mpolacek Date: Sat Jun 24 10:57:01 2017 New Revision: 249623 URL: https://gcc.gnu.org/viewcvs?rev=249623&root=gcc&view=rev Log: PR sanitizer/80348 * typeck.c (cp_build_binary_op): Convert COP[01] to ORIG_TYPE. * g++.dg/ubsan/div-by-zero-2.C: New test. Added: branches/gcc-6-branch/gcc/testsuite/g++.dg/ubsan/div-by-zero-2.C Modified: branches/gcc-6-branch/gcc/cp/ChangeLog branches/gcc-6-branch/gcc/cp/typeck.c branches/gcc-6-branch/gcc/testsuite/ChangeLog
[Bug c++/80244] [6 Regression] ICE with attribute in template alias
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80244 Marek Polacek changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #5 from Marek Polacek --- Fixed.
[Bug c++/80244] [6 Regression] ICE with attribute in template alias
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80244 --- Comment #4 from Marek Polacek --- Author: mpolacek Date: Sat Jun 24 10:53:48 2017 New Revision: 249622 URL: https://gcc.gnu.org/viewcvs?rev=249622&root=gcc&view=rev Log: PR c++/80244 - ICE with attribute in template alias. * tree.c (strip_typedefs): Handle UNDERLYING_TYPE. * g++.dg/cpp0x/alias-decl-59.C: New test. Added: branches/gcc-6-branch/gcc/testsuite/g++.dg/cpp0x/alias-decl-59.C Modified: branches/gcc-6-branch/gcc/cp/ChangeLog branches/gcc-6-branch/gcc/cp/tree.c branches/gcc-6-branch/gcc/testsuite/ChangeLog
[Bug c++/80241] [5 Regression] Broken error message + ICE with invalid attribute
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80241 Marek Polacek changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED Summary|[5/6 Regression] Broken |[5 Regression] Broken error |error message + ICE with |message + ICE with invalid |invalid attribute |attribute --- Comment #6 from Marek Polacek --- Fixed.
[Bug c++/80241] [5/6 Regression] Broken error message + ICE with invalid attribute
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80241 --- Comment #5 from Marek Polacek --- Author: mpolacek Date: Sat Jun 24 10:50:08 2017 New Revision: 249621 URL: https://gcc.gnu.org/viewcvs?rev=249621&root=gcc&view=rev Log: PR c++/80241 - ICE with alignas pack expansion. * error.c (dump_expr): Handle TREE_LIST. * parser.c (cp_parser_std_attribute_list): Return error_mark if make_pack_expansion returns an error. * g++.dg/cpp0x/alignas11.C: New test. Added: branches/gcc-6-branch/gcc/testsuite/g++.dg/cpp0x/alignas11.C Modified: branches/gcc-6-branch/gcc/cp/ChangeLog branches/gcc-6-branch/gcc/cp/error.c branches/gcc-6-branch/gcc/cp/parser.c branches/gcc-6-branch/gcc/testsuite/ChangeLog
[Bug c++/81197] ICE with structured binding and lifetime-extended temporaries
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81197 --- Comment #1 from ensadc at mailnesia dot com --- Minimum reproducer: struct X { int a; }; auto&& [t] = X{};
[Bug c++/81197] New: ICE with structured binding and lifetime-extended temporaries
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81197 Bug ID: 81197 Summary: ICE with structured binding and lifetime-extended temporaries Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: ensadc at mailnesia dot com Target Milestone: --- https://wandbox.org/permlink/knUzVFqc8cUizjI4 #include const auto& [a] = std::make_tuple(1); prog.cc:3:36: internal compiler error: in write_unqualified_name, at cp/mangle.c:1318 const auto& [a] = std::make_tuple(1); ^ Might relate to bug 81086, but this one ICEs on both 7.1 and 8.
[Bug tree-optimization/81196] New: Number of iterations found for p!=q but not for p
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81196 Bug ID: 81196 Summary: Number of iterations found for p!=q but not for p
[Bug libfortran/81195] SPEC CPU2017 621.wrf_s failure with 40+ openmp threads
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81195 Dominique d'Humieres changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2017-06-24 Ever confirmed|0 |1 --- Comment #3 from Dominique d'Humieres --- Could not the + __gthread_mutex_lock (&unit_lock); before the IFs be moved inside the IF blocks, making the second + __gthread_mutex_unlock (&unit_lock); not necessary?
[Bug libfortran/81195] SPEC CPU2017 621.wrf_s failure with 40+ openmp threads
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81195 Thomas Koenig changed: What|Removed |Added CC||jvdelisle at gcc dot gnu.org, ||tkoenig at gcc dot gnu.org --- Comment #2 from Thomas Koenig --- I was sort of waiting for the new SPEC suite to expose bugs :-) The patch looks obvious enough, even in the absence of a test case. Could you run a regression test and then submit the patch to both the gcc-patches and fortran mailing lists?
[Bug sanitizer/63361] Test case c-c++-common/ubsan/float-cast-overflow-1.c fails on Pentium2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63361 --- Comment #7 from Bernd Edlinger --- Comment on attachment 41624 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41624 test_summary with r249269 anything else we should investigate ? for instance the mpx failures ?
[Bug sanitizer/63361] Test case c-c++-common/ubsan/float-cast-overflow-1.c fails on Pentium2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63361 --- Comment #6 from Bernd Edlinger --- Created attachment 41625 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41625&action=edit ouput of gcc -fsanitize=float-cast-overflow -O2 float-cast-overflow-1.c && ./a.out
[Bug sanitizer/63361] Test case c-c++-common/ubsan/float-cast-overflow-1.c fails on Pentium2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63361 --- Comment #5 from Bernd Edlinger --- Setting LD_LIBRARY_PATH to :/home/ed/gnu/gcc-build/gcc:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/./libatomic/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/./libcilkrts/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/./libmpx/mpxrt/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/./libmpx/mpxwrap/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/./libsanitizer/ubsan/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/./libstdc++-v3/src/.libs::/home/ed/gnu/gcc-build/gcc:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/./libatomic/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/./libcilkrts/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/./libmpx/mpxrt/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/./libmpx/mpxwrap/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/./libsanitizer/ubsan/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/./libstdc++-v3/src/.libs:/home/ed/gnu/gcc-build/./gmp/.libs:/home/ed/gnu/gcc-build/./prev-gmp/.libs:/home/ed/gnu/gcc-build/./mpfr/src/.libs:/home/ed/gnu/gcc-build/./prev-mpfr/src/.libs:/home/ed/gnu/gcc-build/./mpc/src/.libs:/home/ed/gnu/gcc-build/./prev-mpc/src/.libs:/home/ed/gnu/gcc-build/./isl/.libs:/home/ed/gnu/gcc-build/./prev-isl/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/libstdc++-v3/src/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/libsanitizer/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/libmpx/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/libvtv/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/libcilkrts/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/libssp/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/libgomp/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/libitm/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/libatomic/.libs:/home/ed/gnu/gcc-build/./gcc:/home/ed/gnu/gcc-build/./prev-gcc:/home/ed/gnu/gcc-build/./gmp/.libs:/home/ed/gnu/gcc-build/./prev-gmp/.libs:/home/ed/gnu/gcc-build/./mpfr/src/.libs:/home/ed/gnu/gcc-build/./prev-mpfr/src/.libs:/home/ed/gnu/gcc-build/./mpc/src/.libs:/home/ed/gnu/gcc-build/./prev-mpc/src/.libs:/home/ed/gnu/gcc-build/./isl/.libs:/home/ed/gnu/gcc-build/./prev-isl/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/libstdc++-v3/src/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/libsanitizer/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/libmpx/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/libvtv/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/libcilkrts/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/libssp/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/libgomp/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/libitm/.libs:/home/ed/gnu/gcc-build/i686-pc-linux-gnu/libatomic/.libs:/home/ed/gnu/gcc-build/./gcc:/home/ed/gnu/gcc-build/./prev-gcc spawn [open ...]^M /home/ed/gnu/gcc-trunk/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-1.c:17:3: runtime error: value -133 is outside the range of representable values of type 'signed char' /home/ed/gnu/gcc-trunk/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-1.c:17:3: runtime error: value -129.5 is outside the range of representable values of type 'signed char' /home/ed/gnu/gcc-trunk/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-1.c:17:3: runtime error: value -129 is outside the range of representable values of type 'signed char' /home/ed/gnu/gcc-trunk/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-1.c:21:3: runtime error: value 128 is outside the range of representable values of type 'signed char' /home/ed/gnu/gcc-trunk/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-1.c:21:3: runtime error: value 128.5 is outside the range of representable values of type 'signed char' /home/ed/gnu/gcc-trunk/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-1.c:21:3: runtime error: value 132 is outside the range of representable values of type 'signed char' /home/ed/gnu/gcc-trunk/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-1.c:22:3: runtime error: value nan is outside the range of representable values of type 'signed char' /home/ed/gnu/gcc-trunk/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-1.c:22:3: runtime error: value -nan is outside the range of representable values of type 'signed char' /home/ed/gnu/gcc-trunk/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-1.c:22:3: runtime error: value inf is outside the range of representable values of type 'signed char' /home/ed/gnu/gcc-trunk/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-1.c:22:3: runtime error: value -inf is outside the range of representable values of type 'signed char' /home/ed/gnu/gcc-trunk/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-1.c:26:3: runtime error: value 256 is outside the range of representable values of type 'unsigned char' /home/ed/gnu/gcc-trunk/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-1.c:26:3: runtime error: value 256.5 is outside the range of representable values of type 'unsigned char' /home/ed/gnu/gcc-trunk/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-1.c:26:3: runtime error: value 260 is
[Bug sanitizer/63361] Test case c-c++-common/ubsan/float-cast-overflow-1.c fails on Pentium2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63361 --- Comment #4 from Bernd Edlinger --- Created attachment 41624 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41624&action=edit test_summary with r249269
[Bug fortran/52473] CSHIFT slow - inline it?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52473 --- Comment #14 from Thomas Koenig --- Author: tkoenig Date: Sat Jun 24 07:07:56 2017 New Revision: 249620 URL: https://gcc.gnu.org/viewcvs?rev=249620&root=gcc&view=rev Log: 2017-06-24 Thomas Koenig PR fortran/52473 * Makefile.am: Add i_cshift1a_c. Add rules to generate files from cshift1a.m4. * Makefile.in: Regenerated. * m4/cshift1a.m4: New file. * m4/cshift.m4 (cshift1): Split up inner loop by removing condition. Use memcpy where possible. Call helper functions based on dtype. * libgfortran.h: Add prototypes for cshift1_16_c10, cshift1_16_c16, cshift1_16_c4, cshift1_16_c8, cshift1_16_i1, cshift1_16_i16, cshift1_16_i2, cshift1_16_i4, cshift1_16_i8, cshift1_16_r10, cshift1_16_r16, cshift1_16_r4, cshift1_16_r8, cshift1_4_c10, cshift1_4_c16, cshift1_4_c4, cshift1_4_c8, cshift1_4_i1, cshift1_4_i16, cshift1_4_i2, cshift1_4_i4, cshift1_4_i8, cshift1_4_r10, cshift1_4_r16, cshift1_4_r4, cshift1_4_r8, cshift1_8_c10, cshift1_8_c16, cshift1_8_c4, cshift1_8_c8, cshift1_8_i1, cshift1_8_i16, cshift1_8_i2, cshift1_8_i4, cshift1_8_i8, cshift1_8_r10, cshift1_8_r16, cshift1_8_r4 and cshift1_8_r8. * generated/cshift1_16_c10.c: New file, generated from cshift1a.m4. * generated/cshift1_16_c16.c: New file, generated from cshift1a.m4. * generated/cshift1_16_c4.c: New file, generated from cshift1a.m4. * generated/cshift1_16_c8.c: New file, generated from cshift1a.m4. * generated/cshift1_16_i1.c: New file, generated from cshift1a.m4. * generated/cshift1_16_i16.c: New file, generated from cshift1a.m4. * generated/cshift1_16_i2.c: New file, generated from cshift1a.m4. * generated/cshift1_16_i4.c: New file, generated from cshift1a.m4. * generated/cshift1_16_i8.c: New file, generated from cshift1a.m4. * generated/cshift1_16_r10.c: New file, generated from cshift1a.m4. * generated/cshift1_16_r16.c: New file, generated from cshift1a.m4. * generated/cshift1_16_r4.c: New file, generated from cshift1a.m4. * generated/cshift1_16_r8.c: New file, generated from cshift1a.m4. * generated/cshift1_4_c10.c: New file, generated from cshift1a.m4. * generated/cshift1_4_c16.c: New file, generated from cshift1a.m4. * generated/cshift1_4_c4.c: New file, generated from cshift1a.m4. * generated/cshift1_4_c8.c: New file, generated from cshift1a.m4. * generated/cshift1_4_i1.c: New file, generated from cshift1a.m4. * generated/cshift1_4_i16.c: New file, generated from cshift1a.m4. * generated/cshift1_4_i2.c: New file, generated from cshift1a.m4. * generated/cshift1_4_i4.c: New file, generated from cshift1a.m4. * generated/cshift1_4_i8.c: New file, generated from cshift1a.m4. * generated/cshift1_4_r10.c: New file, generated from cshift1a.m4. * generated/cshift1_4_r16.c: New file, generated from cshift1a.m4. * generated/cshift1_4_r4.c: New file, generated from cshift1a.m4. * generated/cshift1_4_r8.c: New file, generated from cshift1a.m4. * generated/cshift1_8_c10.c: New file, generated from cshift1a.m4. * generated/cshift1_8_c16.c: New file, generated from cshift1a.m4. * generated/cshift1_8_c4.c: New file, generated from cshift1a.m4. * generated/cshift1_8_c8.c: New file, generated from cshift1a.m4. * generated/cshift1_8_i1.c: New file, generated from cshift1a.m4. * generated/cshift1_8_i16.c: New file, generated from cshift1a.m4. * generated/cshift1_8_i2.c: New file, generated from cshift1a.m4. * generated/cshift1_8_i4.c: New file, generated from cshift1a.m4. * generated/cshift1_8_i8.c: New file, generated from cshift1a.m4. * generated/cshift1_8_r10.c: New file, generated from cshift1a.m4. * generated/cshift1_8_r16.c: New file, generated from cshift1a.m4. * generated/cshift1_8_r4.c: New file, generated from cshift1a.m4. * generated/cshift1_8_r8.c: New file, generated from cshift1a.m4. 2017-06-24 Thomas Koenig PR fortran/52473 * gfortran.dg/cshift_2.f90: New test. Added: trunk/gcc/testsuite/gfortran.dg/cshift_2.f90 trunk/libgfortran/generated/cshift1_16_c10.c trunk/libgfortran/generated/cshift1_16_c16.c trunk/libgfortran/generated/cshift1_16_c4.c trunk/libgfortran/generated/cshift1_16_c8.c trunk/libgfortran/generated/cshift1_16_i1.c trunk/libgfortran/generated/cshift1_16_i16.c trunk/libgfortran/generated/cshift1_16_i2.c trunk/libgfortran/generated/cshift1_16_i4.c trunk/libgfortran/generated/cshift1_16_i8.c trunk/libgfortran/generated/cshift1_16_r10.c trunk/libgfortran/generated/cshift1_16_r16.c trunk/libgfortran/generated/cshift1_16_r4.c trunk/libgfortran/generated/c