[Bug sanitizer/63361] Test case c-c++-common/ubsan/float-cast-overflow-1.c fails on Pentium2

2017-06-24 Thread bernd.edlinger at hotmail dot de
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 c++/81197] New: ICE with structured binding and lifetime-extended temporaries

2017-06-24 Thread ensadc at mailnesia dot com
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 target/81193] PowerPC GCC __builtin_cpu_is and __builtin_cpu_supports should warn about old libraries

2017-06-24 Thread amodra at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81193

Alan Modra  changed:

   What|Removed |Added

 CC||amodra at gmail dot com

--- Comment #3 from Alan Modra  ---
Relocation problems with ifunc resolvers come about due to the fact that ifunc
resolvers run at the same time other relocations are being processed.

So..
1) If the resolver runs before its code/data has been relocated, the resolver
won't run correctly.
2) If the object requires text relocations then the text segment will be set
read/write, but this makes it non-exec so any attempt to run an ifunc resolver
will result in a segfault.

(1) is fixed for leaf function resolvers called from within the same object
(shared lib or executable), as the linker sorts ifunc relocs last.  You will
need to know the order in which an executable and its shared libraries are
relocated by ld.so if you want to call a non-local resolver, or when the
resolver itself makes non-local calls to functions that need their code/data
relocating.  Generally, don't do that.  By inspection, getauxval loads values
from the TOC/GOT, so it does need relocating, but if ld.so always relocates
libc.so first then you might be OK calling getauxval..  I don't know enough
about ld.so to answer that detail.  And, oh yeah, provided the user doesn't
override libc.so getauxval with their own version.
(2) will give you an error/warning at link time.

[Bug sanitizer/63361] Test case c-c++-common/ubsan/float-cast-overflow-1.c fails on Pentium2

2017-06-24 Thread bernd.edlinger at hotmail dot de
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=edit
test_summary with r249269

[Bug libfortran/81195] SPEC CPU2017 621.wrf_s failure with 40+ openmp threads

2017-06-24 Thread tkoenig at gcc dot gnu.org
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 libfortran/81195] SPEC CPU2017 621.wrf_s failure with 40+ openmp threads

2017-06-24 Thread dominiq at lps dot ens.fr
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 (_lock);

before the IFs be moved inside the IF blocks, making the second

+ __gthread_mutex_unlock (_lock);

not necessary?

[Bug fortran/52473] CSHIFT slow - inline it?

2017-06-24 Thread tkoenig at gcc dot gnu.org
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=gcc=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
 

[Bug sanitizer/63361] Test case c-c++-common/ubsan/float-cast-overflow-1.c fails on Pentium2

2017-06-24 Thread bernd.edlinger at hotmail dot de
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=edit
ouput of gcc -fsanitize=float-cast-overflow -O2 float-cast-overflow-1.c &&
./a.out

[Bug tree-optimization/81196] New: Number of iterations found for p!=q but not for p

2017-06-24 Thread glisse at gcc dot gnu.org
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 c++/81197] ICE with structured binding and lifetime-extended temporaries

2017-06-24 Thread ensadc at mailnesia dot com
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 sanitizer/63361] Test case c-c++-common/ubsan/float-cast-overflow-1.c fails on Pentium2

2017-06-24 Thread bernd.edlinger at hotmail dot de
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 libfortran/81195] SPEC CPU2017 621.wrf_s failure with 40+ openmp threads

2017-06-24 Thread wilson at gcc dot gnu.org
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++/81182] result of ‘operator->()’ yields non-pointer result

2017-06-24 Thread redi at gcc dot gnu.org
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;
};

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 c++/62315] do not print typename in diagnostic if the original code does not have it

2017-06-24 Thread paolo at gcc dot gnu.org
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=gcc=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 fortran/81160] arith.c:2009: bad statement order ?

2017-06-24 Thread jvdelisle at gcc dot gnu.org
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=gcc=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 c++/81198] New: [concepts] Same type constraints not enforced for constrained-type-specifiers specified in trailing return types of abbreviated functions

2017-06-24 Thread tom at honermann dot net
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 testsuite/80759] gcc.target/x86_64/abi/ms-sysv FAILs

2017-06-24 Thread daniel.santos at pobox dot com
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 _data.regdata[0]
> $11 = 0x10004d6c0
> 
> %p1
> 
> (gdb) p/x _data.regdata[1]
> $12 = 0x10004d7a0
> 
> %p4
> 
> (gdb) p/x _data.retaddr
> $13 = 0x10004d968
> 
> %p3
> 
> (gdb) p/x _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 c++/81182] result of ‘operator->()’ yields non-pointer result

2017-06-24 Thread grzebieluch at me dot com
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 ada/62235] segmentation fault on Ada 2012 code

2017-06-24 Thread porton at narod dot ru
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++/81182] result of ‘operator->()’ yields non-pointer result

2017-06-24 Thread gcc at baszerr dot eu
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 fortran/81160] arith.c:2009: bad statement order ?

2017-06-24 Thread jvdelisle at gcc dot gnu.org
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 libfortran/81195] SPEC CPU2017 621.wrf_s failure with 40+ openmp threads

2017-06-24 Thread wilson at gcc dot gnu.org
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 libfortran/81195] SPEC CPU2017 621.wrf_s failure with 40+ openmp threads

2017-06-24 Thread jvdelisle at gcc dot gnu.org
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++/62315] do not print typename in diagnostic if the original code does not have it

2017-06-24 Thread paolo.carlini at oracle dot com
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 libfortran/81195] SPEC CPU2017 621.wrf_s failure with 40+ openmp threads

2017-06-24 Thread wilson at gcc dot gnu.org
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 libgcc/81199] fallback definition of count_leading_zeros references hidden symbol

2017-06-24 Thread coypu at sdf dot org
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

2017-06-24 Thread coypu at sdf dot org
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 c++/80241] [5/6 Regression] Broken error message + ICE with invalid attribute

2017-06-24 Thread mpolacek at gcc dot gnu.org
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=gcc=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++/80241] [5 Regression] Broken error message + ICE with invalid attribute

2017-06-24 Thread mpolacek at gcc dot gnu.org
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++/80244] [6 Regression] ICE with attribute in template alias

2017-06-24 Thread mpolacek at gcc dot gnu.org
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

2017-06-24 Thread mpolacek at gcc dot gnu.org
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=gcc=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 sanitizer/80348] [6 Regression] UBSAN: compile time crash in ubsan_instrument_division

2017-06-24 Thread mpolacek at gcc dot gnu.org
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=gcc=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 c++/81182] result of ‘operator->()’ yields non-pointer result

2017-06-24 Thread gcc at baszerr dot eu
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=edit
gcc 6.3 vs gcc 7.1

[Bug c++/81182] result of ‘operator->()’ yields non-pointer result

2017-06-24 Thread gcc at baszerr dot eu
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 sanitizer/80348] [6 Regression] UBSAN: compile time crash in ubsan_instrument_division

2017-06-24 Thread mpolacek at gcc dot gnu.org
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=gcc=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 sanitizer/80348] [6 Regression] UBSAN: compile time crash in ubsan_instrument_division

2017-06-24 Thread mpolacek at gcc dot gnu.org
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 c++/81182] result of ‘operator->()’ yields non-pointer result

2017-06-24 Thread redi at gcc dot gnu.org
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 tree-optimization/80612] [7 Regression] ICE in get_range_info, at tree-ssanames.c:375

2017-06-24 Thread mpolacek at gcc dot gnu.org
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=gcc=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 tree-optimization/80612] [7 Regression] ICE in get_range_info, at tree-ssanames.c:375

2017-06-24 Thread mpolacek at gcc dot gnu.org
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 c++/81139] Non-deduced return type in abbreviated function template

2017-06-24 Thread tom at honermann dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81139

--- Comment #1 from Tom Honermann  ---
Bug 69448 appears to be related.

[Bug c++/69448] Abbreviated function templates with deduced return type still broken

2017-06-24 Thread tom at honermann dot net
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.