[Bug c/71287] Possibly broken invocation of connect (and maybe other) syscalls

2016-05-30 Thread artpol84 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71287

--- Comment #6 from Artem Polyakov  ---
BTW, the requested files are posted.

[Bug c/71287] Possibly broken invocation of connect (and maybe other) syscalls

2016-05-30 Thread artpol84 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71287

--- Comment #5 from Artem Polyakov  ---
Thank you, Marek.

I will check gcc 5.3.

However SLURM is mostly used on RHEL systems and it seems that RHEL is very
conservative about gcc:

RHEL 6.5: gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
RHEL 7.3: gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4)

So I'd like to have some guidance regarding those old versions. And find out
precise circumstances where this problem occurs.

[Bug c/71287] Possibly broken invocation of connect (and maybe other) syscalls

2016-05-30 Thread artpol84 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71287

--- Comment #3 from Artem Polyakov  ---
Created attachment 38602
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38602=edit
preprocessed source file

[Bug c/71287] Possibly broken invocation of connect (and maybe other) syscalls

2016-05-30 Thread artpol84 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71287

--- Comment #4 from Artem Polyakov  ---
Created attachment 38603
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38603=edit
assembly file (req.s)

[Bug target/71342] [7 Regression][RL78] set1 / clr1 with !addr16 sometimes doesn't work

2016-05-30 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71342

Oleg Endo  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-05-31
Summary|[RL78] set1 / clr1 with |[7 Regression][RL78] set1 /
   |!addr16 sometimes doesn't   |clr1 with !addr16 sometimes
   |work|doesn't work
 Ever confirmed|0   |1

--- Comment #1 from Oleg Endo  ---
This seems to work fine on GCC 5 and GCC 6.

[Bug c++/71248] crash on in-class initializer of array of pointer to member

2016-05-30 Thread programmerjake at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71248

--- Comment #2 from programmerjake at gmail dot com ---
still crashes on 4.8.5:

g++ (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5

[Bug c++/71306] bogus -Wplacement-new with an array element

2016-05-30 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71306

--- Comment #2 from Martin Sebor  ---
Author: msebor
Date: Mon May 30 22:56:43 2016
New Revision: 236902

URL: https://gcc.gnu.org/viewcvs?rev=236902=gcc=rev
Log:
PR c++/71306 - bogus -Wplacement-new with an array element

gcc/cp/ChangeLog:
2016-05-27  Martin Sebor  

PR c++/71306
* init.c (warn_placement_new_too_small): Handle placement new arguments
that are elements of arrays more carefully.  Remove a pointless loop.

gcc/testsuite/ChangeLog:
2016-05-27  Martin Sebor  

PR c++/71306
* g++.dg/warn/Wplacement-new-size-3.C: New test.


Added:
trunk/gcc/testsuite/g++.dg/warn/Wplacement-new-size-3.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/init.c
trunk/gcc/testsuite/ChangeLog

[Bug c++/71248] crash on in-class initializer of array of pointer to member

2016-05-30 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71248

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2016-05-30
 CC|programmerjake at gmail dot com|
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com
 Ever confirmed|0   |1

--- Comment #1 from Paolo Carlini  ---
The ICE is gone but the location of the error message is incorrect. Improving
it seems doable, though.

[Bug c++/67185] [C++14] Link error on ODR-use of variable template partial specialization

2016-05-30 Thread Casey at Carter dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67185

--- Comment #6 from Casey Carter  ---
ODR-use of different specializations of the same partially-specialized variable
template still trigger the error in GCC 6 (Error: symbol `x' is already
defined):

template 
bool x = false;

template 
bool x = true;

int main() { return x + x; }

Which may be covered by one of the other "partially-specialized variable
template" bugs.

Hmmm, looks like its in Tom's comment on the regression in 70095
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70095#c2). If you're planning to
address that comment - which I assume from the state changing to ASSIGNED
moments ago - I'll leave this closed.

[Bug c++/70095] [C++14] Link error on partially specialized variable template

2016-05-30 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70095

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2016-05-30
 CC||jason at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |jason at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug c++/67185] [C++14] Link error on ODR-use of variable template partial specialization

2016-05-30 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67185

Jason Merrill  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |6.0

--- Comment #5 from Jason Merrill  ---
This seems to be fixed in GCC 6.

[Bug c++/67248] Variable template cannot be used as dependent name

2016-05-30 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67248

Jason Merrill  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||jason at gcc dot gnu.org
 Resolution|--- |FIXED
   Target Milestone|--- |6.0

--- Comment #2 from Jason Merrill  ---
Fixed in GCC 6.

[Bug c++/71349] Combined async target clause parsing issues

2016-05-30 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71349

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #3 from Jakub Jelinek  ---
Fixed for 6.2.  No OpenMP 4.5 support in older releases, so this is a non-issue
there.

[Bug c++/71349] Combined async target clause parsing issues

2016-05-30 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71349

--- Comment #2 from Jakub Jelinek  ---
Author: jakub
Date: Mon May 30 21:40:04 2016
New Revision: 236901

URL: https://gcc.gnu.org/viewcvs?rev=236901=gcc=rev
Log:
PR c++/71349
* c-parser.c (c_parser_omp_for): Don't disallow nowait clause
when combined with target construct.

* parser.c (cp_parser_omp_for): Don't disallow nowait clause
when combined with target construct.
(cp_parser_omp_parallel): Pass cclauses == NULL as last argument
to cp_parser_omp_all_clauses.

* c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
C_OMP_CLAUSE_SPLIT_TARGET.  Put OMP_CLAUSE_NOWAIT to
C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
instead of C_OMP_CLAUSE_SPLIT_FOR.

* c-c++-common/gomp/clauses-1.c (bar): Add dd argument.  Add
nowait depend(inout: dd[0]) clauses where permitted.

Modified:
branches/gcc-6-branch/gcc/c-family/ChangeLog
branches/gcc-6-branch/gcc/c-family/c-omp.c
branches/gcc-6-branch/gcc/c/ChangeLog
branches/gcc-6-branch/gcc/c/c-parser.c
branches/gcc-6-branch/gcc/cp/ChangeLog
branches/gcc-6-branch/gcc/cp/parser.c
branches/gcc-6-branch/gcc/testsuite/ChangeLog
branches/gcc-6-branch/gcc/testsuite/c-c++-common/gomp/clauses-1.c

[Bug c++/71330] [6/7 Regression] Compile time regression

2016-05-30 Thread ppalka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71330

Patrick Palka  changed:

   What|Removed |Added

 CC||ppalka at gcc dot gnu.org

--- Comment #10 from Patrick Palka  ---
I think the problem is with cp_fold_function() which does

  cp_walk_tree (_SAVED_TREE (fndecl), cp_fold_r, NULL, NULL);

and cp_fold_r is itself recursive so the number of calls made to cp_fold_r via
cp_fold_function() is quadratic with respect to the size of the function's
subexpressions.  The test case features a huge subexpression arising from the
chain of overloaded <

[Bug c++/71349] Combined async target clause parsing issues

2016-05-30 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71349

--- Comment #1 from Jakub Jelinek  ---
Author: jakub
Date: Mon May 30 21:36:24 2016
New Revision: 236900

URL: https://gcc.gnu.org/viewcvs?rev=236900=gcc=rev
Log:
PR c++/71349
* c-parser.c (c_parser_omp_for): Don't disallow nowait clause
when combined with target construct.

* parser.c (cp_parser_omp_for): Don't disallow nowait clause
when combined with target construct.
(cp_parser_omp_parallel): Pass cclauses == NULL as last argument
to cp_parser_omp_all_clauses.

* c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
C_OMP_CLAUSE_SPLIT_TARGET.  Put OMP_CLAUSE_NOWAIT to
C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
instead of C_OMP_CLAUSE_SPLIT_FOR.

* c-c++-common/gomp/clauses-1.c (bar): Add dd argument.  Add
nowait depend(inout: dd[0]) clauses where permitted.

Modified:
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/c-omp.c
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-parser.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/c-c++-common/gomp/clauses-1.c

[Bug c++/71350] New: internal compiler error on trailing return type declaration with initializer list

2016-05-30 Thread joostvanzwieten at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71350

Bug ID: 71350
   Summary: internal compiler error on trailing return type
declaration with initializer list
   Product: gcc
   Version: 4.9.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: joostvanzwieten at gmail dot com
  Target Milestone: ---

Created attachment 38601
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38601=edit
minimal example producing the internal compiler error

A student of mine stumbled upon an internal compiler error related to a
trailing return type declaration containing an initializer list. I've attached
a minimal example producing the error with Debian's versions 4.9.3-14,
5.3.1-21, 6.1.1-4 and 7.0 (revision 236009, package gcc-snapshot), all from
Debian Sid, with the flag `-std=c++11`. Note that the example should not
compile due to the incorrect return value in method `Foo::bar`.

The output of `g++-6 -v -std=c++11 -save-temps bug.cc` follows.

Best, Joost


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.1.1-4'
--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 --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 --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
--enable-objc-gc --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.1.1 20160519 (Debian 6.1.1-4) 
COLLECT_GCC_OPTIONS='-v' '-std=c++11' '-save-temps' '-shared-libgcc'
'-mtune=generic' '-march=x86-64'
 /usr/lib/gcc/x86_64-linux-gnu/6/cc1plus -E -quiet -v -imultiarch
x86_64-linux-gnu -D_GNU_SOURCE bug.cc -mtune=generic -march=x86-64 -std=c++11
-fpch-preprocess -o bug.ii
ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/6"
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-linux-gnu/6/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/include/c++/6
 /usr/include/x86_64-linux-gnu/c++/6
 /usr/include/c++/6/backward
 /usr/lib/gcc/x86_64-linux-gnu/6/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/6/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
COLLECT_GCC_OPTIONS='-v' '-std=c++11' '-save-temps' '-shared-libgcc'
'-mtune=generic' '-march=x86-64'
 /usr/lib/gcc/x86_64-linux-gnu/6/cc1plus -fpreprocessed bug.ii -quiet -dumpbase
bug.cc -mtune=generic -march=x86-64 -auxbase bug -std=c++11 -version -o bug.s
GNU C++11 (Debian 6.1.1-4) version 6.1.1 20160519 (x86_64-linux-gnu)
compiled by GNU C version 6.1.1 20160519, GMP version 6.1.0, MPFR
version 3.1.4, MPC version 1.0.3, isl version 0.15
warning: MPFR header version 3.1.4 differs from library version 3.1.4-p2.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C++11 (Debian 6.1.1-4) version 6.1.1 20160519 (x86_64-linux-gnu)
compiled by GNU C version 6.1.1 20160519, GMP version 6.1.0, MPFR
version 3.1.4, MPC version 1.0.3, isl version 0.15
warning: MPFR header version 3.1.4 differs from library version 3.1.4-p2.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 1edfa0d359b2ee208224c72d1e98c75a
'
Internal compiler error: Error reporting routines re-entered.
0x5e042b reshape_init_r
../../src/gcc/cp/decl.c:5896
0x5e0644 reshape_init_class
../../src/gcc/cp/decl.c:5673
0x5e0644 reshape_init_r
../../src/gcc/cp/decl.c:5901
0x5dfe7d reshape_init(tree_node*, tree_node*, int)
../../src/gcc/cp/decl.c:5945
0x5d2a55 implicit_conversion
../../src/gcc/cp/call.c:1795
0x5d36db reference_binding
../../src/gcc/cp/call.c:1525
0x5d286c implicit_conversion
../../src/gcc/cp/call.c:1802
0x5d3f48 add_function_candidate
../../src/gcc/cp/call.c:2121
0x5d4bef add_candidates

[Bug c++/71238] Undeclared function message imprecisely points to error column

2016-05-30 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71238

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|--- |7.0

--- Comment #3 from Paolo Carlini  ---
Fixed.

[Bug c++/71238] Undeclared function message imprecisely points to error column

2016-05-30 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71238

--- Comment #2 from paolo at gcc dot gnu.org  ---
Author: paolo
Date: Mon May 30 19:18:13 2016
New Revision: 236896

URL: https://gcc.gnu.org/viewcvs?rev=236896=gcc=rev
Log:
/cp
2016-05-30  Paolo Carlini  

PR c++/71238
* lex.c (unqualified_name_lookup_error): Take a location too.
(unqualified_fn_lookup_error): Take a cp_expr.
* cp-tree.h (unqualified_name_lookup_error,
unqualified_fn_lookup_error): Adjust declarations.
* semantics.c (perform_koenig_lookup): Adjust
unqualified_fn_lookup_error call, pass the location of
the identifier too as part of a cp_expr.

/testsuite
2016-05-30  Paolo Carlini  

PR c++/71238
* g++.dg/parse/pr71238.C: New.
* g++.dg/concepts/friend1.C: Test column numbers too.
* g++.dg/cpp0x/initlist31.C: Likewise.
* g++.dg/cpp0x/pr51420.C: Likewise.
* g++.dg/cpp0x/udlit-declare-neg.C: Likewise.
* g++.dg/cpp0x/udlit-member-neg.C: Likewise.
* g++.dg/ext/builtin3.C: Likewise.
* g++.dg/lookup/friend12.C: Likewise.
* g++.dg/lookup/friend7.C: Likewise.
* g++.dg/lookup/koenig1.C: Likewise.
* g++.dg/lookup/koenig5.C: Likewise.
* g++.dg/lookup/used-before-declaration.C: Likewise.
* g++.dg/overload/koenig1.C: Likewise.
* g++.dg/template/crash65.C: Likewise.
* g++.dg/template/friend57.C: Likewise.
* g++.dg/warn/Wshadow-5.C: Likewise.
* g++.dg/warn/Wunused-8.C: Likewise.
* g++.old-deja/g++.bugs/900211_01.C: Likewise.
* g++.old-deja/g++.jason/lineno5.C: Likewise.
* g++.old-deja/g++.jason/member.C: Likewise.
* g++.old-deja/g++.jason/report.C: Likewise.
* g++.old-deja/g++.jason/scoping12.C: Likewise.
* g++.old-deja/g++.law/visibility20.C: Likewise.
* g++.old-deja/g++.ns/koenig5.C: Likewise.
* g++.old-deja/g++.other/static5.C: Likewise.
* g++.old-deja/g++.pt/overload2.C: Likewise.

Added:
trunk/gcc/testsuite/g++.dg/parse/pr71238.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/lex.c
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/concepts/friend1.C
trunk/gcc/testsuite/g++.dg/cpp0x/initlist31.C
trunk/gcc/testsuite/g++.dg/cpp0x/pr51420.C
trunk/gcc/testsuite/g++.dg/cpp0x/udlit-declare-neg.C
trunk/gcc/testsuite/g++.dg/cpp0x/udlit-member-neg.C
trunk/gcc/testsuite/g++.dg/ext/builtin3.C
trunk/gcc/testsuite/g++.dg/lookup/friend12.C
trunk/gcc/testsuite/g++.dg/lookup/friend7.C
trunk/gcc/testsuite/g++.dg/lookup/koenig1.C
trunk/gcc/testsuite/g++.dg/lookup/koenig5.C
trunk/gcc/testsuite/g++.dg/lookup/used-before-declaration.C
trunk/gcc/testsuite/g++.dg/overload/koenig1.C
trunk/gcc/testsuite/g++.dg/template/crash65.C
trunk/gcc/testsuite/g++.dg/template/friend57.C
trunk/gcc/testsuite/g++.dg/warn/Wshadow-5.C
trunk/gcc/testsuite/g++.dg/warn/Wunused-8.C
trunk/gcc/testsuite/g++.old-deja/g++.bugs/900211_01.C
trunk/gcc/testsuite/g++.old-deja/g++.jason/lineno5.C
trunk/gcc/testsuite/g++.old-deja/g++.jason/member.C
trunk/gcc/testsuite/g++.old-deja/g++.jason/report.C
trunk/gcc/testsuite/g++.old-deja/g++.jason/scoping12.C
trunk/gcc/testsuite/g++.old-deja/g++.law/visibility20.C
trunk/gcc/testsuite/g++.old-deja/g++.ns/koenig5.C
trunk/gcc/testsuite/g++.old-deja/g++.other/static5.C
trunk/gcc/testsuite/g++.old-deja/g++.pt/overload2.C

[Bug c++/71349] Combined async target clause parsing issues

2016-05-30 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71349

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2016-05-30
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org
   Target Milestone|--- |6.2
 Ever confirmed|0   |1

[Bug c++/71349] New: Combined async target clause parsing issues

2016-05-30 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71349

Bug ID: 71349
   Summary: Combined async target clause parsing issues
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jakub at gcc dot gnu.org
  Target Milestone: ---

void foo (int *dd)
{
  int i;
#pragma omp target teams depend parallel for nowait depend(inout: dd[0])
  for (i = 0; i < 64; i++)
;
}
should be accepted, but is not right now.  This is a problem for both C and
C++.
Additionally, for C++ we have also parsing issue with
void bar (int *dd)
{
#pragma omp target parallel nowait depend(inout: dd[0])
  ;
}

[Bug debug/71057] [6 Regression] ICE in schedule_generic_params_dies_gen, at dwarf2out.c:24142

2016-05-30 Thread romain.geissler at amadeus dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71057

Romain Geissler  changed:

   What|Removed |Added

 CC||romain.geissler at amadeus dot 
com

--- Comment #6 from Romain Geissler  ---
Hi,

I am facing the same kind of issue on a self-build gcc 6.1.1 with some
proprietary code. Do you have any plan to backport this in the gcc6 branch ? If
needed, I can test your patch on my local occurence to confirm it actually
works.

Cheers,
Romain

[Bug target/54882] build fails for rl78-elf building libstdc++

2016-05-30 Thread hp at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54882

Hans-Peter Nilsson  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Hans-Peter Nilsson  ---
I'm fine.

[Bug fortran/71156] PURE interface/definition inconsistency: accepts invalid, rejects valid

2016-05-30 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71156

--- Comment #6 from Paul Thomas  ---
(In reply to Dominique d'Humieres from comment #5)
> With the patch in comment 3, compiling the test
> 
> module my_interface
>   implicit none
>   interface
> module subroutine f
> end subroutine
>   end interface
> end module 
> 
> submodule(my_interface) my_implementation
>   implicit none
> contains
> elemental module subroutine f
> end subroutine
> end submodule
> 
> gives the misleading error
> 
>  elemental module subroutine f
>  1
> Error: Mismatch in PURE attribute between MODULE PROCEDURE at (1) and its
> interface in my_interface

Yes, I noticed that. It comes about because the test for PURE and ELEMENTAL are
the wrong way round in the existing code. ELEMENTAL procedures automatically
receive the PURE attribute so the order matters.

I did not change this in the draft patch because I was in a hurry and didn't
want to break anything that might depend on this error.

I will tackle this PR properly tonight.

Cheers

Paul

[Bug c++/71099] Misleading diagnostic message with 'virtual' used in out-of-line definitions of class template member functions

2016-05-30 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71099

Paolo Carlini  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Assignee|paolo.carlini at oracle dot com|unassigned at gcc dot 
gnu.org

--- Comment #3 from Paolo Carlini  ---
Fixed.

[Bug c++/71099] Misleading diagnostic message with 'virtual' used in out-of-line definitions of class template member functions

2016-05-30 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71099

--- Comment #2 from paolo at gcc dot gnu.org  ---
Author: paolo
Date: Mon May 30 15:10:51 2016
New Revision: 236885

URL: https://gcc.gnu.org/viewcvs?rev=236885=gcc=rev
Log:
/cp
2016-05-30  Paolo Carlini  

PR c++/71099
* parser.c (cp_parser_function_specifier_opt): Use current_class_type
to improve the diagnostic about wrong uses of 'virtual'.

/testsuite
2016-05-30  Paolo Carlini  

PR c++/71099
* g++.dg/parse/virtual1.C: New.

Added:
trunk/gcc/testsuite/g++.dg/parse/virtual1.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog

[Bug middle-end/71348] [7 Regression] FAIL: gfortran.dg/graphite/pr68279.f90

2016-05-30 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71348

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-05-30
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres  ---
Confirmed.

[Bug tree-optimization/71289] Fails to optimize unsigned mul overflow check 'A > -1 / B'

2016-05-30 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71289

Alexander Monakov  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Alexander Monakov  ---
Fixed on the trunk. Thanks again Marc.

[Bug target/71008] [7 Regression] FAIL: gcc.target/i386/avx512f-vprord-1.c scan-assembler-times vprord

2016-05-30 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71008

H.J. Lu  changed:

   What|Removed |Added

 CC||ro at gcc dot gnu.org

--- Comment #3 from H.J. Lu  ---
*** Bug 70981 has been marked as a duplicate of this bug. ***

[Bug target/70981] [7 regression] gcc.target/i386/avx512f-vprord-1.c FAILs

2016-05-30 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70981

H.J. Lu  changed:

   What|Removed |Added

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

--- Comment #2 from H.J. Lu  ---
Dup.

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

[Bug middle-end/71348] New: [7 Regression] FAIL: gfortran.dg/graphite/pr68279.f90

2016-05-30 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71348

Bug ID: 71348
   Summary: [7 Regression] FAIL: gfortran.dg/graphite/pr68279.f90
   Product: gcc
   Version: 7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: hjl.tools at gmail dot com
CC: rguenther at suse dot de
  Target Milestone: ---

On x96, r236440 caused:

/export/gnu/import/git/gcc-regression/master/236440/bld/gcc/testsuite/gfortran/../../gfortran
-B/export/gnu/import/git/gcc-regression/master/236440/bld/gcc/testsuite/gfortran/../../
-B/export/gnu/import/git/gcc-regression/master/236440/bld/x86_64-pc-linux-gnu/32/libgfortran/
/export/gnu/import/git/gcc-regression/gcc/gcc/testsuite/gfortran.dg/graphite/pr68279.f90
-fno-diagnostics-show-caret -fdiagnostics-color=never -O -std=legacy
-floop-nest-optimize -O2 -S -o pr68279.s
isl_aff.c:944: position out of bounds
/export/gnu/import/git/gcc-regression/gcc/gcc/testsuite/gfortran.dg/graphite/pr68279.f90:8:0:
internal compiler error: Aborted
0xeedba6 crash_signal
../../../../gcc/gcc/toplev.c:333
0x186e334 extract_affine_chrec
../../../../gcc/gcc/graphite-sese-to-poly.c:239
0x186e88f extract_affine
../../../../gcc/gcc/graphite-sese-to-poly.c:381
0x186eb40 extract_affine
../../../../gcc/gcc/graphite-sese-to-poly.c:421
0x186eb40 extract_affine
../../../../gcc/gcc/graphite-sese-to-poly.c:421
0x186ecb3 create_pw_aff_from_tree
../../../../gcc/gcc/graphite-sese-to-poly.c:448
0x186ece6 add_condition_to_pbb
../../../../gcc/gcc/graphite-sese-to-poly.c:458
0x186ef47 add_conditions_to_domain
../../../../gcc/gcc/graphite-sese-to-poly.c:525
0x187076c build_iteration_domains
../../../../gcc/gcc/graphite-sese-to-poly.c:1017
0x1870830 build_iteration_domains
../../../../gcc/gcc/graphite-sese-to-poly.c:1040
0x187098b build_poly_scop(scop*)
../../../../gcc/gcc/graphite-sese-to-poly.c:1364
0x18556ee graphite_transform_loops()
../../../../gcc/gcc/graphite.c:319
0x1855790 graphite_transforms
../../../../gcc/gcc/graphite.c:356
0x18558b7 execute
../../../../gcc/gcc/graphite.c:433
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See  for instructions.
compiler exited with status 1

FAIL: gfortran.dg/graphite/pr68279.f90   -O  (internal compiler error)
FAIL: gfortran.dg/graphite/pr68279.f90   -O  (test for excess errors)

[Bug tree-optimization/71347] [7 regression] Performance drop after r235513 on x86-64 in 32-bit mode.

2016-05-30 Thread ysrumyan at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71347

--- Comment #1 from Yuri Rumyantsev  ---
Created attachment 38600
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38600=edit
test-case to reproduce

Need to be compiled with -O2 -m32 -march=slm -ffast-math options on x64-64.

[Bug tree-optimization/71347] New: [7 regression] Performance drop after r235513 on x86-64 in 32-bit mode.

2016-05-30 Thread ysrumyan at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71347

Bug ID: 71347
   Summary: [7 regression] Performance drop after r235513 on
x86-64 in 32-bit mode.
   Product: gcc
   Version: 7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ysrumyan at gmail dot com
  Target Milestone: ---

We noticed significant regression (more then 10%) after this revision whicn can
be illustrated on the following simple test-case )attached) - one additional
instruction in innermost loop (scalar replacement is not recognized):

  before r235513 r235513
.L6:
movsd   X.1861+8, %xmm2movsd   -8(%eax), %xmm2
addl$8, %eax   movsd   X.1861+8, %xmm1
.L3:
mulsd   %xmm2, %xmm0   mulsd   %xmm1, %xmm2
cmpl$X.1861+64, %eax   addl$8, %eax
movsd   %xmm0, (%eax)  movsd   %xmm2, -8(%eax)
jne .L6cmpl$X.1861+72, %eax
   jne .L6

[Bug tree-optimization/71289] Fails to optimize unsigned mul overflow check 'A > -1 / B'

2016-05-30 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71289

--- Comment #4 from Alexander Monakov  ---
Author: amonakov
Date: Mon May 30 14:37:02 2016
New Revision: 236882

URL: https://gcc.gnu.org/viewcvs?rev=236882=gcc=rev
Log:
match.pd: optimize unsigned mul overflow check

gcc/
2016-05-28  Alexander Monakov  
Marc Glisse  

PR tree-optimization/71289
* match.pd (-1 / B < A, A > -1 / B): New transformations.

gcc/testsuite/
2016-05-28  Alexander Monakov  

PR tree-optimization/71289
* gcc.dg/pr71289.c: New test.


Added:
trunk/gcc/testsuite/gcc.dg/pr71289.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/match.pd
trunk/gcc/testsuite/ChangeLog

[Bug tree-optimization/71264] [4.9/5/6 Regression] ICE in convert_move

2016-05-30 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71264

--- Comment #13 from Rainer Orth  ---
Created attachment 38599
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38599=edit
new pr71264.c.147t.vect

Here's the new one, just in case.

[Bug tree-optimization/71264] [4.9/5/6 Regression] ICE in convert_move

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71264

--- Comment #12 from Richard Biener  ---
Ah, it has V4QI, not SImode ... and thus it triggers

  if (VECTOR_MODE_P (TYPE_MODE (gimple_expr_type (stmt
{
  if (dump_enabled_p ())
{
  dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
   "not vectorized: vector stmt in loop:");
  dump_gimple_stmt (MSG_MISSED_OPTIMIZATION, TDF_SLIM, stmt,
0);
  dump_printf (MSG_MISSED_OPTIMIZATION, "\n");
}
  return false;
}

I'll think about this a bit.  I don't think we have a good dejagnu target
to check here :/  (not-vector-size-4B)  Looks like even x86 has V4QI but
it is not being used here for some reason - it's never a
targetm.vector_mode_supported_p mode.

[Bug tree-optimization/71264] [4.9/5/6 Regression] ICE in convert_move

2016-05-30 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71264

--- Comment #11 from rguenther at suse dot de  ---
On Mon, 30 May 2016, ro at CeBiTec dot Uni-Bielefeld.DE wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71264
> 
> --- Comment #10 from ro at CeBiTec dot Uni-Bielefeld.DE  Uni-Bielefeld.DE> ---
> > --- Comment #9 from Richard Biener  ---
> > Does adding
> >
> >   ptr = __builtin_assume_alinged (alignof (footype), ptr);
> >   mask = __builtin_assume_aligned (alignof (footype), mask);
> >
> > help?
> 
> The failure mode changes: if I spell it as
> 
>   ptr = __builtin_assume_aligned (ptr, __alignof__ (footype));
>   mask = __builtin_assume_aligned (mask, __alignof__ (footype));
> 
> the dump now has
> 
> /vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/pr71264.c:14:3: note: 
> not
> vectorized: vector stmt in loop:_16 = VIEW_CONVERT_EXPR char>(_15);

what does it say before this line?  Sth like "no vector type for ..."?

> /vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/pr71264.c:14:3: note:
> can't determine vectorization factor.
> /vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/pr71264.c:7:6: note:
> vectorized 0 loops in function.

Hmm, so the idea is that the source uses SImode "vectors" which should
get vectorized as V4SImode (four loop iterations).  It looks like

typedef uint8_t footype __attribute__((vector_size(4)));

doesn't get SImode for you?  Or the target doesn't have integer vectors?

I see on x86_64 before vectorization

  :
  # i_22 = PHI 
  # ivtmp_26 = PHI 
  _1 = (sizetype) i_22;
  _2 = ptr_9(D) + _1;
  _10 = MEM[(char * {ref-all})_2];
  temp_15 = VIEW_CONVERT_EXPR(_10);
  _3 = mv_14 ^ temp_15;
  _11 = VIEW_CONVERT_EXPR(_3);
  MEM[(char * {ref-all})_2] = _11;
  i_13 = i_22 + 4;
  ivtmp_25 = ivtmp_26 - 1;
  if (ivtmp_25 != 0)
goto ;
  else
goto ;

  :
  goto ;

[Bug c++/71330] [6/7 Regression] Compile time regression

2016-05-30 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71330

--- Comment #9 from Markus Trippelsdorf  ---
-   99.25%32.38%  cc1plus  cc1plus[.] walk_tree_1  
   
  ▒   - 66.87% walk_tree_1 
   
 ▒
  - 66.85% walk_tree_1 
   
  ▒
 - 66.85% walk_tree_1  
   
  ▒
- 66.84% walk_tree_1   
   
  ▒
   - 66.84% walk_tree_1
   
  ▒
walk_tree_1
   
  ▒
  - walk_tree_1
   
  ▒
 - 66.84% walk_tree_1  
   
  ▒
- walk_tree_1  
   
  ▒
   - 66.84% walk_tree_1
   
  ▒
walk_tree_1
   
  ▒
walk_tree_1
   
  ▒
walk_tree_1
   
  ▒
walk_tree_1
   
  ▒
walk_tree_1
   
  ▒
walk_tree_1
   
  ▒
walk_tree_1
   
  ▒
walk_tree_1
   
  ▒
walk_tree_1
   
  ▒
walk_tree_1
   
  ▒
walk_tree_1
   
  ▒
walk_tree_1
   
  ▒
walk_tree_1
   
  ▒
walk_tree_1
   
  ▒
walk_tree_1
   
  ▒
  - walk_tree_1
   
  ▒
 - 66.84% 

[Bug c++/71330] [6/7 Regression] Compile time regression

2016-05-30 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71330

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||jason at redhat dot com

--- Comment #8 from Markus Trippelsdorf  ---
Almost certainly started with the C++ delayed folding merge: r230365 .

[Bug tree-optimization/71261] [7 Regression] Trunk GCC hangs on knl and broadwell targets

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71261

--- Comment #18 from Richard Biener  ---
With the posted patch compile-time is down to <1s for the "at least 15 min"
testcase (the patch forcing bool patterns to be enabled).

Waiting for feedback for some time and then will commit.

[Bug middle-end/71002] [6 Regression] -fstrict-aliasing breaks Boost's short string optimization implementation

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71002

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #15 from Richard Biener  ---
Fixed for 6.2.

[Bug tree-optimization/71264] [4.9/5/6 Regression] ICE in convert_move

2016-05-30 Thread ro at CeBiTec dot Uni-Bielefeld.DE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71264

--- Comment #10 from ro at CeBiTec dot Uni-Bielefeld.DE  ---
> --- Comment #9 from Richard Biener  ---
> Does adding
>
>   ptr = __builtin_assume_alinged (alignof (footype), ptr);
>   mask = __builtin_assume_aligned (alignof (footype), mask);
>
> help?

The failure mode changes: if I spell it as

  ptr = __builtin_assume_aligned (ptr, __alignof__ (footype));
  mask = __builtin_assume_aligned (mask, __alignof__ (footype));

the dump now has

/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/pr71264.c:14:3: note: not
vectorized: vector stmt in loop:_16 = VIEW_CONVERT_EXPR(_15);

/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/pr71264.c:14:3: note:
can't determine vectorization factor.
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/pr71264.c:7:6: note:
vectorized 0 loops in function.

Rainer

[Bug bootstrap/71071] [7 regression] ICE --enable-checking=fold : fold check: original tree changed by fold

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71071

--- Comment #15 from Richard Biener  ---
Author: rguenth
Date: Mon May 30 14:00:18 2016
New Revision: 236879

URL: https://gcc.gnu.org/viewcvs?rev=236879=gcc=rev
Log:
2016-05-30  Richard Biener  

Backport from mainline
2016-05-11  Richard Biener  

PR middle-end/71002
* alias.c (reference_alias_ptr_type): Preserve alias-set zero
if the langhook insists on it.
* fold-const.c (make_bit_field_ref): Add arg for the original
reference and preserve its alias-set.
(decode_field_reference): Take exp by reference and adjust it
to the original memory reference.
(optimize_bit_field_compare): Adjust callers.
(fold_truth_andor_1): Likewise.

* g++.dg/torture/pr71002.C: New testcase.

2016-05-13  Jakub Jelinek  

PR bootstrap/71071
* fold-const.c (fold_checksum_tree): Allow modification
of TYPE_ALIAS_SET during folding.

* gcc.dg/pr71071.c: New test.

Added:
branches/gcc-6-branch/gcc/testsuite/g++.dg/torture/pr71002.C
branches/gcc-6-branch/gcc/testsuite/gcc.dg/pr71071.c
Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/alias.c
branches/gcc-6-branch/gcc/fold-const.c
branches/gcc-6-branch/gcc/testsuite/ChangeLog

[Bug middle-end/71002] [6 Regression] -fstrict-aliasing breaks Boost's short string optimization implementation

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71002

--- Comment #14 from Richard Biener  ---
Author: rguenth
Date: Mon May 30 14:00:18 2016
New Revision: 236879

URL: https://gcc.gnu.org/viewcvs?rev=236879=gcc=rev
Log:
2016-05-30  Richard Biener  

Backport from mainline
2016-05-11  Richard Biener  

PR middle-end/71002
* alias.c (reference_alias_ptr_type): Preserve alias-set zero
if the langhook insists on it.
* fold-const.c (make_bit_field_ref): Add arg for the original
reference and preserve its alias-set.
(decode_field_reference): Take exp by reference and adjust it
to the original memory reference.
(optimize_bit_field_compare): Adjust callers.
(fold_truth_andor_1): Likewise.

* g++.dg/torture/pr71002.C: New testcase.

2016-05-13  Jakub Jelinek  

PR bootstrap/71071
* fold-const.c (fold_checksum_tree): Allow modification
of TYPE_ALIAS_SET during folding.

* gcc.dg/pr71071.c: New test.

Added:
branches/gcc-6-branch/gcc/testsuite/g++.dg/torture/pr71002.C
branches/gcc-6-branch/gcc/testsuite/gcc.dg/pr71071.c
Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/alias.c
branches/gcc-6-branch/gcc/fold-const.c
branches/gcc-6-branch/gcc/testsuite/ChangeLog

[Bug tree-optimization/71264] [4.9/5/6 Regression] ICE in convert_move

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71264

--- Comment #9 from Richard Biener  ---
Does adding

  ptr = __builtin_assume_alinged (alignof (footype), ptr);
  mask = __builtin_assume_aligned (alignof (footype), mask);

help?

[Bug c++/71330] [6/7 Regression] Compile time regression

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71330

--- Comment #7 from Richard Biener  ---
Ok, not so useful output from operf w/ frame-pointer (just ran a few minutes).
Looks like it lacks any reasonable cycle handling :/

samples  %image name   symbol name
---
  12.5e-05  cc1plus  make_pack_expansion(tree_node*)
  12.5e-05  cc1plus  cp_genericize_r(tree_node**, int*,
void*)
  12.5e-05  cc1plus  cp_genericize_tree(tree_node**)
  71.7e-04  cc1plus  cp_walk_subtrees(tree_node**,
int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*)
  82.0e-04  cc1plus  walk_type_fields(tree_node*,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*, tree_node* (*)(tree_node**, int*,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set*))
  11   2.7e-04  cc1plus 
walk_tree_without_duplicates_1(tree_node**, tree_node* (*)(tree_node**, int*,
void*), void*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**,
int*, void*), void*, hash_set >*))
  14   3.5e-04  cc1plus 
check_for_bare_parameter_packs(tree_node*)
  23   5.7e-04  cc1plus 
find_parameter_packs_r(tree_node**, int*, void*)
  330   0.0082  cc1plus  cp_fold_function(tree_node*)
  4007428  99.9901  cc1plus  walk_tree_1(tree_node**,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*, tree_node* (*)(tree_node**, int*,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*))
9855 12.4718  cc1plus  walk_tree_1(tree_node**, tree_node*
(*)(tree_node**, int*, void*), void*, hash_set >*, tree_node* (*)(tree_node**, int*,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*))
  4007428  98.0822  cc1plus  walk_tree_1(tree_node**,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*, tree_node* (*)(tree_node**, int*,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*))
  51442 1.2590  cc1plus  cp_fold_r(tree_node**, int*,
void*)
  11312 0.2769  cc1plus  tree_operand_check(tree_node*,
int, char const*, int, char const*)
  9855  0.2412  cc1plus  walk_tree_1(tree_node**,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*, tree_node* (*)(tree_node**, int*,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*)) [self]
  3122  0.0764  cc1plus  cp_walk_subtrees(tree_node**,
int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*)
  1468  0.0359  cc1plus  tree_operand_length(tree_node
const*)
  444   0.0109  cc1plus  expr_check(tree_node*, char
const*, int, char const*)
  300   0.0073  cc1plus  tree_operand_length(tree_node
const*)
  269   0.0066  cc1plus  cp_fold(tree_node*)
  570.0014  cc1plus  tree_class_check(tree_node const*,
tree_code_class, char const*, int, char const*)
  24   5.9e-04  cc1plus  tree_int_cst_elt_check(tree_node*,
int, char const*, int, char const*)
  24   5.9e-04  cc1plus 
find_parameter_packs_r(tree_node**, int*, void*)
  15   3.7e-04  cc1plus  hash_set >::add(tree_node* const&)
  92.2e-04  cc1plus  walk_type_fields(tree_node*,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*, tree_node* (*)(tree_node**, int*,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*))
  82.0e-04  no-vmlinux   /no-vmlinux
  37.3e-05  cc1plus  min_vis_r(tree_node**, int*,
void*)
  24.9e-05  cc1plus  cp_genericize_r(tree_node**, int*,
void*)
  12.4e-05  cc1plus  tree_check(tree_node*, char
const*, int, char const*, tree_code)
  12.4e-05  cc1plus  contains_struct_check(tree_node*,
tree_node_structure_enum, char const*, int, char const*)

[Bug libstdc++/66338] std::forward_as_tuple() issue with single argument

2016-05-30 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66338

--- Comment #13 from Ville Voutilainen  ---
Right, that was fixed in the immediately following revision,
https://gcc.gnu.org/viewcvs/gcc?view=revision=236823

[Bug libstdc++/66338] std::forward_as_tuple() issue with single argument

2016-05-30 Thread krebbel at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66338

--- Comment #12 from Andreas Krebbel  ---
(In reply to Ville Voutilainen from comment #11)
> I don't see how any of that code or the failure is in any way related to
> std::tuple...

This was the wrong error message.  The bootstrap problem triggered by your
patch has probably been fixed already. This was the message from your patch:

In file included from
/home/andreas/patched/gcc-7.0.0-31-30052016-build/s390-ibm-linux-gnu/libstdc++-v3/include/functional:55:0,
 from
/home/andreas/gcc/libstdc++-v3/include/precompiled/stdc++.h:71:
/home/andreas/patched/gcc-7.0.0-31-30052016-build/s390-ibm-linux-gnu/libstdc++-v3/include/tuple:632:27:
error: 'Elements' was not declared in this scope
 && !is_same>::value,
  ^~
/home/andreas/patched/gcc-7.0.0-31-30052016-build/s390-ibm-linux-gnu/libstdc++-v3/include/tuple:634:35:
error: template argument 1 is invalid
   _Elements...>;
   ^
/home/andreas/patched/gcc-7.0.0-31-30052016-build/s390-ibm-linux-gnu/libstdc++-v3/include/tuple:669:19:
error: '_TMCT' was not declared in this scope
 enable_if<_TMCT<_UElements...>::template
   ^
/home/andreas/patched/gcc-7.0.0-31-30052016-build/s390-ibm-linux-gnu/libstdc++-v3/include/tuple:669:35:
error: expected parameter pack before '...'


[Bug target/71346] [AVX-512] AVX-512VL insn emitted when it is disabled

2016-05-30 Thread kyukhin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71346

--- Comment #2 from Kirill Yukhin  ---
Looks like issue is in split.
This one-liner solves the issue:
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index b348f2d..1267897 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -6837,7 +6837,7 @@
   "operands[1] = gen_lowpart (SFmode, operands[1]);")

 (define_insn_and_split "*sse4_1_extractps"
-  [(set (match_operand:SF 0 "nonimmediate_operand" "=rm,rm,rm,v,v")
+  [(set (match_operand:SF 0 "nonimmediate_operand" "=rm,rm,rm,Yv,Yv")
(vec_select:SF
  (match_operand:V4SF 1 "register_operand" "Yr,*x,v,0,v")
  (parallel [(match_operand:SI 2 "const_0_to_3_operand"
"n,n,n,n,n")])))]

[Bug target/71346] [AVX-512] AVX-512VL insn emitted when it is disabled

2016-05-30 Thread kyukhin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71346

--- Comment #1 from Kirill Yukhin  ---
Created attachment 38598
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38598=edit
Reproducer

[Bug target/71346] [AVX-512] AVX-512VL insn emitted when it is disabled

2016-05-30 Thread kyukhin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71346

Kirill Yukhin  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2016-05-30
   Assignee|unassigned at gcc dot gnu.org  |kyukhin at gcc dot 
gnu.org
 Ever confirmed|0   |1

[Bug target/71346] New: [AVX-512] AVX-512VL insn emitted when it is disabled

2016-05-30 Thread kyukhin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71346

Bug ID: 71346
   Summary: [AVX-512] AVX-512VL insn emitted when it is disabled
   Product: gcc
   Version: 7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: kyukhin at gcc dot gnu.org
  Target Milestone: ---

Testcase attached.
Started from Jakub's r235968.

Reproduce:
./cc1  1.c -dp -m64 -march=knl -Ofast   -quiet -o repro.s 2>/dev/null ; cat
repro.s |grep shufps |grep xmm17

Those insns belong to AVX-512VL:
vshufps$255, %xmm15, %xmm15, %xmm17# 680  
sse_shufps_v4sf/2   [length = 7]
vshufps$85, %xmm12, %xmm12, %xmm17 # 682  
sse_shufps_v4sf/2   [length = 7]

[Bug tree-optimization/71264] [4.9/5/6 Regression] ICE in convert_move

2016-05-30 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71264

Rainer Orth  changed:

   What|Removed |Added

 CC||ro at gcc dot gnu.org

--- Comment #8 from Rainer Orth  ---
Created attachment 38597
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38597=edit
sparc pr71264.c.147t.vect

The new test FAILs on sparc*-sun-solaris*:

FAIL: gcc.dg/vect/pr71264.c -flto -ffat-lto-objects  scan-tree-dump vect
"vectorized 1 loops in function"
FAIL: gcc.dg/vect/pr71264.c scan-tree-dump vect "vectorized 1 loops in
function"

Dump attached.

  Rainer

[Bug fortran/71156] PURE interface/definition inconsistency: accepts invalid, rejects valid

2016-05-30 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71156

--- Comment #5 from Dominique d'Humieres  ---
With the patch in comment 3, compiling the test

module my_interface
  implicit none
  interface
module subroutine f
end subroutine
  end interface
end module 

submodule(my_interface) my_implementation
  implicit none
contains
elemental module subroutine f
end subroutine
end submodule

gives the misleading error

 elemental module subroutine f
 1
Error: Mismatch in PURE attribute between MODULE PROCEDURE at (1) and its
interface in my_interface

[Bug c/71345] New: Warn about redundant conditions

2016-05-30 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71345

Bug ID: 71345
   Summary: Warn about redundant conditions
   Product: gcc
   Version: 7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: mpolacek at gcc dot gnu.org
  Target Milestone: ---

Perhaps we could/should warn for

int
foo (char c)
{
  if (c != '\0' && c == 'f')
return 50; 
  return 5;
}

Here, the first condition seems redundant.

[Bug target/71344] New: [RL78] Really bad register allocation/utilization

2016-05-30 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71344

Bug ID: 71344
   Summary: [RL78] Really bad register allocation/utilization
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: olegendo at gcc dot gnu.org
  Target Milestone: ---
Target: rl78-*-*

Compiling the following code for -mcpu=g10 -O2

char* test_00 (char* p)
{
  int r = 0;
  r |= p[0];
  r |= p[1];
  r |= p[2];
  r |= p[-1];
  p[3] = r;
  return p + 3;
}

results in:

__Z7test_00Pc:
movwax, [sp+4]
movwr8, ax
movwde, ax
movwhl, ax
mov a, [de]
or  a, [hl+1]
mov r10, a
movwhl, r8
mov a, [hl+2]
or  a, r10
mov r10, a
movwbc, r8
movwax, r8
decwax
movwhl, ax
mov a, [hl]
or  a, r10
mov 3[bc], a
movwax, r8
addwax, #3
movwr8, ax
ret(total 39 bytes)


I think the minimal version would be:
movwax,[sp+4]
movwhl,ax
mov a,[hl]
or  a,[hl+1]
or  a,[hl+2]
decwhl
or  a,[hl]
mov [hl+4],a
movwax,#3
addwax,hl
movwr8,ax
ret(total 19 bytes)

[Bug lto/69271] LTO drops weak binding from aliases

2016-05-30 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69271

--- Comment #8 from Jan Hubicka  ---
Ok, compiling:
int bar = 0;
extern int bar_alias __attribute__((weak, alias("bar")));
main()
{
  printf ("%i %i\n",bar,bar_alias);
}

as a static library leads to no dynamic relocations, but compiling as shared we
get bar_alias still declared weak which affects the dynamic linking (because it
can be replaced by strong definition which come later in the linking process).
So all we need to do is to avoid turning WEAK to non-WEAK for non-hidden
symbols when building with PIC?

[Bug c/71287] Possibly broken invocation of connect (and maybe other) syscalls

2016-05-30 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71287

Marek Polacek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2016-05-30
 CC||mpolacek at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Marek Polacek  ---
We'll need a preprocessed source file, see https://gcc.gnu.org/bugs/.  Also GCC
4.8 is not supported anymore.

[Bug c++/71238] Undeclared function message imprecisely points to error column

2016-05-30 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71238

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2016-05-30
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com
 Ever confirmed|0   |1

--- Comment #1 from Paolo Carlini  ---
Mine.

[Bug tree-optimization/71335] [7 Regression] wrong code at -O2 and -O3 in 32-bit and 64-bit modes on x86_64-linux-gnu

2016-05-30 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71335

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek  ---
Indeed, this regressed with r236831.

[Bug middle-end/70992] Infinite recursion between fold_build2_stat_loc and fold_binary_loc w/ -fwrapv

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70992

--- Comment #3 from Richard Biener  ---
The bad recursion happens between extract_muldiv_1

  /* The last case is if we are a multiply.  In that case, we can
 apply the distributive law to commute the multiply and addition
 if the multiplication of the constants doesn't overflow
 and overflow is defined.  With undefined overflow
 op0 * c might overflow, while (op0 + orig_op1) * c doesn't.  */
  if (code == MULT_EXPR && TYPE_OVERFLOW_WRAPS (ctype))
return fold_build2 (tcode, ctype,
fold_build2 (code, ctype,
 fold_convert (ctype, op0),
 fold_convert (ctype, c)),
op1);

which does (0 % 0 + 1) * 2 -> (0 % 0) * 2 + 2 and the reverse transformation
fold_plusminus_mult_expr does.

[Bug libstdc++/66338] std::forward_as_tuple() issue with single argument

2016-05-30 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66338

--- Comment #11 from Ville Voutilainen  ---
I don't see how any of that code or the failure is in any way related to
std::tuple...

[Bug bootstrap/71292] Bootstrap failure with segfault in tree-reassoc.c

2016-05-30 Thread kugan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71292

--- Comment #5 from kugan at gcc dot gnu.org ---
Author: kugan
Date: Mon May 30 10:47:57 2016
New Revision: 236876

URL: https://gcc.gnu.org/viewcvs?rev=236876=gcc=rev
Log:
gcc/testsuite/ChangeLog:

2016-05-30  Kugan Vivekanandarajah  

PR middle-end/71269
PR middle-end/71292
* gcc.dg/tree-ssa/pr71269.c: New test.
* gcc.dg/tree-ssa/pr71292.c: New test.

gcc/ChangeLog:

2016-05-30  Kugan Vivekanandarajah  

PR middle-end/71269
PR middle-end/71252
* tree-ssa-reassoc.c (insert_stmt_before_use): Use find_insert_point so
that inserted stmt will not dominate stmts that defines its operand.
(rewrite_expr_tree): Add stmt_to_insert before adding the use stmt.
(rewrite_expr_tree_parallel): Likewise.


Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr71269.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr71292.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-reassoc.c

[Bug tree-optimization/71252] [7 Regression] ICE: verify_ssa failed : definition in block 7 does not dominate use in block 6

2016-05-30 Thread kugan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71252

--- Comment #22 from kugan at gcc dot gnu.org ---
Author: kugan
Date: Mon May 30 10:47:57 2016
New Revision: 236876

URL: https://gcc.gnu.org/viewcvs?rev=236876=gcc=rev
Log:
gcc/testsuite/ChangeLog:

2016-05-30  Kugan Vivekanandarajah  

PR middle-end/71269
PR middle-end/71292
* gcc.dg/tree-ssa/pr71269.c: New test.
* gcc.dg/tree-ssa/pr71292.c: New test.

gcc/ChangeLog:

2016-05-30  Kugan Vivekanandarajah  

PR middle-end/71269
PR middle-end/71252
* tree-ssa-reassoc.c (insert_stmt_before_use): Use find_insert_point so
that inserted stmt will not dominate stmts that defines its operand.
(rewrite_expr_tree): Add stmt_to_insert before adding the use stmt.
(rewrite_expr_tree_parallel): Likewise.


Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr71269.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr71292.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-reassoc.c

[Bug middle-end/71269] [7 Regression] segfault while compiling sqlite

2016-05-30 Thread kugan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71269

--- Comment #16 from kugan at gcc dot gnu.org ---
Author: kugan
Date: Mon May 30 10:47:57 2016
New Revision: 236876

URL: https://gcc.gnu.org/viewcvs?rev=236876=gcc=rev
Log:
gcc/testsuite/ChangeLog:

2016-05-30  Kugan Vivekanandarajah  

PR middle-end/71269
PR middle-end/71292
* gcc.dg/tree-ssa/pr71269.c: New test.
* gcc.dg/tree-ssa/pr71292.c: New test.

gcc/ChangeLog:

2016-05-30  Kugan Vivekanandarajah  

PR middle-end/71269
PR middle-end/71252
* tree-ssa-reassoc.c (insert_stmt_before_use): Use find_insert_point so
that inserted stmt will not dominate stmts that defines its operand.
(rewrite_expr_tree): Add stmt_to_insert before adding the use stmt.
(rewrite_expr_tree_parallel): Likewise.


Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr71269.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr71292.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-reassoc.c

[Bug libstdc++/66338] std::forward_as_tuple() issue with single argument

2016-05-30 Thread krebbel at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66338

Andreas Krebbel  changed:

   What|Removed |Added

 CC||krebbel at gcc dot gnu.org

--- Comment #10 from Andreas Krebbel  ---
(In reply to ville from comment #9)
> Author: ville
> Date: Fri May 27 14:08:37 2016
> New Revision: 236822
> 
> URL: https://gcc.gnu.org/viewcvs?rev=236822=gcc=rev
> Log:
> 2016-05-24  Ville Voutilainen  
> 
>   PR libstdc++/66338
>   * include/std/tuple (_TMC): Add a check for _NotSameTuple.
>   * include/std/tuple (tuple(_UElements&&...)): Remove the separate
>   check for _NotSameTuple.
>   * include/std/tuple (_TMCT): New.
>   * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
>   * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
>   * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
> const tuple<_UElements...>&)): Likewise.
>   * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
> tuple<_UElements...>&&)): Likewise.
>   * testsuite/20_util/tuple/cons/66338.cc: New.

S/390 32 bit bootstrap appears to fail in stage 2 starting with that change:

In file included from /home/andreas/clean/../gcc/gcc/config/s390/s390.c:41:0:
/home/andreas/clean/../gcc/gcc/recog.h: In function 'rtx_def*
s390_expand_builtin(tree, rtx, rtx, machine_mode, int)':
/home/andreas/clean/../gcc/gcc/recog.h:306:136: error: 'op[5]' may be used
uninitialized in this function [-Werror=maybe-uninitialized]
   rtx_insn * operator () (rtx a0, rtx a1, rtx a2, rtx a3, rtx a4, rtx a5, rtx
a6) const { return ((f7)func) (a0, a1, a2, a3, a4, a5, a6); }
   
^
/home/andreas/clean/../gcc/gcc/config/s390/s390.c:799:7: note: 'op[5]' was
declared here
   rtx op[MAX_ARGS], pat;
   ^~

[Bug tree-optimization/71252] [7 Regression] ICE: verify_ssa failed : definition in block 7 does not dominate use in block 6

2016-05-30 Thread kugan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71252

--- Comment #21 from kugan at gcc dot gnu.org ---
Author: kugan
Date: Mon May 30 10:45:19 2016
New Revision: 236875

URL: https://gcc.gnu.org/viewcvs?rev=236875=gcc=rev
Log:
gcc/ChangeLog:

2016-05-30  Kugan Vivekanandarajah  

PR middle-end/71252
* tree-ssa-reassoc.c (swap_ops_for_binary_stmt): Fix swap such that
all fields including stmt_to_insert are swapped.


gcc/testsuite/ChangeLog:

2016-05-30  Kugan Vivekanandarajah  

PR middle-end/71252
* gcc.dg/tree-ssa/pr71252-2.c: New test.


Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr71252-2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-reassoc.c

[Bug c++/71330] [6/7 Regression] Compile time regression

2016-05-30 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71330

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||trippels at gcc dot gnu.org

--- Comment #6 from Markus Trippelsdorf  ---
(In reply to Richard Biener from comment #5)
> can't make callgraph support work so not other useful information.

You'll have to build gcc with -fno-omit-frame-pointer to make it work, see:
https://gcc.gnu.org/wiki/Perf_Callgraph

[Bug tree-optimization/71343] missed optimization (can't "prove" shift and multiplication equivalence)

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71343

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-05-30
  Component|rtl-optimization|tree-optimization
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
Confirmed and eventually not helped by factoring *4 early:

  return (a << 2) + (b << 2) == (a + b) * 4;

adjusted testcase for that:

unsigned int test12(unsigned int a , unsigned int b)
{
  unsigned int tem1 = a * 4;
  unsigned int tem2 = b * 4;
  return ((a << 2) + (b << 2)) ==  tem1 + tem2;
}

also fails to optimize.  In the end this is a missed canonicalization though
semantically shifts are not always equal to multiplication (they are for
unsigned arithmetic).

CSE could also handle this (it also "fails" to handle x + x as x * 2, but we
canonicalize that now).

I'd say the multiplication is canonical here.

We do optimize

unsigned int test12(unsigned int a , unsigned int b)
{
  unsigned int tem1 = a / 4;
  unsigned int tem2 = b / 4;
  return ((a >> 2) + (b >> 2)) ==  tem1 + tem2;
}

but pretty late in DOM2.  VRP1 is replacing the division by a shift.

[Bug tree-optimization/71323] [7 Regression] ice in verify_ssa failed

2016-05-30 Thread kugan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71323

kugan at gcc dot gnu.org changed:

   What|Removed |Added

 CC||kugan at gcc dot gnu.org

--- Comment #2 from kugan at gcc dot gnu.org ---
Duplicate of PR71252. Patch posted in
https://gcc.gnu.org/ml/gcc-patches/2016-05/msg02298.html fixes this.

[Bug rtl-optimization/71343] New: missed optimization (can't "prove" shift and multiplication equivalence)

2016-05-30 Thread SztfG at yandex dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71343

Bug ID: 71343
   Summary: missed optimization (can't "prove" shift and
multiplication equivalence)
   Product: gcc
   Version: 6.2.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: SztfG at yandex dot ru
  Target Milestone: ---

this function

unsigned int test12(unsigned int a , unsigned int b)
{
  return ((a << 2) + (b << 2)) ==  a * 4 + b * 4;
}

cannot be reduced to "return 1;". Maybe here
https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/simplify-rtx.c?view=markup=232689#l2118
needs to add something?

https://godbolt.org/g/vcEqe7 - here clang and ICC is able to reduce this, but
not gcc

[Bug tree-optimization/71341] [7 Regression] ICE at -O2 and -O3 in 32-bit and 64-bit modes on x86_64-linux-gnu (Segmentation fault, duplicate_thread_path)

2016-05-30 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71341

Marek Polacek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-05-30
 CC||mpolacek at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Marek Polacek  ---
Confirmed.

[Bug tree-optimization/71328] [7 Regression] ice in verify_jump_thread

2016-05-30 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71328

Marek Polacek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-05-30
 CC||mpolacek at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Marek Polacek  ---
Confirmed.

[Bug tree-optimization/71323] [7 Regression] ice in verify_ssa failed

2016-05-30 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71323

Marek Polacek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-05-30
 CC||mpolacek at gcc dot gnu.org
  Component|c   |tree-optimization
   Target Milestone|--- |7.0
Summary|ice in verify_ssa failed|[7 Regression] ice in
   ||verify_ssa failed
 Ever confirmed|0   |1

--- Comment #1 from Marek Polacek  ---
Started with r236619.  Doesn't seem like a dup of one of the other existing
verify_ssa PRs.

[Bug tree-optimization/71341] [7 Regression] ICE at -O2 and -O3 in 32-bit and 64-bit modes on x86_64-linux-gnu (Segmentation fault, duplicate_thread_path)

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71341

Richard Biener  changed:

   What|Removed |Added

 CC||law at gcc dot gnu.org
   Target Milestone|--- |7.0
Summary|ICE at -O2 and -O3 in   |[7 Regression] ICE at -O2
   |32-bit and 64-bit modes on  |and -O3 in 32-bit and
   |x86_64-linux-gnu|64-bit modes on
   |(Segmentation fault,|x86_64-linux-gnu
   |duplicate_thread_path)  |(Segmentation fault,
   ||duplicate_thread_path)

[Bug c++/71330] [6/7 Regression] Compile time regression

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71330

--- Comment #5 from Richard Biener  ---
perf reports (release checking and optimized compiler):

Samples: 6M of event 'cycles', Event count (approx.): 5948147232538 
 35.46%  cc1plus  cc1plus[.] walk_tree_1(tree_node**, tree_node*
(*)
 33.17%  cc1plus  cc1plus[.] cp_fold(tree_node*)
 21.46%  cc1plus  cc1plus[.] cp_walk_subtrees(tree_node**, int*,
tre
  9.66%  cc1plus  cc1plus[.] cp_fold_r(tree_node**, int*, void*)

can't make callgraph support work so not other useful information.

[Bug c/71255] Implement #pragma may_alias

2016-05-30 Thread fw at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71255

--- Comment #20 from Florian Weimer  ---
(In reply to rguent...@suse.de from comment #19)
> On Fri, 27 May 2016, fw at gcc dot gnu.org wrote:
> 
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71255
> > 
> > --- Comment #18 from Florian Weimer  ---
> > (In reply to rguent...@suse.de from comment #17)
> > > On Fri, 27 May 2016, fw at gcc dot gnu.org wrote:
> > > > I think the real question is whether it matters anywhere if a pointer 
> > > > to an
> > > > incomplete struct has the may_alias attribute or not.
> > > 
> > > As we can't dereference it it doesn't matter I think.
> > 
> > Does a cast discard the may_alias status from a pointer?
> 
> Yes.

Thanks for your answers.  Then I agree there shouldn't be a problem with just
fixing the warnings and compilation failures, so that we can apply attribute
may_alias to the struct definition.

[Bug tree-optimization/69068] [6/7 Regression] ICE in bb_contains_loop_phi_nodes, at graphite-isl-ast-to-gimple.c:1279

2016-05-30 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69068

vries at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||patch
 CC||vries at gcc dot gnu.org

--- Comment #7 from vries at gcc dot gnu.org ---
https://gcc.gnu.org/ml/gcc-patches/2016-05/msg02312.html

[Bug sanitizer/68042] [6 Regression] c-c++-common/asan/(memcmp-1.c|sanity-check-pure-c-1.c) failures on x86_64-apple-darwin14 after r229111

2016-05-30 Thread dominiq at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68042

--- Comment #8 from dominiq at gcc dot gnu.org ---
Author: dominiq
Date: Mon May 30 09:26:09 2016
New Revision: 236873

URL: https://gcc.gnu.org/viewcvs?rev=236873=gcc=rev
Log:
2016-05-30  Dominique d'Humieres  

Backport from trunk.
2015-10-23  Maxim Ostapenko  

PR sanitizer/68042
* c-c++-common/asan/sanity-check-pure-c-1.c: Adjust test
to pass on Darwin.


Modified:
branches/gcc-5-branch/gcc/testsuite/ChangeLog
   
branches/gcc-5-branch/gcc/testsuite/c-c++-common/asan/sanity-check-pure-c-1.c

[Bug target/71342] New: [RL78] set1 / clr1 with !addr16 sometimes doesn't work

2016-05-30 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71342

Bug ID: 71342
   Summary: [RL78] set1 / clr1 with !addr16 sometimes doesn't work
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: olegendo at gcc dot gnu.org
  Target Milestone: ---
Target: rl78-elf

While this 

void test_0 (void)
{
  volatile uint8_t* p = (volatile uint8_t*)0xFFFE8;
  volatile uint8_t* u = (volatile uint8_t*)0xFFFE4;

  p[0] = (p[0] & ~(1 << 4)) | (1 << 4);
  p[1] = (p[1] & ~(1 << 4)) | (0 << 4);
  u[0] = u[0] | (1 << 6);
}

compiles to the expected code:
set1!-24.4
clr1!-23.4
set1!-28.6
ret


... adding a few more of those insns makes it bail out:

void __attribute__((used)) test_1 (void)
{
  volatile uint8_t* p = (volatile uint8_t*)0xFFFE8;
  volatile uint8_t* u = (volatile uint8_t*)0xFFFE4;

  p[0] = (p[0] & ~(1 << 4)) | (1 << 4);
  p[1] = (p[1] & ~(1 << 4)) | (0 << 4);
  u[0] = u[0] | (1 << 6);

  p[0] = (p[0] & ~(1 << 5)) | (1 << 5);
  p[1] = (p[1] & ~(1 << 5)) | (0 << 5);
  u[0] = u[0] | (1 << 7);
}


movwr12, #-24
movwax, r12
movwhl, ax
set1[hl].4
movwr10, #-23
movwax, r10
movwhl, ax
clr1[hl].4
movwr8, #-28
movwax, r8
movwhl, ax
set1[hl].6
movwax, r12
movwhl, ax
set1[hl].5
movwax, r10
movwhl, ax
clr1[hl].5
movwax, r8
movwhl, ax
set1[hl].7
ret


So instead of 25 bytes we get 43 bytes of code ...

[Bug c++/71330] [6/7 Regression] Compile time regression

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71330

Richard Biener  changed:

   What|Removed |Added

   Keywords||compile-time-hog
Summary|[6 Regression] Compile time |[6/7 Regression] Compile
   |regression  |time regression
  Known to fail||7.0

--- Comment #4 from Richard Biener  ---
It's parsing:

 phase parsing   :1657.92 (100%) usr   1.22 (99%) sys1657.88 (100%)
wall   33964 kB (88%) ggc
 TOTAL :1657.98 1.23  1658.21 
38400 kB

(did't run to the end with GCC 7 but it certainly is not back to GCC 5 speeds)

[Bug tree-optimization/71335] [7 Regression] wrong code at -O2 and -O3 in 32-bit and 64-bit modes on x86_64-linux-gnu

2016-05-30 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71335

Jan Hubicka  changed:

   What|Removed |Added

 CC||law at redhat dot com

--- Comment #2 from Jan Hubicka  ---
The return goes away in thread1 pass.  Before:

main ()
{
  int b;
  int a.0_1;

  :

  :
  # b_3 = PHI <0(2), 9(4), 9(3)>
  a.0_1 = a;
  if (a.0_1 < 0)
goto ;
  else
goto ;

  :
  if (b_3 != 0)
goto ;
  else
goto ;

  :
  return 0;

}

after:

main ()
{
  int b;
  int a.0_1;
  int a.0_8;

  :

  :
  # b_3 = PHI <0(2), 9(4), 9(3)>
  a.0_1 = a;
  if (a.0_1 < 0)
goto ;
  else
goto ;

  :
  # b_4 = PHI <9(3)>
  a.0_8 = a;
  goto ;

}

The first code still is finite: a is 0 and thus it should execute
BB2->BB3 (b_3=0,a.0_1=0)->BB4->BB5.

Jeff, any idea?

[Bug rtl-optimization/71336] Suboptimal x86 code generated for "(a & 1) ? (CST1 + CST2) : CST1"

2016-05-30 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71336

--- Comment #3 from Jakub Jelinek  ---
I guess it could be useful even without lea.
Consider:
int test2 (int a) { return (a & 4) ? 385600 : 123456; }
We emit:
andl$4, %edi
cmpl$1, %edi
sbbl%eax, %eax
andl$-262144, %eax
addl$385600, %eax
We could change that to e.g.
andl$4, %edi
shll$16, %edi
movl%edi, %eax
orl $123456, %eax
All we care is that the comparison against zero has the other operand that has
at most one bit set in it (and we know which one, i.e. nonzero_bits must be
power of two), and that the diff in between the two values has also exactly one
bit set.

[Bug tree-optimization/71316] [7 regression] test case gcc.dg/tree-ssa/ssa-dom-thread-4.c fails starting with r236831

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71316

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |7.0

[Bug tree-optimization/71328] [7 Regression] ice in verify_jump_thread

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71328

Richard Biener  changed:

   What|Removed |Added

 CC||law at gcc dot gnu.org
  Component|c   |tree-optimization
   Target Milestone|--- |7.0
Summary|ice in verify_jump_thread   |[7 Regression] ice in
   ||verify_jump_thread

[Bug c++/71330] [6 Regression] Compile time regression

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71330

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-05-30
  Known to work||4.8.5, 5.3.0
   Target Milestone|--- |6.2
Summary|Compile time regression |[6 Regression] Compile time
   ||regression
 Ever confirmed|0   |1
  Known to fail||6.1.1

--- Comment #3 from Richard Biener  ---
Confirmed.

[Bug c++/71330] Compile time regression

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71330

--- Comment #2 from Richard Biener  ---
Created attachment 38596
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38596=edit
unincluded testcase

Unincluded testcase compiling with GCC 4.8+

[Bug tree-optimization/71335] wrong code at -O2 and -O3 in 32-bit and 64-bit modes on x86_64-linux-gnu

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71335

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1
 Status|UNCONFIRMED |NEW
Version|6.0 |7.0
   Keywords||wrong-code
   Last reconfirmed||2016-05-30
 CC||hubicka at gcc dot gnu.org
 Ever confirmed|0   |1
   Target Milestone|--- |7.0

--- Comment #1 from Richard Biener  ---
Confirmed.  Honza - this smells like your changes.

[Bug rtl-optimization/71336] Suboptimal x86 code generated for "(a & 1) ? (CST1 + CST2) : CST1"

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71336

Richard Biener  changed:

   What|Removed |Added

   Keywords||missed-optimization
 Target||x86_64-*-*, i?86-*-*
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-05-30
  Component|target  |rtl-optimization
 Ever confirmed|0   |1

[Bug tree-optimization/69067] [6/7 Regression] ICE in get_def_bb_for_const, at graphite-isl-ast-to-gimple.c:1995

2016-05-30 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69067

vries at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Assignee|unassigned at gcc dot gnu.org  |vries at gcc dot gnu.org

--- Comment #6 from vries at gcc dot gnu.org ---
patch with testcase committed to trunk, 6 branch. Marking resolved-fixed.

[Bug target/71336] Suboptimal x86 code generated for "(a & 1) ? (CST1 + CST2) : CST1"

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71336

--- Comment #2 from Richard Biener  ---
  :
  _1 = a_3(D) & 1;
  if (_1 != 0)
goto ;
  else
goto ;

  :

  :
  # iftmp.0_2 = PHI <7(2), 3(3)>

$op requests

  iftmp.0_2 = _1 * 4;
  _3 = iftmp.0_2 + 3;

I can see how this is profitable only on targets that can do sth like lea,
thus RTL optimization.  GIMPLE might aide here by (always?) using
a COND_EXPR for PHIs with args all defined in the condition block or earlier
(that is, empty BBs feeding the PHI).

[Bug libstdc++/71135] rl78-elf libstdc++ FTBFS with some multilibs

2016-05-30 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71135

Oleg Endo  changed:

   What|Removed |Added

 CC||olegendo at gcc dot gnu.org

--- Comment #6 from Oleg Endo  ---
Another quick work around:

Index: libstdc++-v3/src/c++11/cow-stdexcept.cc
===
--- libstdc++-v3/src/c++11/cow-stdexcept.cc (revision 236867)
+++ libstdc++-v3/src/c++11/cow-stdexcept.cc (working copy)
@@ -271,13 +271,17 @@

 static void* txnal_read_ptr(void* const * ptr)
 {
+/*
   static_assert(sizeof(uint64_t) == sizeof(void*)
|| sizeof(uint32_t) == sizeof(void*),
"Pointers must be 32 bits or 64 bits wide");
+*/
 #if __UINTPTR_MAX__ == __UINT64_MAX__
   return (void*)_ITM_RU8((const uint64_t*)ptr);
+#elif __UINTPTR_MAX__ == __UINT32_MAX__
+  return (void*)_ITM_RU4((const uint32_t*)ptr);
 #else
-  return (void*)_ITM_RU4((const uint32_t*)ptr);
+  return *ptr;
 #endif
 }

[Bug tree-optimization/69067] [6/7 Regression] ICE in get_def_bb_for_const, at graphite-isl-ast-to-gimple.c:1995

2016-05-30 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69067

--- Comment #5 from vries at gcc dot gnu.org ---
Author: vries
Date: Mon May 30 08:05:10 2016
New Revision: 236869

URL: https://gcc.gnu.org/viewcvs?rev=236869=gcc=rev
Log:
backport "Remove assert in get_def_bb_for_const"

2016-05-30  Tom de Vries  

backport:
2016-05-30  Tom de Vries  

PR tree-optimization/69067
* graphite-isl-ast-to-gimple.c (get_def_bb_for_const): Remove assert.

* gcc.dg/graphite/pr69067.c: New test.

Added:
branches/gcc-6-branch/gcc/testsuite/gcc.dg/graphite/pr69067.c
Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/graphite-isl-ast-to-gimple.c
branches/gcc-6-branch/gcc/testsuite/ChangeLog

[Bug target/71336] Suboptimal x86 code generated for "(a & 1) ? (CST1 + CST2) : CST1"

2016-05-30 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71336

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org,
   ||uros at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek  ---
The problem is that this is done usually during the ce* passes in a target
movcc expander, but unfortunately that expander doesn't know if the
comparison operand has just a single bit set (and which one).  For that query
the most natural predicate would be nonzero_bits, but only the combiner pass
has infrastructure to track non-zero bits in between different instructions.
The ce* passes don't even compute a reaching defs df problem nor ud chains,
though perhaps the ce* pass just could walk a few insns backwards looking for
unconditional setter of the pseudo in the comparison (it would only work then
if the masking is done right before comparison though).

[Bug tree-optimization/71341] New: ICE at -O2 and -O3 in 32-bit and 64-bit modes on x86_64-linux-gnu (Segmentation fault, duplicate_thread_path)

2016-05-30 Thread chengniansun at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71341

Bug ID: 71341
   Summary: ICE at -O2 and -O3 in 32-bit and 64-bit modes on
x86_64-linux-gnu (Segmentation fault,
duplicate_thread_path)
   Product: gcc
   Version: 7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: chengniansun at gmail dot com
  Target Milestone: ---

The following code crashes the trunk at -O2 and -O3 in 32-bit and 64-bit modes
on x86_64-linux-gnu.


$: gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc-source-trunk/configure --enable-languages=c,c++,lto
--prefix=/usr/local/gcc-trunk --disable-bootstrap
Thread model: posix
gcc version 7.0.0 20160529 (experimental) [trunk revision 236861] (GCC) 
$: gcc-trunk -O2 small.c
small.c: In function ‘fn1’:
small.c:5:6: internal compiler error: Segmentation fault
 void fn1() {
  ^~~
0xbbc95f crash_signal
../../gcc-source-trunk/gcc/toplev.c:333
0xdbffac duplicate_thread_path
../../gcc-source-trunk/gcc/tree-ssa-threadupdate.c:2348
0xdbffac thread_through_all_blocks(bool)
../../gcc-source-trunk/gcc/tree-ssa-threadupdate.c:2496
0xdb8bee execute
../../gcc-source-trunk/gcc/tree-ssa-threadbackward.c:686
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See  for instructions.
$: cat small.c
struct S3 {
  char f0;
};
int a, b;
void fn1() {
  struct S3 c = {1};
  while (!c.f0 || a) {
c.f0 = 0;
for (; c.f0; c.f0 = b)
  ;
  }
}

int main() {}
$:

[Bug tree-optimization/69067] [6/7 Regression] ICE in get_def_bb_for_const, at graphite-isl-ast-to-gimple.c:1995

2016-05-30 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69067

--- Comment #4 from vries at gcc dot gnu.org ---
Author: vries
Date: Mon May 30 07:49:42 2016
New Revision: 236868

URL: https://gcc.gnu.org/viewcvs?rev=236868=gcc=rev
Log:
Remove assert in get_def_bb_for_const

2016-05-30  Tom de Vries  

PR tree-optimization/69067
* graphite-isl-ast-to-gimple.c (get_def_bb_for_const): Remove assert.

* gcc.dg/graphite/pr69067.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/graphite/pr69067.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/graphite-isl-ast-to-gimple.c
trunk/gcc/testsuite/ChangeLog

[Bug web/60933] Please do not advertise outdated version of gmp, mpfr, mpc

2016-05-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60933

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #14 from Richard Biener  ---
Fixed.

[Bug web/60933] Please do not advertise outdated version of gmp, mpfr, mpc

2016-05-30 Thread andreas.enge at inria dot fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60933

--- Comment #13 from Andreas  ---
Indeed, contrib/download_prerequisites now points to the latest versions of
gmp, mpfr and mpc. Thanks!

It would be nice if you could keep this up to date with our next releases; we
will be happy to work together should any problems occur.

Andreas

[Bug ada/71317] Compiling gnat for rtems fails at s-taprop.adb

2016-05-30 Thread soja-lists at aries dot uberspace.de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71317

--- Comment #2 from Jan Sommer  ---
It's an undefined reference to clock_getres and warnings that there are
multiple definitions in Get_Page_Size.

I submitted a patch which adds the clock_getres declaration and fixes the
Get_Page_Size declaration to be like in other s-osinte-*.ads files.

See: https://www.mail-archive.com/gcc-patches@gcc.gnu.org/msg139987.html

[Bug target/71340] New: [RL78] -m64bit-doubles option is documented but not present

2016-05-30 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71340

Bug ID: 71340
   Summary: [RL78] -m64bit-doubles option is documented but not
present
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: olegendo at gcc dot gnu.org
CC: dj at redhat dot com, nickc at redhat dot com
  Target Milestone: ---
Target: rl78-elf

The 64bit-doubles option has been added in this thread:
https://gcc.gnu.org/ml/gcc-patches/2014-05/msg00731.html

But somehow the actual functionality didn't get committed, it seems.  Only the
documentation is present but the options are not.

  1   2   >