[Bug target/72758] GCC 4.9.2 on Aarch64 missing vreinterpretq_u64_p128 and friends

2016-07-29 Thread noloader at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72758

--- Comment #3 from Jeffrey Walton  ---
(In reply to Andrew Pinski from comment #2)
> Note the testcase is wrong (but only slightly).

Oh, you're right, thanks.

That code was tested on the RPI3 to ensure it compiled as expected under
Aarch32. Using -Wall generated one warning: 'unused variable b'.

> Also as a workaround you can use a GNU C extension.
> Something like:
> int main(int argc, char* argv[])
> {
>   poly128_t a = {0};
>   uint64x2_t b = (uint64x2_t)(a);
>   return 0;

[Bug target/72758] GCC 4.9.2 on Aarch64 missing vreinterpretq_u64_p128 and friends

2016-07-29 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72758

--- Comment #2 from Andrew Pinski  ---
Note the testcase is wrong (but only slightly).
Also as a workaround you can use a GNU C extension.
Something like:
int main(int argc, char* argv[])
{
  poly128_t a = {0};
  uint64x2_t b = (uint64x2_t)(a);
  return 0;

[Bug target/72758] GCC 4.9.2 on Aarch64 missing vreinterpretq_u64_p128 and friends

2016-07-29 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72758

Andrew Pinski  changed:

   What|Removed |Added

 Target||aarch64*-*-*
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-07-30
 Ever confirmed|0   |1
  Known to fail||6.1.0

--- Comment #1 from Andrew Pinski  ---
Confirmed.
t8.c: In function 'main':
t8.c:7:18: warning: implicit declaration of function 'vreinterpretq_u64_p128'
[-Wimplicit-function-declaration]
   uint64x2_t b = vreinterpretq_u64_p128(a);
  ^~
t8.c:7:18: error: incompatible types when initializing type 'uint64x2_t' using
type 'int'

[Bug target/72758] New: GCC 4.9.2 on Aarch64 missing vreinterpretq_u64_p128 and friends

2016-07-29 Thread noloader at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72758

Bug ID: 72758
   Summary: GCC 4.9.2 on Aarch64 missing vreinterpretq_u64_p128
and friends
   Product: gcc
   Version: 4.9.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: noloader at gmail dot com
  Target Milestone: ---

Created attachment 39035
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39035=edit
Preprocessed test.cc

I'm working on a HiKey, which is Aarch64. The machine is powered by Linaro, and
it uses GCC 4.9.2 toolchain.

I'm using vmull_p64 and vmull_p642. I'm having trouble finding
vreinterpretq_u64_p128 (and friends) to help convert the polynomial. The
minimal test case is:

$ cat test.cc
#include 
#include 
int main(int argc, char* argv[])
{
  poly64_t a = {0};
  uint64x2_t b = vreinterpretq_u64_p128(a);
  return 0;
}

$ gcc -march=armv8-a+crc+crypto -mtune=cortex-a53 test.cc -o test.exe
test.cc: In function ‘int main(int, char**)’:
test.cc:6:42: error: ‘vreinterpretq_u64_p128’ was not declared in this scope
   uint64x2_t b = vreinterpretq_u64_p128(a);
  ^
*

vreinterpretq_u64_p128 can't be found in arm_neon.h or arm_acle.h on the Linaro
machine:

$ grep p128 /usr/lib/gcc/aarch64-linux-gnu/4.9/include/arm_acle.h
$ grep p128 /usr/lib/gcc/aarch64-linux-gnu/4.9/include/arm_neon.h
$ grep p64 /usr/lib/gcc/aarch64-linux-gnu/4.9/include/arm_acle.h
$ grep p64 /usr/lib/gcc/aarch64-linux-gnu/4.9/include/arm_neon.h
vmull_p64 (poly64_t a, poly64_t b)
vmull_high_p64 (poly64x2_t a, poly64x2_t b)
$

An Raspberry Pi 3 with ARMv8/Aarch32 and GCC 4.9.2 has it in arm_neon.h:

$ cat /usr/lib/gcc/arm-linux-gnueabihf/4.9.2/include/arm_neon.h | grep
-A 4 vreinterpretq_u64_p128
vreinterpretq_u64_p128 (poly128_t __a)
{
  return (uint64x2_t)__builtin_neon_vreinterpretv2diti
((__builtin_neon_ti) __a);
}

*

Linaro machine:

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/4.9/lto-wrapper
Target: aarch64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian/Linaro 4.9.2-10'
--with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs
--enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.9 --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls
--with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --enable-gnu-unique-object --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-4.9-arm64/jre --enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-arm64
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-arm64
--with-arch-directory=arm64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-multiarch --enable-checking=release --build=aarch64-linux-gnu
--host=aarch64-linux-gnu --target=aarch64-linux-gnu
Thread model: posix
gcc version 4.9.2 (Debian/Linaro 4.9.2-10)

[Bug middle-end/71942] [ARM] Zero-extending whats allready zero-extended even when -O3

2016-07-29 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71942

--- Comment #6 from Andrew Pinski  ---
Take example in comment #1:
This is what is produced for AARCH64:

(insn 8 6 9 (set (reg:HI 77)
(mem/v/c:HI (plus:DI (reg/f:DI 68 virtual-stack-vars)
(const_int -2 [0xfffe])) [1 foo+0 S2 A16])) t6.c:4
-1
 (nil))

(insn 9 8 0 (set (reg:SI 73 [ foo.0_4 ])
(zero_extend:SI (reg:HI 77))) t6.c:4 -1
 (nil))

GCC does not know that insn 8 produces a zero extended to SI mode or not.  It
just knows it is HI mode.

[Bug target/71680] [7 Regression] ICE: Max. number of generated reload insns per insn is achieved (90) w/ -Os -mlra

2016-07-29 Thread amodra at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71680

--- Comment #10 from Alan Modra  ---
Arseny, I could not reproduce the problem using your testcase, and I tried a
dozen or so revisions around 20160626 buiding powerpc-e500v2-linux-gnuspe
cross-compilers on an x86_64-linux host.  Please specify the svn revision
number or git commit that you used, and your gcc configure parameters.

[Bug libstdc++/54924] Warn for std::string constructor with wrong size

2016-07-29 Thread david at doublewise dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54924

--- Comment #3 from David Stone  ---
Also filed against libc++ here: https://llvm.org/bugs/show_bug.cgi?id=28777

[Bug testsuite/72757] New: atomic test don't run with RUNTESTFLAGS=atomic.exp

2016-07-29 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72757

Bug ID: 72757
   Summary: atomic test don't run with RUNTESTFLAGS=atomic.exp
   Product: gcc
   Version: 7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
  Assignee: unassigned at gcc dot gnu.org
  Reporter: msebor at gcc dot gnu.org
  Target Milestone: ---

The Testing section of the GCC manual (https://gcc.gnu.org/install/test.html)
shows examples of setting the RUNTESTFLAGS variable to one of the .exp files in
the GCC test suite invoke a subset of GCC tests.  This works fine for many .exp
files but not for atomic.exp.  None of the C atomic tests run when make is
invoked with RUNTESTFLAGS=atomic.exp:

$ nice make -C /build/gcc-trunk-svn/gcc check-c RUNTESTFLAGS='atomic.exp'
make: Entering directory '/build/gcc-trunk-svn/gcc'
rm -rf testsuite/gcc-parallel
make[1]: Entering directory '/build/gcc-trunk-svn/gcc'
(rootme=`${PWDCMD-pwd}`; export rootme; \
srcdir=`cd /src/gcc-svn/gcc; ${PWDCMD-pwd}` ; export srcdir ; \
if [ -n "" ] \
   && [ -n "$GCC_RUNTEST_PARALLELIZE_DIR" ] \
   && [ -f testsuite/gcc-parallel/finished ]; then \
  rm -rf testsuite/gcc; \
else \
  cd testsuite/gcc; \
  rm -f tmp-site.exp; \
  sed '/set tmpdir/ s|testsuite$|testsuite/gcc|' \
< ../../site.exp > tmp-site.exp; \
  /bin/sh ${srcdir}/../move-if-change tmp-site.exp site.exp; \
  EXPECT=`if [ -f ${rootme}/../expect/expect ] ; then echo
${rootme}/../expect/expect ; else echo expect ; fi` ; export EXPECT ; \
  if [ -f ${rootme}/../expect/expect ] ; then  \
TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; ${PWDCMD-pwd}` ; \
export TCL_LIBRARY ; \
  fi ; \
  `if [ -f ${srcdir}/../dejagnu/runtest ] ; then echo
${srcdir}/../dejagnu/runtest ; else echo runtest; fi` --tool gcc atomic.exp; \
  if [ -n "$GCC_RUNTEST_PARALLELIZE_DIR" ] ; then \
touch ${rootme}/testsuite/gcc-parallel/finished; \
  fi ; \
fi )
Reading ~/.dejagnurc
WARNING: Couldn't find the global config file.
Test Run By msebor on Fri Jul 29 19:30:30 2016
Native configuration is x86_64-pc-linux-gnu

=== gcc tests ===

Schedule of variations:
unix

Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /src/gcc-svn/gcc/testsuite/config/default.exp as tool-and-target-specific
interface file.
Running /src/gcc-svn/gcc/testsuite/gcc.dg/atomic/atomic.exp ...

=== gcc Summary ===

/build/gcc-trunk-svn/gcc/xgcc  version 7.0.0 20160726 (experimental) (GCC) 

make[1]: Leaving directory '/build/gcc-trunk-svn/gcc'
make: Leaving directory '/build/gcc-trunk-svn/gcc'

[Bug fortran/72755] Internal compiler error: in gfc_get_symbol_decl, at fortran/trans-decl.c:1369

2016-07-29 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72755

kargl at gcc dot gnu.org changed:

   What|Removed |Added

 CC||kargl at gcc dot gnu.org

--- Comment #6 from kargl at gcc dot gnu.org ---
Reduced to something less than 3000 lines of code.  Sheesh.

module m_string
   implicit none
   type t_string
  character(len=:), allocatable :: buffer
  contains
 generic :: assignment(=) => string_assign_from_string
 procedure, private :: string_assign_from_string
   end type t_string
   contains
  subroutine string_assign_from_string( left, right )
 class(t_string), intent(inout) :: left
 type(t_string), intent(in) :: right
  end subroutine string_assign_from_string
end module m_string

module m_msg
   use m_string
   implicit none
   type t_msg
  integer :: code = 0
  type(t_string) :: text, mod, proc
  contains
 procedure :: get_code => msg_code_get
   end type t_msg
   contains
  elemental function msg_code_get( this ) result(res)
 class(t_msg), intent(in) :: this
 integer :: res
 res = this%code
  end function msg_code_get
end module m_msg

module m_messages
   use m_msg
   implicit none
   type t_messages
  integer :: unit = -1
  type(t_msg), dimension(:), allocatable :: error_buffer
  type(t_msg), dimension(:), allocatable :: warning_buffer
   end type t_messages
   contains
  subroutine messages_push_back( array, msg )
 type(t_msg), dimension(:), allocatable, intent(inout) :: array
 type(t_msg), intent(in) :: msg
 integer idx
 idx = count(array%get_code() /= 0) + 1
 array(idx) = msg
  end subroutine messages_push_back
end module m_messages

[Bug rtl-optimization/69847] Spec 2006 403.gcc slows down with -mlra vs. reload on PowerPC

2016-07-29 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69847

--- Comment #15 from Michael Meissner  ---
Thanks for doing this.  It looks like Bill will do spec testing, but if he
doesn't I will fire off a run early next week.

[Bug c++/68901] UBSan triggers false -Wpadded warning

2016-07-29 Thread vanyacpp at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68901

--- Comment #2 from Ivan Sorokin  ---
Created attachment 39034
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39034=edit
bug-68901.cpp

[Bug c++/68901] UBSan triggers false -Wpadded warning

2016-07-29 Thread vanyacpp at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68901

Ivan Sorokin  changed:

   What|Removed |Added

 CC||vanyacpp at gmail dot com

--- Comment #1 from Ivan Sorokin  ---
I experienced the same issue on GCC 5.3.0. I made a minimal reprocase for the
issue.

struct mytype
{
void f()
{
value = 42;
}

unsigned value;
};

void foo()
{
mytype().f();
}

$ g++ -Wpadded -fsanitize=undefined 2.cpp
2.cpp: In member function ‘void mytype::f()’:
2.cpp:3:10: warning: padding struct size to alignment boundary [-Wpadded]
 void f()
  ^
2.cpp: In function ‘void foo()’:
2.cpp:11:6: warning: padding struct size to alignment boundary [-Wpadded]
 void foo()
  ^

[Bug fortran/72755] Internal compiler error: in gfc_get_symbol_decl, at fortran/trans-decl.c:1369

2016-07-29 Thread fmartinez at gmv dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72755

--- Comment #5 from Fran Martinez Fadrique  ---
Created attachment 39033
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39033=edit
Dependency

[Bug fortran/72755] Internal compiler error: in gfc_get_symbol_decl, at fortran/trans-decl.c:1369

2016-07-29 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72755

--- Comment #4 from kargl at gcc dot gnu.org ---
Insufficient has been provided.

% grep -E ^module a.f90 b.f90 c.f90 
a.f90:module m_messages
b.f90:module m_msg
c.f90:module m_string

% gfc7 -c c.f90
c.f90:13:6:

   use m_util_convert
  1
Fatal Error: Can't open module file 'm_util_convert.mod' for reading

[Bug c++/72756] Using an enum as a constant expression via dot operator should not compile.

2016-07-29 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72756

--- Comment #1 from Andrew Pinski  ---
I suspect it is rejected at instantation time rather than definition time.

[Bug c++/72756] New: Using an enum as a constant expression via dot operator should not compile.

2016-07-29 Thread claas.bontus at web dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72756

Bug ID: 72756
   Summary: Using an enum as a constant expression via dot
operator should not compile.
   Product: gcc
   Version: 6.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: claas.bontus at web dot de
  Target Milestone: ---

This is a follow up from discussion at
http://stackoverflow.com/q/38398475/3876684

The following should not compile, since enum m is accessed via dot operator at
//1. Compiler should at least emit a warning.

template struct A{};

template
struct tst
{   enum : size_t { m= n % 15 };

template
void
call( tst const  ) {
A  a; // 1
}
};

[Bug fortran/72755] Internal compiler error: in gfc_get_symbol_decl, at fortran/trans-decl.c:1369

2016-07-29 Thread fmartinez at gmv dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72755

--- Comment #3 from Fran Martinez Fadrique  ---
The same problem appears in previous versions (at least 6.1.1 and 5.4)

[Bug fortran/72755] Internal compiler error: in gfc_get_symbol_decl, at fortran/trans-decl.c:1369

2016-07-29 Thread fmartinez at gmv dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72755

--- Comment #1 from Fran Martinez Fadrique  ---
Created attachment 39031
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39031=edit
Dependency

[Bug fortran/72755] Internal compiler error: in gfc_get_symbol_decl, at fortran/trans-decl.c:1369

2016-07-29 Thread fmartinez at gmv dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72755

--- Comment #2 from Fran Martinez Fadrique  ---
Created attachment 39032
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39032=edit
Dependency

[Bug fortran/72755] New: Internal compiler error: in gfc_get_symbol_decl, at fortran/trans-decl.c:1369

2016-07-29 Thread fmartinez at gmv dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72755

Bug ID: 72755
   Summary: Internal compiler error: in gfc_get_symbol_decl, at
fortran/trans-decl.c:1369
   Product: gcc
   Version: 7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: fmartinez at gmv dot com
  Target Milestone: ---

Created attachment 39030
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39030=edit
Module generating the error

Dear gfortran team,
the provided code generates the following internal error.
The warning is part of te stack of messages that I believe is not related.
Cheers,
Fran


Warning: Only array FINAL procedures declared for derived type ‘t_msg’ defined
at (1), suggest also scalar one [-Wsurprising]
m_messages.f03:293:0:

 end subroutine messages_dump_error_stack
 1
internal compiler error: in gfc_get_symbol_decl, at fortran/trans-decl.c:1369
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.
../../templates/makeInclude.mak:386: recipe for target
'/home/fran/atlantis/src/utilities/Debug/m_messages.o' failed
make: *** [/home/fran/atlantis/src/utilities/Debug/m_messages.o] Error 1

[Bug c++/72753] sole flexible array member in a typedef rejected

2016-07-29 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72753

--- Comment #1 from Martin Sebor  ---
Same problem with an unnamed struct defined via an alias-declaration:

  using S = struct { int a[]; };

[Bug c++/72754] New: pointer to an unnamed struct with a sole flexible array member accepted

2016-07-29 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72754

Bug ID: 72754
   Summary: pointer to an unnamed struct with a sole flexible
array member accepted
   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 following program defines two pointers to unnamed structs containing a
flexible array as their sole member.  The structs are invalid and are rejected
with an error in C mode but silently accepted by G++.

$ cat t.C && /build/gcc-trunk-svn/gcc/xgcc -B /build/gcc-trunk-svn/gcc -S -Wall
-Wextra -Wpedantic t.C
struct { int a[]; } *p;

struct S {
  struct { int a[]; } *q;
};

t.C:1:22: warning: ‘p’ defined but not used [-Wunused-variable]
 struct { int a[]; } *p;
  ^

Clang produces the following output:

t.C:1:14: warning: flexible array member 'a' in otherwise empty struct is a GNU
  extension [-Wgnu-empty-struct]
struct { int a[]; } *p;
 ^
t.C:1:14: warning: flexible array members are a C99 feature [-Wc99-extensions]
t.C:4:16: warning: flexible array member 'a' in otherwise empty struct is a GNU
  extension [-Wgnu-empty-struct]
  struct { int a[]; } *q;
   ^
t.C:4:16: warning: flexible array members are a C99 feature [-Wc99-extensions]
t.C:1:22: warning: unused variable 'p' [-Wunused-variable]
struct { int a[]; } *p;
 ^
5 warnings generated.

[Bug c++/72753] New: sole flexible array member in a typedef rejected

2016-07-29 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72753

Bug ID: 72753
   Summary: sole flexible array member in a typedef rejected
   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 following program defines two structs whose only member is a flexible
array.  Such types are invalid and should be rejected.  G++ diagnoses the one
defined in the named struct but fails to diagnose the one in the unnamed
struct.

$ cat t.C && /build/gcc-trunk-svn/gcc/xgcc -B /build/gcc-trunk-svn/gcc -S -Wall
-Wextra -Wpedantic t.C
struct A {
  int a[];
};

typedef struct {
  int a[];
} B;
t.C:2:9: error: flexible array member ‘A::a’ in an otherwise empty ‘struct A’
   int a[];
 ^
t.C:1:8: note: in the definition of ‘struct A’
 struct A {
^

[Bug c/72750] Not possible to use -fno-builtin to suppress optimization of some standard functions like atoi

2016-07-29 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72750

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #2 from Andrew Pinski  ---
This is not a bug, the headers are declaring atoi for optimized version.

[Bug c++/72752] New: internal compiler error: in retrieve_specialization

2016-07-29 Thread mikeus at hotmail dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72752

Bug ID: 72752
   Summary: internal compiler error: in retrieve_specialization
   Product: gcc
   Version: 6.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: mikeus at hotmail dot ru
  Target Milestone: ---

The following code generates an ice:
- 8< -- 8< -- 8< -
typedef void (*foo_t)();

void test(foo_t)
{}

template< typename >
struct A
{
  template< typename = void > static void foo();

  void bar()
  {
test(foo);
  }

  template< typename >
  void baz()
  {
test(foo);
  }
};

template< typename _T_ >
template< typename >
void A< _T_ >::foo()
{}
- >8 -- >8 -- >8 -

Version 5.3.0 compiles the above code successfully.

This is possibly related with bug #66564.
The following code generates an ice for both versions:
- 8< -- 8< -- 8< -
template< typename >
struct Outer
{
  template< typename >
  struct Inner;
};

template<>
template< typename _T_ >
class Outer< _T_ >::Inner< _T_ >
{};

template struct Outer< int >::Inner< int >;
- >8 -- >8 -- >8 -

[Bug rtl-optimization/71779] [5/6/7 regression] isl miscompiled with -mabi=ilp32

2016-07-29 Thread bernd.edlinger at hotmail dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71779

--- Comment #17 from Bernd Edlinger  ---
And here an alternative patch for the other paradoxical subreg bug:

Index: cse.c
===
--- cse.c   (revision 238891)
+++ cse.c   (working copy)
@@ -4716,10 +4716,6 @@ cse_insn (rtx_insn *insn)
}
}

-#if 0
-  /* It is no longer clear why we used to do this, but it doesn't
-appear to still be needed.  So let's try without it since this
-code hurts cse'ing widened ops.  */
   /* If source is a paradoxical subreg (such as QI treated as an SI),
 treat it as volatile.  It may do the work of an SI in one context
 where the extra bits are not being used, but cannot replace an SI
@@ -4726,7 +4722,6 @@ cse_insn (rtx_insn *insn)
 in general.  */
   if (paradoxical_subreg_p (src))
sets[i].src_volatile = 1;
-#endif

   /* Locate all possible equivalent forms for SRC.  Try to replace
  SRC in the insn with each cheaper equivalent.


I'd be happy if you could try a boot-strap with this patch too.

Thanks
Bernd.

[Bug c++/72751] New: anonymous union within an anonymous union accepted

2016-07-29 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72751

Bug ID: 72751
   Summary: anonymous union within an anonymous union accepted
   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: ---

Quoting from C++14, [class.union.anon], p1:

Each member-declaration in the member-specification of an anonymous union shall
either define a non-static data member or be a static_assert-declaration.
[Note: Nested types, anonymous unions, and functions cannot be declared within
an anonymous union. -- end note]

That makes the following program ill-formed.  In C mode (where the program is
also ill-formed) GCC issues a warning for the nested union and an error for the
use of a.  However in C++ mode, G++ fails to issue a diagnostic for it, even in
pedantic mode.  Clang issues:

  warning: anonymous types declared in an anonymous union are an extension
[-Wnested-anon-types]

and EDG eccp 4.11:

   error: types cannot be declared in anonymous unions

$ cat t.C && gcc -S -Wall -Wextra -Wpedantic t.C
void f ()
{
  union { union { int a, b; }; };
  a = 0;
}

[Bug rtl-optimization/69847] Spec 2006 403.gcc slows down with -mlra vs. reload on PowerPC

2016-07-29 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69847

--- Comment #14 from Bill Schmidt  ---
Thanks, Vlad!  I'll do some benchmarking with this patch in the next few days. 
Much obliged!

[Bug rtl-optimization/69847] Spec 2006 403.gcc slows down with -mlra vs. reload on PowerPC

2016-07-29 Thread vmakarov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69847

--- Comment #13 from Vladimir Makarov  ---
Hi, on the next week I am going to commit the patch I've just attached.  The
final version of the patch will have more comments.

With the patch LRA generates the same code for the test case as reload (the
only difference is in difference of used hard registers for some insns).  So
you can try the patch.

Sorry, for the long delay.  It took more time than I planned originally.

[Bug rtl-optimization/69847] Spec 2006 403.gcc slows down with -mlra vs. reload on PowerPC

2016-07-29 Thread vmakarov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69847

--- Comment #12 from Vladimir Makarov  ---
Created attachment 39029
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39029=edit
A patch

[Bug c/72750] Not possible to use -fno-builtin to suppress optimization of some standard functions like atoi

2016-07-29 Thread joseph at codesourcery dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72750

--- Comment #1 from joseph at codesourcery dot com  ---
This is not a bug.  You could make the file using atoi declare it itself 
rather than including  (because the type of atoi doesn't involve 
any types from standard headers, doing so is valid).  Or, again, separate 
the use of atoi into a separate file and use -fno-inline for that file.

[Bug c/72750] New: Not possible to use -fno-builtin to suppress optimization of some standard functions like atoi

2016-07-29 Thread david.l.kreitzer at intel dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72750

Bug ID: 72750
   Summary: Not possible to use -fno-builtin to suppress
optimization of some standard functions like atoi
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: david.l.kreitzer at intel dot com
  Target Milestone: ---

For some standard functions like memset, the programmer can override the
standard function with a custom implementation using -fno-builtin or
-fno-builtin-.

That doesn't work for functions like atoi that have inline implementations in
the headers. For example:

 t.c 
#include 
#include 
int f1(void *p, const char *s)
{
  memset(p, 0, 16);
  return atoi(s);
}
-

With "gcc -S -O2 t.c", both calls get optimized. Adding -fno-builtin-memset
suppresses the memset optimization, enabling the programmer to provide their
own implementation of memset. Adding -fno-builtin-atoi has no effect.

Would this be considered a bug or a feature? And if the latter, is there a
recommended method for suppressing the optimization of atoi without completely
disabling inlining or optimization in general?

[Bug c++/71165] std::array with aggregate initialization generates huge code

2016-07-29 Thread aleksey.covacevice at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71165

Aleksey Covacevice  changed:

   What|Removed |Added

 CC||aleksey.covacevice at gmail 
dot co
   ||m

--- Comment #3 from Aleksey Covacevice  ---
I also confirm this. Also present in 5.4.0 and 6.1.0 (at least).

The following test case contains 3 scenarios, each one originated from
uncommenting the respective line in main():

#include 

using namespace std;

struct X {
X() { cerr << __func__ << endl; }
~X() { cerr << __func__ << endl; }
};

template
struct Object1 { Type Value; };

template
struct Object2 { Type Value{}; };

int main() {
//X object[0x1000];   // (1)
//Object1 object;  // (2)
//Object2 object;  // (3)
}

Scenarios (1) and (2) produce roughly the same executable, in either -O0 and
-Ofast. Scenario (3) takes an enormous time to compile, produces a much larger
executable, -Winline complains about not being able to inline things and, on
occasion, cc1plus crashes (specially if you raise the size of the arrays
involved).

Output (for scenario 3):
Test.c++: In function 'int main()':
Test.c++:14:8: warning: inlining failed in call to 'constexpr Object2::Object2() noexcept (false)': --param large-function-growth limit
reached [-Winline]
 struct Object2 { Type Value{}; };
^
Test.c++:19:21: warning: called from here [-Winline]
  Object2 object;  // (3)

[Bug lto/69188] [Regression 5/6/7] ICE when linking objects at different optimization levels with LTO and profile generation enabled. (Works with 4.9.3.)

2016-07-29 Thread anthonyfk at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69188

anthonyfk at gmail dot com changed:

   What|Removed |Added

Version|5.3.0   |5.1.0

--- Comment #17 from anthonyfk at gmail dot com ---
Fixing version field since the bug was found in 5.1.0.

[Bug lto/69188] [Regression 5/6/7] ICE when linking objects at different optimization levels with LTO and profile generation enabled. (Works with 4.9.3.)

2016-07-29 Thread anthonyfk at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69188

anthonyfk at gmail dot com changed:

   What|Removed |Added

   Keywords||ice-on-valid-code,
   ||link-failure, lto
Summary|ICE when linking objects at |[Regression 5/6/7] ICE when
   |different optimization  |linking objects at
   |levels with LTO and profile |different optimization
   |generation enabled. |levels with LTO and profile
   ||generation enabled. (Works
   ||with 4.9.3.)

--- Comment #16 from anthonyfk at gmail dot com ---
Updating a few fields and marking as a regression to hopefully catch some
attention. I'm glad someone else was able to confirm the bug. I'm happy to
provide any more help or test patches.

[Bug rtl-optimization/71779] [5/6/7 regression] isl miscompiled with -mabi=ilp32

2016-07-29 Thread bernd.edlinger at hotmail dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71779

--- Comment #16 from Bernd Edlinger  ---
Alternative patch, that looks like it fixes this issue (but not the other bug).

Note: it generates one instruction more than the first patch, thus
paradoxical subregs trigger at least one other bug, and are harder
to optimize than zero extend.


Index: emit-rtl.c
===
--- emit-rtl.c  (revision 238815)
+++ emit-rtl.c  (working copy)
@@ -1155,7 +1155,7 @@ set_reg_attrs_from_value (rtx reg, rtx x)
 || (GET_CODE (x) == SUBREG && subreg_lowpart_p (x)))
 {
 #if defined(POINTERS_EXTEND_UNSIGNED)
-  if (((GET_CODE (x) == SIGN_EXTEND && POINTERS_EXTEND_UNSIGNED)
+  if (((GET_CODE (x) != ZERO_EXTEND && POINTERS_EXTEND_UNSIGNED)
   || (GET_CODE (x) != SIGN_EXTEND && ! POINTERS_EXTEND_UNSIGNED))
  && !targetm.have_ptr_extend ())
can_be_reg_pointer = false;


Andreas, can you confirm that the isl-code is working with
this patch too?


Thanks
Bernd.

[Bug middle-end/71734] [7 Regression] FAIL: libgomp.fortran/simd4.f90 -O3 -g execution test

2016-07-29 Thread seurer at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71734

--- Comment #12 from Bill Seurer  ---
Those fail for power as well:

https://gcc.gnu.org/ml/gcc-testresults/2016-07/msg01737.html

=== libgomp tests ===


Running target unix
FAIL: libgomp.fortran/simd3.f90   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  execution test
FAIL: libgomp.fortran/simd3.f90   -O3 -g  execution test
FAIL: libgomp.fortran/simd4.f90   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  execution test
FAIL: libgomp.fortran/simd4.f90   -O3 -g  execution test

[Bug c++/68159] Demangler crash (GDB PR 19190)

2016-07-29 Thread clopez at igalia dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68159

Carlos Alberto Lopez Perez  changed:

   What|Removed |Added

 CC||clopez at igalia dot com

--- Comment #9 from Carlos Alberto Lopez Perez  ---
This is still happening with last master from GDB as of today
(7.11.50.20160729-git)



$ echo 'void
_ZSt7forwardIRKZN5Write14DataMapGrammarISt20back_insert_iteratorISsEEC4EvEUlRT_E_EOS5_RNSt16remove_referenceIS5_E4typeE()
{} int main() {}' | gcc -xc - -o /tmp/a.out && gdb /tmp/a.out
GNU gdb (GDB) 7.11.50.20160729-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
.
Find the GDB manual and other documentation resources online at:
.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /tmp/a.out...cp-support.c:1600: demangler-warning: unable
to demangle
'_ZSt7forwardIRKZN5Write14DataMapGrammarISt20back_insert_iteratorISsEEC4EvEUlRT_E_EOS5_RNSt16remove_referenceIS5_E4typeE'
(demangler failed with signal 11)
Unable to dump core, use `ulimit -c unlimited' before executing GDB next time.
cp-support.c:1615: demangler-warning: unable to demangle
'_ZSt7forwardIRKZN5Write14DataMapGrammarISt20back_insert_iteratorISsEEC4EvEUlRT_E_EOS5_RNSt16remove_referenceIS5_E4typeE'
(demangler failed with signal 11)
A problem internal to GDB has been detected,
further debugging may prove unreliable.

[Bug c/71926] wrong location for -Wparentheses warning

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71926

Marek Polacek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Marek Polacek  ---
Fixed.

[Bug c/71853] [6/7 regression] ICE on an ill-formed case statement in c_do_switch_warnings

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71853

Marek Polacek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from Marek Polacek  ---
Fixed.

[Bug c/71573] ICE on invalid C code on x86_64-linux-gnu (tree check: expected function_decl, have var_decl in implicitly_declare)

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71573

Marek Polacek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #3 from Marek Polacek  ---
Fixed.

[Bug c/71926] wrong location for -Wparentheses warning

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71926

--- Comment #3 from Marek Polacek  ---
Author: mpolacek
Date: Fri Jul 29 17:39:39 2016
New Revision: 238886

URL: https://gcc.gnu.org/viewcvs?rev=238886=gcc=rev
Log:
PR c/71926
* c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
parentheses warning.

* semantics.c (maybe_convert_cond): Use the location of COND for the
parentheses warning.

* g++.dg/warn/Wparentheses-30.C: New test.
* gcc.dg/Wparentheses-14.c: New test.

Added:
trunk/gcc/testsuite/g++.dg/warn/Wparentheses-30.C
trunk/gcc/testsuite/gcc.dg/Wparentheses-14.c
Modified:
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/c-common.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog

[Bug c/71573] ICE on invalid C code on x86_64-linux-gnu (tree check: expected function_decl, have var_decl in implicitly_declare)

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71573

--- Comment #2 from Marek Polacek  ---
Author: mpolacek
Date: Fri Jul 29 17:36:46 2016
New Revision: 238885

URL: https://gcc.gnu.org/viewcvs?rev=238885=gcc=rev
Log:
PR c/71573
* c-decl.c (implicitly_declare): Return decl early not only for
error_mark_nodes, but for anything that is not a FUNCTION_DECL.

* gcc.dg/noncompile/pr71573.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/noncompile/pr71573.c
Modified:
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-decl.c
trunk/gcc/testsuite/ChangeLog

[Bug c/71853] [6/7 regression] ICE on an ill-formed case statement in c_do_switch_warnings

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71853

--- Comment #5 from Marek Polacek  ---
Author: mpolacek
Date: Fri Jul 29 17:34:55 2016
New Revision: 238884

URL: https://gcc.gnu.org/viewcvs?rev=238884=gcc=rev
Log:
PR c/71853
* c-parser.c (c_parser_switch_statement): Initialize ce.original_type
to error node for invalid code.

* gcc.dg/noncompile/pr71853.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/noncompile/pr71853.c
Modified:
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-parser.c
trunk/gcc/testsuite/ChangeLog

[Bug c/71742] Wrong formulation of "error: flexible array member in otherwise empty struct"

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71742

Marek Polacek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Marek Polacek  ---
Fixed.

[Bug c/71742] Wrong formulation of "error: flexible array member in otherwise empty struct"

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71742

--- Comment #3 from Marek Polacek  ---
Author: mpolacek
Date: Fri Jul 29 17:32:27 2016
New Revision: 238883

URL: https://gcc.gnu.org/viewcvs?rev=238883=gcc=rev
Log:
PR c/71742
* c-decl.c (finish_struct): Rephrase an error message.

* gcc.dg/940510-1.c: Adjust dg-error.
* gcc.dg/c99-flex-array-1.c: Likewise.
* gcc.dg/c99-flex-array-typedef-1.c: Likewise.

Modified:
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-decl.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/940510-1.c
trunk/gcc/testsuite/gcc.dg/c99-flex-array-1.c
trunk/gcc/testsuite/gcc.dg/c99-flex-array-typedef-1.c

[Bug libgcc/71614] ppc __gcc_qmul is mis-optimized not to be commutative

2016-07-29 Thread dje at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71614

David Edelsohn  changed:

   What|Removed |Added

 CC||dje at gcc dot gnu.org

--- Comment #6 from David Edelsohn  ---
The implementation of the __gcc_qmul multiplication routine is designed for the
results to be within 2ulp of the correct result.

[Bug middle-end/71734] [7 Regression] FAIL: libgomp.fortran/simd4.f90 -O3 -g execution test

2016-07-29 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71734

--- Comment #11 from Andreas Schwab  ---
http://gcc.gnu.org/ml/gcc-testresults/2016-07/msg01768.html

FAIL: libgomp.fortran/simd3.f90   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  execution test
FAIL: libgomp.fortran/simd3.f90   -O3 -g  execution test
FAIL: libgomp.fortran/simd4.f90   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  execution test
FAIL: libgomp.fortran/simd4.f90   -O3 -g  execution test

[Bug c++/72708] error on anonymous union in an unnamed namespace

2016-07-29 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72708

Martin Sebor  changed:

   What|Removed |Added

   Last reconfirmed||2016-7-29

--- Comment #3 from Martin Sebor  ---
I've tested a few other compilers besides G++ (Clang 3.9, EDG eccp 4.11, IBM
XLC++, Oracle CC, and Visual C++) and with the exception of Clang, all of them
reject the code with the same error.

I brought it up on the C++ committee's mailing list to see if I was missing
something but the response I got confirms my interpretation that the code is
valid.  Very odd.

[Bug c/68473] ICE: in contains_point, at diagnostic-show-locus.c:340 after error

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68473

Marek Polacek  changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org

--- Comment #16 from Marek Polacek  ---
So is this fixed?

[Bug c++/62096] unexpected warning overflow in implicit constant conversion

2016-07-29 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62096

--- Comment #5 from Jason Merrill  ---
7.2/8: For an enumeration whose underlying type is fixed, the values of the
enumeration are the values of the underlying type. Otherwise, for an
enumeration where emin is the smallest enumerator and emax is the largest, the
values of the enumeration are the values in the range bmin to bmax, defined as
follows: Let K be 1 for a two’s complement representation and 0 for a ones’
complement or sign-magnitude representation. bmax is the smallest value greater
than or equal to max(|emin| − K, |emax|) and equal to 2M − 1, where M is a
non-negative integer. bmin is zero if emin is non-negative and −(bmax + K)
otherwise. The size of the smallest bit-field large enough to hold all the
values of the enumeration type is max(M, 1) if bmin is zero and M + 1
otherwise. It is possible to define an enumeration that has values not defined
by any of its enumerators. If the enumerator-list is empty, the values of the
enumeration are as if the enumeration had a single enumerator with value 0.

5.2.9/10: A value of integral or enumeration type can be explicitly converted
to a complete enumeration type. The value is unchanged if the original value is
within the range of the enumeration values (7.2). Otherwise, the behavior is
undefined.

Since the underlying type is not fixed, the values of the enumeration are 0 and
1 regardless of the underlying type.  Since ~1 is outside that range, the
behavior is undefined under DR 1766 (http://wg21.link/cwg1766).

[Bug tree-optimization/57558] Loop not vectorized if iteration count could be infinite

2016-07-29 Thread amker at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57558

--- Comment #5 from amker at gcc dot gnu.org ---
Author: amker
Date: Fri Jul 29 15:48:25 2016
New Revision: 238877

URL: https://gcc.gnu.org/viewcvs?rev=238877=gcc=rev
Log:
PR tree-optimization/57558
* tree-vect-loop-manip.c (vect_create_cond_for_niters_checks): New
function.
(vect_loop_versioning): Support versioning with niter assumptions.
* tree-vect-loop.c (tree-ssa-loop.h): Include header file.
(vect_get_loop_niters): New parameter.  Reimplement to support
assumptions in loop niter info.
(vect_analyze_loop_form_1, vect_analyze_loop_form): Ditto.
(new_loop_vec_info): Init LOOP_VINFO_NITERS_ASSUMPTIONS.
(vect_estimate_min_profitable_iters): Use LOOP_REQUIRES_VERSIONING.
Support loop versioning for niters.
* tree-vectorizer.c (tree-ssa-loop-niter.h): Include header file.
(vect_free_loop_info_assumptions): New function.
(vectorize_loops): Free loop niter info for loops with flag
LOOP_F_ASSUMPTIONS set if vectorization failed.
* tree-vectorizer.h (struct _loop_vec_info): New field
num_iters_assumptions.
(LOOP_VINFO_NITERS_ASSUMPTIONS): New macro.
(LOOP_REQUIRES_VERSIONING_FOR_NITERS): New macro.
(LOOP_REQUIRES_VERSIONING): New macro.
(vect_free_loop_info_assumptions): New decl.

gcc/testsuite
PR tree-optimization/57558
* gcc.dg/vect/pr57558-1.c: New test.
* gcc.dg/vect/pr57558-2.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/vect/pr57558-1.c
trunk/gcc/testsuite/gcc.dg/vect/pr57558-2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-vect-loop-manip.c
trunk/gcc/tree-vect-loop.c
trunk/gcc/tree-vectorizer.c
trunk/gcc/tree-vectorizer.h

[Bug fortran/69964] ICE on misspelled end block data, in gfc_ascii_statement

2016-07-29 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69964

--- Comment #5 from Dominique d'Humieres  ---
> > This appears to be fixed on trunk.
>
> Confirmed. I get an ICE with revision r238821, but not with r238824.
> Likely fall out of r238822 (pr71883).

For the record, it is also fixed on the gcc-5 and 6 branches.

[Bug c/71939] sole flexible array member in an anonymous structure rejected

2016-07-29 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71939

--- Comment #3 from Martin Sebor  ---
For the record, I brought this up on the C committee's mailing list for
discussion.  Since the standard can be read (at least) two different ways here
I'll submit a proposal into the next mailing to clarify the intent.

I've also tested IBM XLC, Intel ICC, and Sun c99, and they all reject the code
like GCC does, so unless some new arguments in favor of the other
interpretation surface I'll go with Joseph's interpretation.

Unfortunately, since G++ has implemented the more permissive rule (as has Clang
and ICC in C++ modes, for compatibility with G++), I think it needs to be kept
the way it is to avoid breaking code that relies on it.

[Bug c++/71662] [4.9/5/6/7 Regression][DR 1485] ICE on invalid C++11 code with unqualified name look up: in tsubst_copy, at cp/pt.c:14010

2016-07-29 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71662

Jason Merrill  changed:

   What|Removed |Added

Summary|[4.9/5/6/7 Regression] ICE  |[4.9/5/6/7 Regression][DR
   |on invalid C++11 code with  |1485] ICE on invalid C++11
   |unqualified name look up:   |code with unqualified name
   |in tsubst_copy, at  |look up: in tsubst_copy, at
   |cp/pt.c:14010   |cp/pt.c:14010

--- Comment #2 from Jason Merrill  ---
Related to http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1485
which is still in drafting.  Discussion at the October 2012 meeting suggested
that an unscoped opaque enum declaration should be ill-formed.

[Bug c++/71747] [4.9/5/6/7 Regression] ICE on invalid C++11 code with misuse of overloaded operator '()': Segmentation fault (program cc1plus)

2016-07-29 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71747

Jason Merrill  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |jason at gcc dot gnu.org

[Bug target/72748] [7 Regression] ICE on valid code at -O2 and -O3 with -g enabled in 64-bit mode on x86_64-linux-gnu: in simplify_subreg, at simplify-rtx.c:5952

2016-07-29 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72748

--- Comment #2 from H.J. Lu  ---
I am testing this:

diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 7c8bb17..918c505 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -3858,6 +3858,10 @@ timode_scalar_chain::convert_insn (rtx_insn *insn)
   switch (GET_CODE (src))
 {
 case REG:
+  PUT_MODE (src, V1TImode);
+  fix_debug_reg_uses (src);
+  break;
+
 case MEM:
   PUT_MODE (src, V1TImode);
   break;

[Bug c++/58059] g++: internal compiler error: Segmentation fault (program cc1plus)

2016-07-29 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58059

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #6 from Paolo Carlini  ---
Dup, fixed.

*** This bug has been marked as a duplicate of bug 51488 ***

[Bug c++/51488] ICE on infinite template recursion

2016-07-29 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51488

Paolo Carlini  changed:

   What|Removed |Added

 CC||nacitar at ubercpp dot com

--- Comment #14 from Paolo Carlini  ---
*** Bug 58059 has been marked as a duplicate of this bug. ***

[Bug c++/56163] Template instantiation limit not kicking in

2016-07-29 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56163

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #2 from Paolo Carlini  ---
Dup, fixed.

*** This bug has been marked as a duplicate of bug 51488 ***

[Bug c++/51488] ICE on infinite template recursion

2016-07-29 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51488

Paolo Carlini  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #13 from Paolo Carlini  ---
*** Bug 56163 has been marked as a duplicate of this bug. ***

[Bug c++/51488] ICE on infinite template recursion

2016-07-29 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51488

Paolo Carlini  changed:

   What|Removed |Added

 CC||potswa at mac dot com

--- Comment #12 from Paolo Carlini  ---
*** Bug 53618 has been marked as a duplicate of this bug. ***

[Bug c++/53618] segfault on self-referential class partial specialization argument

2016-07-29 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53618

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #3 from Paolo Carlini  ---
Dup, fixed.

*** This bug has been marked as a duplicate of bug 51488 ***

[Bug c++/51488] ICE on infinite template recursion

2016-07-29 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51488

Paolo Carlini  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |7.0

--- Comment #11 from Paolo Carlini  ---
Done.

[Bug c++/51488] ICE on infinite template recursion

2016-07-29 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51488

--- Comment #10 from paolo at gcc dot gnu.org  ---
Author: paolo
Date: Fri Jul 29 14:49:03 2016
New Revision: 238870

URL: https://gcc.gnu.org/viewcvs?rev=238870=gcc=rev
Log:
2016-07-29  Paolo Carlini  

PR c++/51488
* g++.dg/template/pr51488.C: New.

Added:
trunk/gcc/testsuite/g++.dg/template/pr51488.C
Modified:
trunk/gcc/testsuite/ChangeLog

[Bug c++/51488] ICE on infinite template recursion

2016-07-29 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51488

--- Comment #9 from Paolo Carlini  ---
Fixed by the patch which fixed c++/71747. I'm adding a testcase and closing the
bug.

[Bug c/71742] Wrong formulation of "error: flexible array member in otherwise empty struct"

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71742

Marek Polacek  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC||mpolacek at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |mpolacek at gcc dot 
gnu.org

--- Comment #2 from Marek Polacek  ---
I'll do it.

[Bug c++/72457] [6/7 Regression] ICE: Segmentation fault

2016-07-29 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72457

Jason Merrill  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #10 from Jason Merrill  ---
Fixed.

[Bug c++/72457] [6/7 Regression] ICE: Segmentation fault

2016-07-29 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72457

--- Comment #9 from Jason Merrill  ---
Author: jason
Date: Fri Jul 29 14:08:03 2016
New Revision: 238868

URL: https://gcc.gnu.org/viewcvs?rev=238868=gcc=rev
Log:
PR c++/72457 - ICE with list-value-initialized base.

* init.c (expand_aggr_init_1): Only handle value-init of bases.
* constexpr.c (build_data_member_initialization): Handle multiple
initializers for the same field.

Added:
branches/gcc-6-branch/gcc/testsuite/g++.dg/cpp0x/constexpr-list1.C
Modified:
branches/gcc-6-branch/gcc/cp/ChangeLog
branches/gcc-6-branch/gcc/cp/constexpr.c
branches/gcc-6-branch/gcc/cp/init.c

[Bug c++/72457] [6/7 Regression] ICE: Segmentation fault

2016-07-29 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72457

--- Comment #8 from Jason Merrill  ---
Author: jason
Date: Fri Jul 29 14:03:26 2016
New Revision: 238867

URL: https://gcc.gnu.org/viewcvs?rev=238867=gcc=rev
Log:
PR c++/72457 - ICE with list-value-initialized base.

* init.c (expand_aggr_init_1): Only handle value-init of bases.
* constexpr.c (build_data_member_initialization): Handle multiple
initializers for the same field.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-list1.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/constexpr.c
trunk/gcc/cp/init.c

[Bug c/71986] Bug bug when compiling gammu-1.37.3

2016-07-29 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71986

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |INVALID

--- Comment #4 from Markus Trippelsdorf  ---
No feedback, no suitable testcase.
Closing.

[Bug c/71926] wrong location for -Wparentheses warning

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71926

Marek Polacek  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC||mpolacek at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |mpolacek at gcc dot 
gnu.org
   Target Milestone|--- |7.0

--- Comment #2 from Marek Polacek  ---
I have a fix.

[Bug c/7652] -Wswitch-break : Warn if a switch case falls through

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=7652

--- Comment #52 from Marek Polacek  ---
Author: mpolacek
Date: Fri Jul 29 12:39:25 2016
New Revision: 238864

URL: https://gcc.gnu.org/viewcvs?rev=238864=gcc=rev
Log:
PR c/7652
* config/i386/i386.c (ix86_expand_args_builtin): Add break.
(ix86_expand_round_builtin): Likewise.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c

[Bug rtl-optimization/71976] insn-combiner deletes a live 64-bit shift

2016-07-29 Thread gjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71976

--- Comment #8 from Georg-Johann Lay  ---
Author: gjl
Date: Fri Jul 29 12:34:21 2016
New Revision: 238863

URL: https://gcc.gnu.org/viewcvs?rev=238863=gcc=rev
Log:
gcc/
PR rtl-optimization/71976
* combine.c (get_last_value): Return 0 if the argument for which
the function is called has a wider mode than the recorded value.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/combine.c

[Bug c/71969] Wrong setting of DECL_DISREGARD_INLINE_LIMITS in the C FE

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71969

Marek Polacek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||mpolacek at gcc dot gnu.org
 Resolution|--- |FIXED

--- Comment #3 from Marek Polacek  ---
Should be fixed.

[Bug c/71969] Wrong setting of DECL_DISREGARD_INLINE_LIMITS in the C FE

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71969

--- Comment #2 from Marek Polacek  ---
Author: mpolacek
Date: Fri Jul 29 12:00:43 2016
New Revision: 238862

URL: https://gcc.gnu.org/viewcvs?rev=238862=gcc=rev
Log:
PR c/71969
* c-decl.c (finish_function): Only set DECL_DISREGARD_INLINE_LIMITS
on GNU extern inline functions.

* gcc.dg/alias-11.c (add_cfi, new_cfi): Change __inline__ to
static __inline__.
* gcc.dg/pr71969-1.c: New test.
* gcc.dg/pr71969-2.c: New test.
* gcc.dg/pr71969-3.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/pr71969-1.c
trunk/gcc/testsuite/gcc.dg/pr71969-2.c
trunk/gcc/testsuite/gcc.dg/pr71969-3.c
Modified:
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-decl.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/alias-11.c

[Bug c/71583] ICE on invalid code on x86_64-linux-gnu (in c_parser_postfix_expression_after_paren_type, at c/c-parser.c:8192)

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71583

Marek Polacek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Marek Polacek  ---
Fixed.

[Bug c/71583] ICE on invalid code on x86_64-linux-gnu (in c_parser_postfix_expression_after_paren_type, at c/c-parser.c:8192)

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71583

--- Comment #4 from Marek Polacek  ---
Author: mpolacek
Date: Fri Jul 29 11:48:36 2016
New Revision: 238861

URL: https://gcc.gnu.org/viewcvs?rev=238861=gcc=rev
Log:
PR c/71583
* c-parser.c (c_parser_postfix_expression_after_paren_type): Also
check expr.value.

* gcc.dg/noncompile/pr71583.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/noncompile/pr71583.c
Modified:
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-parser.c
trunk/gcc/testsuite/ChangeLog

[Bug c/71574] ICE on code with alloc_align attribute on x86_64-linux-gnu: in default_conversion, at c/c-typeck.c:2126

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71574

Marek Polacek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #3 from Marek Polacek  ---
Fixed.

[Bug c/71574] ICE on code with alloc_align attribute on x86_64-linux-gnu: in default_conversion, at c/c-typeck.c:2126

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71574

--- Comment #2 from Marek Polacek  ---
Author: mpolacek
Date: Fri Jul 29 11:28:57 2016
New Revision: 238859

URL: https://gcc.gnu.org/viewcvs?rev=238859=gcc=rev
Log:
PR c/71574
* c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.

* c-c++-common/pr71574.c: New test.

Added:
trunk/gcc/testsuite/c-c++-common/pr71574.c
Modified:
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/c-common.c
trunk/gcc/testsuite/ChangeLog

[Bug c/7652] -Wswitch-break : Warn if a switch case falls through

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=7652

--- Comment #51 from Marek Polacek  ---
Author: mpolacek
Date: Fri Jul 29 11:26:46 2016
New Revision: 238858

URL: https://gcc.gnu.org/viewcvs?rev=238858=gcc=rev
Log:
PR c/7652
* config/rs6000/rs6000.c (altivec_expand_ld_builtin): Likewise.
(altivec_expand_st_builtin): Likewise.

Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/config/rs6000/rs6000.c

[Bug c/7652] -Wswitch-break : Warn if a switch case falls through

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=7652

--- Comment #50 from Marek Polacek  ---
Author: mpolacek
Date: Fri Jul 29 11:22:42 2016
New Revision: 238857

URL: https://gcc.gnu.org/viewcvs?rev=238857=gcc=rev
Log:
PR c/7652
* config/rs6000/rs6000.c (altivec_expand_ld_builtin): Likewise.
(altivec_expand_st_builtin): Likewise.

Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/config/rs6000/rs6000.c

[Bug c/7652] -Wswitch-break : Warn if a switch case falls through

2016-07-29 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=7652

--- Comment #49 from Marek Polacek  ---
Author: mpolacek
Date: Fri Jul 29 11:16:20 2016
New Revision: 238856

URL: https://gcc.gnu.org/viewcvs?rev=238856=gcc=rev
Log:
PR c/7652
* config/rs6000/rs6000.c (altivec_expand_ld_builtin): Likewise.
(altivec_expand_st_builtin): Likewise.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.c

[Bug fortran/69964] ICE on misspelled end block data, in gfc_ascii_statement

2016-07-29 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69964

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Dominique d'Humieres  ---
> This appears to be fixed on trunk.

Confirmed. I get an ICE with revision r238821, but not with r238824. Likely
fall out of r238822 (pr71883).

[Bug middle-end/71942] [ARM] Zero-extending whats allready zero-extended even when -O3

2016-07-29 Thread albrecht.guendel at web dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71942

--- Comment #5 from Albi  ---
OK ok, i see. Its a missed optimization due to volatile-problems.. 

I got a workaround however:

#define IO_READ(x) ( static_cast( *const_cast< typename
std::remove_volatile::type* >(&(x)) ))


The volatile is taken away and then added again: no redundant instructions
anymore. 
However i am not sure if that breaks anything (volatile related).. but at least
for me it worked fine so far.

[Bug target/72748] [7 Regression] ICE on valid code at -O2 and -O3 with -g enabled in 64-bit mode on x86_64-linux-gnu: in simplify_subreg, at simplify-rtx.c:5952

2016-07-29 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72748

Uroš Bizjak  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-07-29
 CC||hjl.tools at gmail dot com,
   ||ienkovich at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Uroš Bizjak  ---
Fails due to STV pass:

#2  0x00b1e5a7 in simplify_subreg (outermode=SImode, op=0x7fffefdefbd0,
innermode=TImode, byte=0) at /home/uros/gcc-svn/trunk/gcc/simplify-rtx.c:5951
5951  gcc_assert (GET_MODE (op) == innermode
(gdb) list
5946  gcc_assert (innermode != VOIDmode);
5947  gcc_assert (outermode != VOIDmode);
5948  gcc_assert (innermode != BLKmode);
5949  gcc_assert (outermode != BLKmode);
5950
5951  gcc_assert (GET_MODE (op) == innermode
5952  || GET_MODE (op) == VOIDmode);
5953
5954  if ((byte % GET_MODE_SIZE (outermode)) != 0)
5955return NULL_RTX;
(gdb) p debug_rtx (op)
(const_vector:V1TI [
(const_int 0 [0])
])
$1 = void
(gdb) p innermode
$2 = TImode

(note 23 22 62 6 [bb 6] NOTE_INSN_BASIC_BLOCK)
(debug_insn 62 23 24 6 (var_location:TI D#2 (reg/v:V1TI 93 [ j ])) -1
 (nil))
(insn 24 62 26 6 (set (mem/c:V1TI (plus:DI (reg/f:DI 20 frame)
(const_int -16 [0xfff0])) [1  S16 A128])
(reg/v:V1TI 93 [ j ])) pr72748.c:17 1239 {movv1ti_internal}
 (expr_list:REG_DEAD (reg/v:V1TI 93 [ j ])
(nil)))
(debug_insn 26 24 27 6 (var_location:SI D#1 (subreg:SI (debug_expr:TI D#2) 0))
pr72748.c:18 -1
 (nil))
(debug_insn 27 26 28 6 (var_location:SI i (debug_expr:SI D#1)) pr72748.c:18 -1
 (nil))

Looks similar to PR71549, but here we have const_vector in V1TImode.

CC authors.

[Bug tree-optimization/70965] [7 Regression] ICE on released SSA name during IPA SRA

2016-07-29 Thread dcb314 at hotmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70965

David Binderman  changed:

   What|Removed |Added

 CC||amacleod at redhat dot com

--- Comment #4 from David Binderman  ---
svn blame says "amacleod" is the author of this code.

Adding them in for some possible feedback.

[Bug tree-optimization/72746] [7 Regression] gcc ICE at -O2 and above on valid code on x86_64-linux-gnu with “seg fault”

2016-07-29 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72746

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |7.0
Summary|gcc ICE at -O2 and above on |[7 Regression] gcc ICE at
   |valid code on   |-O2 and above on valid code
   |x86_64-linux-gnu with “seg  |on x86_64-linux-gnu with
   |fault”  |“seg fault”

[Bug target/72749] [7 Regression] ICE: verify_flow_info failed (error: wrong amount of branch edges after conditional jump in bb 5) w/ -O2 -fsched2-use-superblocks

2016-07-29 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72749

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |7.0

[Bug target/72748] [7 Regression] ICE on valid code at -O2 and -O3 with -g enabled in 64-bit mode on x86_64-linux-gnu: in simplify_subreg, at simplify-rtx.c:5952

2016-07-29 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72748

Richard Biener  changed:

   What|Removed |Added

 Target||x86_64-*-*
   Target Milestone|--- |7.0
Summary|ICE on valid code at -O2|[7 Regression] ICE on valid
   |and -O3 with -g enabled in  |code at -O2 and -O3 with -g
   |64-bit mode on  |enabled in 64-bit mode on
   |x86_64-linux-gnu: in|x86_64-linux-gnu: in
   |simplify_subreg, at |simplify_subreg, at
   |simplify-rtx.c:5952 |simplify-rtx.c:5952

[Bug fortran/72743] ICE in get_constraint_for_ssa_var, at tree-ssa-structalias.c:2958

2016-07-29 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72743

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-07-29
 Ever confirmed|0   |1
  Known to fail||6.1.1, 7.0

--- Comment #1 from Richard Biener  ---
Hmm, this sounds familiar (there is/was a dup I think):

#1  0x01188c25 in get_constraint_for_ssa_var (t=
Python Exception  There is no member or method named
m_vecpfx.: 
, results=0x7fffd5f0, address_p=true)
at /space/rguenther/src/svn/trunk/gcc/tree-ssa-structalias.c:2942
2942  gcc_assert ((! DECL_PT_UID_SET_P (node->decl)
(gdb) l
2937{
2938  node = node->ultimate_alias_target ();
2939  /* Canonicalize the PT uid of all aliases to the ultimate
target.
2940 ???  Hopefully the set of aliases can't change in a way
that
2941 changes the ultimate alias target.  */
2942  gcc_assert ((! DECL_PT_UID_SET_P (node->decl)
2943   || DECL_PT_UID (node->decl) == DECL_UID
(node->decl))
2944  && (! DECL_PT_UID_SET_P (t)
2945  || DECL_PT_UID (t) == DECL_UID
(node->decl)));
2946  DECL_PT_UID (t) = DECL_UID (node->decl);

[Bug target/72742] [7 Regression] ICE in extract_insn, at recog.c:2309 (error: unrecognizable insn) w/ -Os -mlra

2016-07-29 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72742

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |7.0