[Bug c++/76911] internal compiler segfault on illegal implicit cast to decimal64

2016-08-17 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=76911

Martin Liška  changed:

   What|Removed |Added

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

--- Comment #4 from Martin Liška  ---
I can confirm that 6.1.0 really ICEs, however the bug was fixed by r236395.
Thus all active branches are fine. Closing as resolved.

[Bug libfortran/77278] New: Use LTO for libgfortran

2016-08-17 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77278

Bug ID: 77278
   Summary: Use LTO for libgfortran
   Product: gcc
   Version: 7.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: libfortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: tkoenig at gcc dot gnu.org
  Target Milestone: ---

In order to aid optimization, it could be beneficial to
build libgfortran as an lto-enabled library. There could be
a big win for functions being called via constant propagation,
especially for I/O and array operations.

With I/O, checking for large number of options at runtime could
be avoided.  Array operations could profit from cases where arrays
are contiguous, when the library needs to take non-contiguous cases
into account.

Some discussion starts here.

https://gcc.gnu.org/ml/fortran/2016-08/msg00069.html

What has been done so far to identify potential problems
was to manually add -flto -ffat-lto-objects to the Makefile
in libgfortran and compile a simple program with -flto.

This led to error messages like

lto1: warning: type of '_gfortran_st_write' does not match original declaration
[-Wlto-type-mismatch] ../../../trunk/libgfortran/io/transfer.c:3746:1: note:
'st_write' was previously declared here
../../../trunk/libgfortran/io/transfer.c:3746:1: note: code may be misoptimized
unless -fno-strict-aliasing is used

so there is likely work to do on the library side and on the LTO side.

[Bug c/70250] Compilation hangs without optimization.

2016-08-17 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70250

Marek Polacek  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 CC||mpolacek at gcc dot gnu.org
 Resolution|--- |INVALID

--- Comment #4 from Marek Polacek  ---
GCC 4.9 is now out of support and I cannot reproduce with GCC 5, so closing.

[Bug tree-optimization/23855] loop header should also be pulled out of the inner loop too

2016-08-17 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=23855

--- Comment #31 from Richard Biener  ---
Author: rguenth
Date: Wed Aug 17 08:11:32 2016
New Revision: 239523

URL: https://gcc.gnu.org/viewcvs?rev=239523&root=gcc&view=rev
Log:
2016-08-17  Richard Biener  

PR tree-optimization/23855
* tree-ssa-loop-unswitch.c: Include tree-ssa-loop-manip.h.
(tree_unswitch_outer_loop): Iterate find_loop_guard as long as we
find guards to hoist.  Do not update SSA form but rewrite virtuals
into loop closed SSA.
(find_loop_guard): Adjust to skip already hoisted guards.  Do
not mark virtuals for renaming or update SSA form.

* gcc.dg/loop-unswitch-2.c: Adjust.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/loop-unswitch-2.c
trunk/gcc/tree-ssa-loop-unswitch.c

[Bug tree-optimization/23855] loop header should also be pulled out of the inner loop too

2016-08-17 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=23855

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #32 from Richard Biener  ---
Fixed fully for GCC 7.

[Bug tree-optimization/23970] loop-invariant-motion is not doing it's work

2016-08-17 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=23970
Bug 23970 depends on bug 23855, which changed state.

Bug 23855 Summary: loop header should also be pulled out of the inner loop too
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=23855

   What|Removed |Added

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

[Bug tree-optimization/60042] vectorizer still does too many dependence tests for himeno:jacobi

2016-08-17 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60042
Bug 60042 depends on bug 23855, which changed state.

Bug 23855 Summary: loop header should also be pulled out of the inner loop too
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=23855

   What|Removed |Added

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

[Bug c++/71665] [5/6 Regression] ICE on invalid C++ code with non-integral constant enumerator value: in cxx_eval_constant_expression, at cp/constexpr.c:3918

2016-08-17 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71665

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 #7 from Paolo Carlini  ---
The testcase doesn't cause an ICE in release mode in the release branches,
thus, being this just an ICE on invalid, I'm not going to backport the fix. If
somebody really cares, can ask on gcc-patches if a tested backport is ok to go
in.

[Bug middle-end/71514] ICE on C11 code with atomic exchange at -O1 and above on x86_64-linux-gnu: in copy_reference_ops_from_ref, at tree-ssa-sccvn.c:879

2016-08-17 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71514

--- Comment #10 from Marek Polacek  ---
Ok, looking at the get_atomic_generic_size issue.

[Bug tree-optimization/52904] -Wstrict-overflow false alarm with bounded loop

2016-08-17 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52904

Richard Biener  changed:

   What|Removed |Added

   Keywords||xfail
 Status|RESOLVED|REOPENED
 Resolution|WORKSFORME  |---

--- Comment #13 from Richard Biener  ---
Re-opening because I am fixing a bug that makes the diagnostic re-appear (it
was "fixed" by a bug that caused us to meet [0, +INF] and [1, +INF(OVF)] as [0,
+INF]
rather than [0, +INF(OVF)]).

[Bug target/66488] segfault on sizeof(long) < sizeof(void*) and large GCC memory usage

2016-08-17 Thread jyong at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66488

--- Comment #13 from jyong at gcc dot gnu.org ---
Author: jyong
Date: Wed Aug 17 09:34:52 2016
New Revision: 239525

URL: https://gcc.gnu.org/viewcvs?rev=239525&root=gcc&view=rev
Log:
016-08-17  Stanislaw Halik  

PR target/66488
* config/i386/xm-mingw32.h (HOST_BITS_PER_PTR): Define if __x86_64__.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/xm-mingw32.h

[Bug c++/77279] New: build error in isl/ctx.h

2016-08-17 Thread alexee...@gaz-is.ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77279

Bug ID: 77279
   Summary: build error in isl/ctx.h
   Product: gcc
   Version: 6.1.0
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: alexee...@gaz-is.ru
  Target Milestone: ---

system: SLES 11 sp2 64bit
gcc: 4.3.0

Try to build gcc 6.1.0 from sources.
Get error:
.../isl/include/isl/ctx.h:83: error: comma at end of enumerator list

[Bug c++/77279] build error in isl/ctx.h

2016-08-17 Thread alexee...@gaz-is.ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77279

--- Comment #1 from Oleg.A  ---
correction: use gcc: 4.3.4

[Bug middle-end/77269] __builtin_isinf_sign does not work for __float128

2016-08-17 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77269

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-08-17
 Ever confirmed|0   |1

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

[Bug c++/77279] build error in isl/ctx.h

2016-08-17 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77279

Richard Biener  changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu.org

--- Comment #2 from Richard Biener  ---
It works with isl 0.16.1 for me (yes, download_prerequesites uses 0.15).

isl 0.15 has

typedef enum {
isl_stat_error = -1,
isl_stat_ok = 0,
} isl_stat;

at this point but that parses just fine for me with GCC 4.3.4.

I do remember seeing sth like this though.  Can you quote the full error
please?
Trying to reproduce on the branch head now.

[Bug c++/77279] build error in isl/ctx.h

2016-08-17 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77279

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-08-17
 Ever confirmed|0   |1

--- Comment #3 from Richard Biener  ---
Confirmed on branch head after ./download_prerequesites plus a simple
./configure && make.

g++ -std=gnu++98 -fno-PIE -c   -g -DIN_GCC -fno-exceptions -fno-rtti
-fasynchronous-unwind-tables -W -Wall -Wwrite-strings -Wcast-qual -Wno-format
-Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings -fno-common  -DHAVE_CONFIG_H -I.
-I. -I/space/rguenther/src/svn/gcc-6-branch/gcc
-I/space/rguenther/src/svn/gcc-6-branch/gcc/.
-I/space/rguenther/src/svn/gcc-6-branch/gcc/../include
-I/space/rguenther/src/svn/gcc-6-branch/gcc/../libcpp/include
-I/abuild/rguenther/obj/./gmp -I/space/rguenther/src/svn/gcc-6-branch/gmp
-I/abuild/rguenther/obj/./mpfr -I/space/rguenther/src/svn/gcc-6-branch/mpfr
-I/space/rguenther/src/svn/gcc-6-branch/mpc/src 
-I/space/rguenther/src/svn/gcc-6-branch/gcc/../libdecnumber
-I/space/rguenther/src/svn/gcc-6-branch/gcc/../libdecnumber/bid
-I../libdecnumber -I/space/rguenther/src/svn/gcc-6-branch/gcc/../libbacktrace
-I/abuild/rguenther/obj/./isl/include
-I/space/rguenther/src/svn/gcc-6-branch/isl/include  -o graphite.o -MT
graphite.o -MMD -MP -MF ./.deps/graphite.TPo
/space/rguenther/src/svn/gcc-6-branch/gcc/graphite.c
In file included from
/space/rguenther/src/svn/gcc-6-branch/isl/include/isl/options.h:14,
 from /space/rguenther/src/svn/gcc-6-branch/gcc/graphite.h:26,
 from /space/rguenther/src/svn/gcc-6-branch/gcc/graphite.c:55:
/space/rguenther/src/svn/gcc-6-branch/isl/include/isl/ctx.h:83: error: comma at
end of enumerator list
make[3]: *** [graphite.o] Error 1

for some reason we are adding -pedantic which triggers this.

Starting with GCC 4.4 (4.4.5 at least) this is only a warning.

[Bug c++/77279] build error in isl/ctx.h

2016-08-17 Thread alexee...@gaz-is.ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77279

--- Comment #4 from Oleg.A  ---
g++ -std=gnu++98 -fno-PIE -c   -g -DIN_GCC -fno-exceptions -fno-rtti
-fasynchronous-unwind-tables -W -Wall -Wwrite-strings -Wcast-qual -Wno-format
-Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings -fno-common  -DHAVE_CONFIG_H -I.
-I. -I../../gcc -I../../gcc/. -I../../gcc/../include
-I../../gcc/../libcpp/include -I/home/gis/gcc/gcc-6.1.0/build/./gmp
-I/home/gis/gcc/gcc-6.1.0/gmp -I/home/gis/gcc/gcc-6.1.0/build/./mpfr
-I/home/gis/gcc/gcc-6.1.0/mpfr -I/home/gis/gcc/gcc-6.1.0/mpc/src 
-I../../gcc/../libdecnumber -I../../gcc/../libdecnumber/bid -I../libdecnumber
-I../../gcc/../libbacktrace -I/home/gis/gcc/gcc-6.1.0/build/./isl/include
-I/home/gis/gcc/gcc-6.1.0/isl/include  -o graphite.o -MT graphite.o -MMD -MP
-MF ./.deps/graphite.TPo ../../gcc/graphite.c
In file included from /home/gis/gcc/gcc-6.1.0/isl/include/isl/options.h:14,
 from ../../gcc/graphite.h:26,
 from ../../gcc/graphite.c:55:
/home/gis/gcc/gcc-6.1.0/isl/include/isl/ctx.h:83: error: comma at end of
enumerator list
make[3]: *** [graphite.o] Error 1
make[3]: Leaving directory `/home/gis/gcc/gcc-6.1.0/build/gcc'
make[2]: *** [all-stage1-gcc] Error 2
make[2]: Leaving directory `/home/gis/gcc/gcc-6.1.0/build'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/home/gis/gcc/gcc-6.1.0/build'
make: *** [all] Error 2

[Bug middle-end/71514] ICE on C11 code with atomic exchange at -O1 and above on x86_64-linux-gnu: in copy_reference_ops_from_ref, at tree-ssa-sccvn.c:879

2016-08-17 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71514

--- Comment #11 from Marek Polacek  ---
Is it ok if I change the C FE to reject pointer-to-VLA and pointer-to-function
arguments for __atomic_*?

[Bug tree-optimization/76490] [5/6/7 Regression] when use -O2 -fcheck-founds compiler appears to hang and consumes all memory

2016-08-17 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=76490

--- Comment #6 from Richard Biener  ---
Author: rguenth
Date: Wed Aug 17 11:51:51 2016
New Revision: 239529

URL: https://gcc.gnu.org/viewcvs?rev=239529&root=gcc&view=rev
Log:
2016-08-17  Richard Biener  

PR tree-optimization/76490
* tree-vrp.c (update_value_range): Preserve overflow infinities
when intersecting with ranges from get_range_info.
(operand_less_p): Handle overflow infinities correctly.
(value_range_constant_singleton): Use vrp_operand_equal_p
to handle overflow max/min correctly.
(vrp_valueize): Likewise.
(union_ranges): Likewise.
(intersect_ranges): Likewise.
(vrp_visit_phi_node): Improve iteration limitation to only
apply when we'll possibly re-visit the PHI via a changed argument
on the backedge.

* gfortran.fortran-torture/compile/pr76490.f90: New testcase.
* gcc.dg/pr52904.c: XFAIL.

Added:
trunk/gcc/testsuite/gfortran.fortran-torture/compile/pr76490.f90
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/pr52904.c
trunk/gcc/tree-vrp.c

[Bug tree-optimization/76490] [5/6 Regression] when use -O2 -fcheck-founds compiler appears to hang and consumes all memory

2016-08-17 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=76490

Richard Biener  changed:

   What|Removed |Added

  Known to work||7.0
Summary|[5/6/7 Regression] when use |[5/6 Regression] when use
   |-O2 -fcheck-founds compiler |-O2 -fcheck-founds compiler
   |appears to hang and |appears to hang and
   |consumes all memory |consumes all memory
  Known to fail|7.0 |6.2.0

--- Comment #7 from Richard Biener  ---
Fixed on trunk sofar.

[Bug c++/77274] GCC uses copy constructor in member initializer list instead of simple initialization

2016-08-17 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77274

Jonathan Wakely  changed:

   What|Removed |Added

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

--- Comment #1 from Jonathan Wakely  ---
The copy can be optimized away, but the object still has to be copyable for
that to happen. If you delete the copy constructor it's not copyable.

[Bug c++/77274] GCC uses copy constructor in member initializer list instead of simple initialization

2016-08-17 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77274

--- Comment #2 from Jonathan Wakely  ---
See https://gcc.gnu.org/wiki/FAQ#copyelision

[Bug middle-end/77262] [7 regression] Several libjava tests FAIL on 32-bit Solaris/x86

2016-08-17 Thread ro at CeBiTec dot Uni-Bielefeld.DE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77262

--- Comment #4 from ro at CeBiTec dot Uni-Bielefeld.DE  ---
> --- Comment #3 from Dominique d'Humieres  ---
>> It's indeed suspicious that exactly the same set of tests is affected,
>> but my reghunt (and previous testresults) point at a totally different
>> patch.
>
> Well, I have r237556 reverted in my working tree to silence the failures. This
> revision only changes PRED_LOOP_EXIT.

I've now applied such a reversion to otherwise unmodifed top-of-tree and
the failures are gone just the same.  Very strange.

Rainer

[Bug libstdc++/77264] [7 Regression] std::string's replace gives wrong results with C++17, works with C++11

2016-08-17 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77264

--- Comment #7 from Jonathan Wakely  ---
Author: redi
Date: Wed Aug 17 13:38:52 2016
New Revision: 239532

URL: https://gcc.gnu.org/viewcvs?rev=239532&root=gcc&view=rev
Log:
PR 77264 constrain new std::basic_string overloads

PR libstdc++/77264
* include/bits/basic_string.h (operator=(__sv_type)
(append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
(replace(size_type, size_type, __sv_type))
(replace(const_iterator, const_iterator, __sv_type))
(find(__sv_type, size_type), rfind(__sv_type, size_type))
(compare(size_type, size_type, __sv_type)): Reformat.
(_If_sv): Define helper for SFINAE constaints.
(append(const _Tp&, size_type, size_type))
(assign(const _Tp&, size_type, size_type))
(insert(size_type, const _Tp&, size_type, size_type))
(replace(size_type, size_type, const _Tp&, size_type, size_type)):
Use _If_sv.
* testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
SFINAE constraints.
* testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
Likewise.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/basic_string.h
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/4.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/4.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/3.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/7.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/2.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc

[Bug c/77280] New: program using sizeof(array) fails after adding a statement with sizeof(array)

2016-08-17 Thread jorg at bnl dot gov
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77280

Bug ID: 77280
   Summary: program using sizeof(array) fails after adding a
statement with sizeof(array)
   Product: gcc
   Version: lto
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jorg at bnl dot gov
  Target Milestone: ---

Created attachment 39467
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39467&action=edit
source

Bug appears in:
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.2)
gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) (64 bit)
clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final)

Bug is not in:
gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) (32 bit) 
pgcc 15.7-0 (portland group)

The attached code works correctly when 1) the two lines 
 45   unsigned int lx = sizeof(t);
 46   printf("lx %d\n", lx);
are removed or 2) the line 
 44int a=0;
is added.
How to run:
>gcc 4.c
>a.out bug
should print
#  ##    
#  ## ## 
#  ## #  
## ## #  ### 
## ## ## 
#        
lx 162
(The program was taken from www.gowrikumar.com/c/index.php)

[Bug fortran/67496] trans-array.c sanitizer runtime error: load of value 124, which is not a valid value for type 'bool'

2016-08-17 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67496

Jakub Jelinek  changed:

   What|Removed |Added

 Status|WAITING |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org

--- Comment #12 from Jakub Jelinek  ---
Created attachment 39466
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39466&action=edit
gcc7-pr67496.patch

Untested fix.  u.cl is obviously valid only for type == BT_CHARACTER, for
e.g. BT_DERIVED in the testcase it is u.derived instead.  So, trying to
unconditionally dereference it is invalid.  Not to mention if the type happens
to be BT_HOLLERITH, then it could have non-zero u.pad, so u.cl could be
non-NULL, yet it wouldn't be even a valid pointer.

[Bug libstdc++/77264] [7 Regression] std::string's replace gives wrong results with C++17, works with C++11

2016-08-17 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77264

Jonathan Wakely  changed:

   What|Removed |Added

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

--- Comment #8 from Jonathan Wakely  ---
Fixed.

[Bug middle-end/77259] [6/7 Regression] ICE in emit_move_insn since r232167

2016-08-17 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77259

--- Comment #2 from Jakub Jelinek  ---
Author: jakub
Date: Wed Aug 17 13:56:30 2016
New Revision: 239537

URL: https://gcc.gnu.org/viewcvs?rev=239537&root=gcc&view=rev
Log:
PR middle-end/77259
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): If
turning a call into __builtin_unreachable-like noreturn call, adjust
gimple_call_set_fntype.
* tree-cfgcleanup.c (fixup_noreturn_call): Remove lhs also if
gimple_call_fntype has void return type.

* g++.dg/ipa/devirt-52.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/ipa/devirt-52.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-cfgcleanup.c
trunk/gcc/tree-ssa-pre.c

[Bug c/77280] program using sizeof(array) fails after adding a statement with sizeof(array)

2016-08-17 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77280

--- Comment #1 from Andrew Pinski  ---
Comment on attachment 39467
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39467
source

Pr has an undefined value the first time through the loop.

[Bug c/77280] program using sizeof(array) fails after adding a statement with sizeof(array)

2016-08-17 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77280

--- Comment #1 from Andrew Pinski  ---
Comment on attachment 39467
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39467
source

Pr has an undefined value the first time through the loop.

--- Comment #2 from Andrew Pinski  ---
Comment on attachment 39467
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39467
source

Pr has an undefined value the first time through the loop.

--- Comment #3 from Andrew Pinski  ---
Comment on attachment 39467
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39467
source

Pr has an undefined value the first time through the loop.

[Bug c/77280] program using sizeof(array) fails after adding a statement with sizeof(array)

2016-08-17 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77280

--- Comment #1 from Andrew Pinski  ---
Comment on attachment 39467
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39467
source

Pr has an undefined value the first time through the loop.

--- Comment #2 from Andrew Pinski  ---
Comment on attachment 39467
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39467
source

Pr has an undefined value the first time through the loop.

--- Comment #3 from Andrew Pinski  ---
Comment on attachment 39467
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39467
source

Pr has an undefined value the first time through the loop.

[Bug c/77280] program using sizeof(array) fails after adding a statement with sizeof(array)

2016-08-17 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77280

Jonathan Wakely  changed:

   What|Removed |Added

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

--- Comment #2 from Andrew Pinski  ---
Comment on attachment 39467
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39467
source

Pr has an undefined value the first time through the loop.

--- Comment #3 from Andrew Pinski  ---
Comment on attachment 39467
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39467
source

Pr has an undefined value the first time through the loop.

--- Comment #4 from Jonathan Wakely  ---
(In reply to Jorg Kewisch from comment #0)
> The attached code works correctly when 1) the two lines 
>  45   unsigned int lx = sizeof(t);
>  46   printf("lx %d\n", lx);
> are removed or 2) the line 
>  44int a=0;
> is added.

This kind of behaviour almost always means you have a bug that is sensitive to
the exact layout of variables on the stack (as is the case here, where you are
using the garbage value of pr). It's very unlikely to be a bug in the compiler.

[Bug testsuite/72840] PASS->NA: 20_util/ratio/cons/cons_overflow_neg.cc

2016-08-17 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72840

Jonathan Wakely  changed:

   What|Removed |Added

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

--- Comment #3 from Jonathan Wakely  ---
Fixed

[Bug gcov-profile/69004] Building t-engine on ARM fails during -fprofile-use stage

2016-08-17 Thread tulipawn at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69004

--- Comment #35 from PeteVine  ---
Probably not the first time something managed to slip past `gcov_exit`?

[Bug target/77281] New: [ARM] Wrong code generated for move of constant vector with mix of signed and unsigned zeros

2016-08-17 Thread mwahab at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77281

Bug ID: 77281
   Summary: [ARM] Wrong code generated for move of constant vector
with mix of signed and unsigned zeros
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: mwahab at gcc dot gnu.org
  Target Milestone: ---

Test gcc.c-torture/execute/ieee/pr72824-2.c fails for arm targets because the
code generated to move a vector of signed and unsigned zeros treats it as a
vector of unsigned zeros.

That is, an assignment x = { 0.f, -0.f, 0.f, -0.f } is treated as the
assignment x = { 0.f, 0.f, 0.f, 0.f }. 

This is due to config/arm/arm.c/neon_valid_immediate using real_equal to
compare the vector elements.

Seen on trunk and gcc-6.

[Bug target/77281] [ARM] Wrong code generated for move of constant vector with mix of signed and unsigned zeros

2016-08-17 Thread mwahab at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77281

mwahab at gcc dot gnu.org changed:

   What|Removed |Added

 Target||arm

--- Comment #1 from mwahab at gcc dot gnu.org ---
I think I've got a fix and I'm testing it now.

[Bug tree-optimization/72824] [5/6 Regression] Signed floating point zero semantics broken at optimization level -O3 (tree-loop-distribute-patterns)

2016-08-17 Thread mwahab at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72824

--- Comment #12 from mwahab at gcc dot gnu.org ---
(In reply to mwahab from comment #11)
> The new test-case gcc.c-torture/execute/ieee/pr72824-2.c is failing for
> arm-none-linux-gnueabihf with gcc-6 and trunk.
> 
> I'm still looking into why.
> Matthew

This is a bug in the arm backend. I've opened PR target/77281 and I'm testing a
fix.
Matthew

[Bug c/77280] program using sizeof(array) fails after adding a statement with sizeof(array)

2016-08-17 Thread manu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77280

Manuel López-Ibáñez  changed:

   What|Removed |Added

 CC||manu at gcc dot gnu.org

--- Comment #5 from Manuel López-Ibáñez  ---
And we do not warn because of PR18501, which ends up assuming that pr is
initialized to 5 (with optimization).

[Bug tree-optimization/71752] [7 Regression] ICE in compute_live_loop_exits, at tree-ssa-loop-manip.c:229 w/ -O1 -ftree-vectorize

2016-08-17 Thread alahay01 at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71752

--- Comment #4 from alahay01 at gcc dot gnu.org ---
Author: alahay01
Date: Wed Aug 17 15:31:44 2016
New Revision: 239542

URL: https://gcc.gnu.org/viewcvs?rev=239542&root=gcc&view=rev
Log:
2015-08-17  Alan Hayward 

PR tree-optimization/71752
* tree-vect-loop.c (vectorizable_reduction): Keep SLP operand ordering.
* tree-vect-slp.c (vect_get_slp_defs): Handle null operands.

PR tree-optimization/71752
* gcc.dg/vect/pr71752.c: New


Added:
trunk/gcc/testsuite/gcc.dg/vect/pr71752.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-vect-loop.c
trunk/gcc/tree-vect-slp.c

[Bug tree-optimization/71752] [7 Regression] ICE in compute_live_loop_exits, at tree-ssa-loop-manip.c:229 w/ -O1 -ftree-vectorize

2016-08-17 Thread alahay01 at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71752

alahay01 at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #5 from alahay01 at gcc dot gnu.org ---
Use the correct operands when SLP vectorising.

[Bug middle-end/71514] ICE on C11 code with atomic exchange at -O1 and above on x86_64-linux-gnu: in copy_reference_ops_from_ref, at tree-ssa-sccvn.c:879

2016-08-17 Thread joseph at codesourcery dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71514

--- Comment #12 from joseph at codesourcery dot com  ---
On Wed, 17 Aug 2016, mpolacek at gcc dot gnu.org wrote:

> Is it ok if I change the C FE to reject pointer-to-VLA and pointer-to-function
> arguments for __atomic_*?

Yes.

[Bug middle-end/71514] ICE on C11 code with atomic exchange at -O1 and above on x86_64-linux-gnu: in copy_reference_ops_from_ref, at tree-ssa-sccvn.c:879

2016-08-17 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71514

Marek Polacek  changed:

   What|Removed |Added

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

--- Comment #13 from Marek Polacek  ---
Ok, testing a patch.

[Bug target/57536] Inconsistent behavior of strlen inline and unroll

2016-08-17 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57536

Martin Sebor  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-08-17
 CC||msebor at gcc dot gnu.org
 Ever confirmed|0   |1
  Known to fail||4.9.3, 5.3.0, 6.1.0, 7.0

--- Comment #3 from Martin Sebor  ---
Confirmed in the duplicate bug 77276.

[Bug target/57536] Inconsistent behavior of strlen inline and unroll

2016-08-17 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57536

--- Comment #4 from Martin Sebor  ---
*** Bug 77276 has been marked as a duplicate of this bug. ***

[Bug target/77276] strlen expanded inline with -Os, emits larger code than with -O2

2016-08-17 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77276

Martin Sebor  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #1 from Martin Sebor  ---
Resolving as a dupe of bug 57536.

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

[Bug c++/72775] [6/7 Regression] internal compiler error: in finish_expr_stmt, at cp/semantics.c:677

2016-08-17 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72775

--- Comment #5 from Martin Sebor  ---
Would it be possible to take the size of the in-class initialized flexible
array member into account when computing the size of the object to allocate? 
That way the example in comment #0 could be accepted and handled correctly but
one where the flexible array member were initialized in a ctor-initializer list
could be rejected.

[Bug tree-optimization/77282] New: [7 regression] test case gcc.dg/autopar/pr46193.c fails starting with r239414

2016-08-17 Thread seurer at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77282

Bug ID: 77282
   Summary: [7 regression] test case gcc.dg/autopar/pr46193.c
fails starting with r239414
   Product: gcc
   Version: 7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: seurer at linux dot vnet.ibm.com
  Target Milestone: ---

PASS: gcc.dg/autopar/pr46193.c (test for excess errors)
FAIL: gcc.dg/autopar/pr46193.c scan-tree-dump-times parloops2 "parallelizing
inner loop" 2

>From the test results emails this is failing across multiple systems (power,
x86, arm, ...)

[Bug driver/70132] ARM -mcpu=native can cause a double free abort.

2016-08-17 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70132

--- Comment #15 from Jonathan Wakely  ---
(In reply to Jeffrey Walton from comment #14)
> Bump... I don't think this has made it into Debian's 4.9.2-10.

Bumping this won't help if the Debian packagers aren't reading it.

[Bug fortran/67496] trans-array.c sanitizer runtime error: load of value 124, which is not a valid value for type 'bool'

2016-08-17 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67496

--- Comment #13 from Jakub Jelinek  ---
Author: jakub
Date: Wed Aug 17 19:08:49 2016
New Revision: 239544

URL: https://gcc.gnu.org/viewcvs?rev=239544&root=gcc&view=rev
Log:
PR fortran/67496
* trans-array.c (trans_array_constructor): Load
expr->ts.u.cl->length_from_typespec only if expr->ts.type is
BT_CHARACTER.

* gfortran.dg/pr67496.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/pr67496.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-array.c
trunk/gcc/testsuite/ChangeLog

[Bug c++/67079] Webpages and manual still claim that C++11 support is experimental

2016-08-17 Thread manu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67079

Manuel López-Ibáñez  changed:

   What|Removed |Added

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

--- Comment #1 from Manuel López-Ibáñez  ---
This got fixed.

[Bug c++/66290] wrong location for -Wunused-macros

2016-08-17 Thread manu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66290

Manuel López-Ibáñez  changed:

   What|Removed |Added

   Last reconfirmed|2016-07-23 00:00:00 |2016-8-17
 CC||dmalcolm at gcc dot gnu.org
Version|unknown |7.0

--- Comment #2 from Manuel López-Ibáñez  ---
I don't care much about this particular warning, but either we do not print a
caret line when the column is zero or we print it at column 1. But the current
behavior is broken and a regression w.r.t. how it was working in 4.9.

[Bug tree-optimization/72817] [7 Regression] wrong code at -O3 on x86_64-linux-gnu (in both 32-bit and 64-bit modes)

2016-08-17 Thread amker at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72817

--- Comment #7 from amker at gcc dot gnu.org ---
(In reply to Bill Seurer from comment #5)
> The new test case pr72817.c hangs on powerpc both BE and LE
> 
> Executing on host: /home/seurer/gcc/build/gcc-trunk/gcc/xgcc
> -B/home/seurer/gcc/build/gcc-trunk/gcc/
> /home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/tree-ssa/pr72817.c 
> -fno-diagnostics-show-caret -fdiagnostics-color=never   -O3  -lm-o
> ./pr72817.exe(timeout = 300)
> spawn /home/seurer/gcc/build/gcc-trunk/gcc/xgcc
> -B/home/seurer/gcc/build/gcc-trunk/gcc/
> /home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/tree-ssa/pr72817.c
> -fno-diagnostics-show-caret -fdiagnostics-color=never -O3 -lm -o
> ./pr72817.exe
> PASS: gcc.dg/tree-ssa/pr72817.c (test for excess errors)
> Setting LD_LIBRARY_PATH to
> :/home/seurer/gcc/build/gcc-trunk/gcc::/home/seurer/gcc/build/gcc-trunk/gcc:/
> home/wschmidt/gcc/install/gcc-5_1/lib64
> spawn [open ...]
> WARNING: program timed out.
> FAIL: gcc.dg/tree-ssa/pr72817.c execution test
> testcase
> /home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/tree-ssa/tree-ssa.exp
> completed in 301 seconds

Thanks for reporting.
This may indicate something is still wrong in NE_EXPR analysis.  I am OoO right
now and will look into this once I get back.

[Bug tree-optimization/77283] New: Revision 238005 disables loop unrolling

2016-08-17 Thread bergner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77283

Bug ID: 77283
   Summary: Revision 238005 disables loop unrolling
   Product: gcc
   Version: 7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: bergner at gcc dot gnu.org
  Target Milestone: ---

Revision 238005 (richi's fix to path splitting to handle empty else blocks)
disables loop unrolling for the test case below (extracted from one of our
benchmarks) leading to a performance regression.

bergner@genoa:~/gcc/BUGS/$ cat foo.c 
void
foo (double *x, double *a, double *b, long n, double limit)
{
  long i;
  for (i=0; i < n; i++)
if (a[i] < limit)
  x[i] = b[i];
}
bergner@genoa:~/gcc/BUGS/$
/home/bergner/gcc/build/gcc-fsf-mainline-r238005/gcc/xgcc
-B/home/bergner/gcc/build/gcc-fsf-mainline-r238005/gcc -O3 -funroll-loops -S
foo.c 
bergner@genoa:~/gcc/BUGS/$ cat foo.s 

foo:
cmpdi 0,6,0
ble 0,.L1
sldi 6,6,3
li 9,0
.p2align 4,,15
.L3:
lfdx 0,4,9
fcmpu 7,0,1
bnl 7,.L8
lfdx 2,5,9
stfdx 2,3,9
addi 9,9,8
cmpld 5,9,6
bne 5,.L3
.L1:
blr
.p2align 4,,15
.L8:
addi 9,9,8
cmpld 1,9,6
bne 1,.L3
blr


bergner@genoa:~/gcc/BUGS/$
/home/bergner/gcc/build/gcc-fsf-mainline-r238004/gcc/xgcc
-B/home/bergner/gcc/build/gcc-fsf-mainline-r238004/gcc -O3 -funroll-loops -S
foo.c 
bergner@genoa:~/gcc/BUGS/$ cat foo.s

foo:
cmpdi 0,6,0
ble 0,.L1
lfd 0,0(4)
sldi 6,6,3
addi 8,6,-8
srdi 0,8,3
rldicl 10,0,0,61
fcmpu 7,0,1
blt 7,.L8
.L59:
li 9,8
cmpld 1,9,6
beq 1,.L1
cmpdi 5,10,0
beq 5,.L30
cmpdi 6,10,1
beq 6,.L46
cmpdi 0,10,2
beq 0,.L47
cmpdi 7,10,3
beq 7,.L48
cmpdi 1,10,4
beq 1,.L49
cmpdi 5,10,5
beq 5,.L50
cmpdi 6,10,6
beq 6,.L51
lfdx 3,4,9
fcmpu 0,3,1
bnl 0,.L61
lfdx 4,5,9
stfdx 4,3,9
.L61:
addi 9,9,8
.L51:
lfdx 5,4,9
fcmpu 7,5,1
bnl 7,.L62
lfdx 6,5,9
stfdx 6,3,9
.L62:
addi 9,9,8
.L50:
lfdx 7,4,9
fcmpu 1,7,1
bnl 1,.L63
lfdx 8,5,9
stfdx 8,3,9
[snip]


An executable version of the test case above is:

bergner@genoa:~/gcc/BUGS/LTC17$ cat loop.c 
#define SIZE 1024*1000

void
__attribute__ ((noinline))
foo (double *x, double *a, double *b, long n, double limit)
{
  long i;
  for (i=0; i < n; i++)
if (a[i] < limit)
  x[i] = b[i];
}

double x[SIZE], a[SIZE], b[SIZE];

int
main (void)
{
  long i;
  for (i=0; i < 3000; i++)
foo (x, a, b, SIZE, 1.0);
  return 0;
}

bergner@genoa:~/gcc/BUGS/$
/home/bergner/gcc/build/gcc-fsf-mainline-r238004/gcc/xgcc
-B/home/bergner/gcc/build/gcc-fsf-mainline-r238004/gcc -O3 -funroll-loops
loop.c 
bergner@genoa:~/gcc/BUGS/$ time ./a.out 

real0m3.729s
user0m3.690s
sys 0m0.021s

bergner@genoa:~/gcc/BUGS/$
/home/bergner/gcc/build/gcc-fsf-mainline-r238005/gcc/xgcc
-B/home/bergner/gcc/build/gcc-fsf-mainline-r238005/gcc -O3 -funroll-loops
loop.c 
bergner@genoa:~/gcc/BUGS/$ time ./a.out 

real0m6.939s
user0m6.851s
sys 0m0.040s

[Bug tree-optimization/77283] Revision 238005 disables loop unrolling

2016-08-17 Thread bergner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77283

Peter Bergner  changed:

   What|Removed |Added

 CC||dje at gcc dot gnu.org,
   ||rguenth at gcc dot gnu.org,
   ||wschmidt at gcc dot gnu.org

--- Comment #1 from Peter Bergner  ---
This was tested on powerpc64le-linux, but given the patch that caused this is
target independent, I'm guessing this affects other targets as well.  I haven't
confirmed that yet though.

[Bug tree-optimization/72817] [7 Regression] wrong code at -O3 on x86_64-linux-gnu (in both 32-bit and 64-bit modes)

2016-08-17 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72817

--- Comment #8 from Jakub Jelinek  ---
(In reply to amker from comment #7)
> Thanks for reporting.
> This may indicate something is still wrong in NE_EXPR analysis.  I am OoO
> right now and will look into this once I get back.

This has been an signed vs. unsigned char issue, see #c6.  I believe it should
be fixed now.

[Bug tree-optimization/77283] Revision 238005 disables loop unrolling

2016-08-17 Thread bergner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77283

--- Comment #2 from Peter Bergner  ---
For documentation purposes, the upstream patch that caused this is:

https://gcc.gnu.org/ml/gcc-patches/2016-07/msg00189.html

[Bug tree-optimization/72817] [7 Regression] wrong code at -O3 on x86_64-linux-gnu (in both 32-bit and 64-bit modes)

2016-08-17 Thread seurer at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72817

--- Comment #9 from Bill Seurer  ---
I just ran a check and it is working now on powerpc.  Thanks for the quick fix!

[Bug c++/77284] New: ICE on valid C++11 code using initializer list: in potential_constant_expression_1, at cp/constexpr.c:5480

2016-08-17 Thread su at cs dot ucdavis.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77284

Bug ID: 77284
   Summary: ICE on valid C++11 code using initializer list: in
potential_constant_expression_1, at
cp/constexpr.c:5480
   Product: gcc
   Version: 7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: su at cs dot ucdavis.edu
  Target Milestone: ---

It also affects 6.x and 5.x, and is a regression from 4.9.x. 


$ g++-trunk -v
Using built-in specs.
COLLECT_GCC=g++-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 20160817 (experimental) [trunk revision 239527] (GCC)
$
$ g++-4.9 -std=c++11 -c small.cpp
$ clang++-3.8 -std=c++11 -c small.cpp
$ 
$ g++-trunk -std=c++11 -c small.cpp
small.cpp: In function ‘void foo(A&)’:
small.cpp:10:18: sorry, unimplemented: unexpected AST of kind cleanup_stmt
   for (A a : { v }) {};
  ^
small.cpp:10:18: internal compiler error: in potential_constant_expression_1,
at cp/constexpr.c:5480
0x8bf447 potential_constant_expression_1
../../gcc-source-trunk/gcc/cp/constexpr.c:5480
0x8bf317 potential_constant_expression_1
../../gcc-source-trunk/gcc/cp/constexpr.c:5039
0x8be601 potential_constant_expression_1
../../gcc-source-trunk/gcc/cp/constexpr.c:5399
0x8bef10 potential_constant_expression_1
../../gcc-source-trunk/gcc/cp/constexpr.c:5281
0x8c0050 potential_static_init_expression
../../gcc-source-trunk/gcc/cp/constexpr.c:5497
0x8c0050 potential_nondependent_static_init_expression(tree_node*)
../../gcc-source-trunk/gcc/cp/constexpr.c:5545
0x8c1579 maybe_constant_init(tree_node*, tree_node*)
../../gcc-source-trunk/gcc/cp/constexpr.c:4704
0x67f83b set_up_extended_ref_temp
../../gcc-source-trunk/gcc/cp/call.c:9965
0x67f83b extend_ref_init_temps_1
../../gcc-source-trunk/gcc/cp/call.c:10123
0x7314b0 store_init_value(tree_node*, tree_node*, vec**, int)
../../gcc-source-trunk/gcc/cp/typeck2.c:799
0x68cb8c check_initializer
../../gcc-source-trunk/gcc/cp/decl.c:6230
0x6b732d cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
../../gcc-source-trunk/gcc/cp/decl.c:6888
0x78dd82 cp_convert_range_for(tree_node*, tree_node*, tree_node*, bool)
../../gcc-source-trunk/gcc/cp/parser.c:11449
0x7be0d0 cp_parser_range_for
../../gcc-source-trunk/gcc/cp/parser.c:11333
0x7be0d0 cp_parser_for
../../gcc-source-trunk/gcc/cp/parser.c:11234
0x7be0d0 cp_parser_iteration_statement
../../gcc-source-trunk/gcc/cp/parser.c:11733
0x7b3d99 cp_parser_statement
../../gcc-source-trunk/gcc/cp/parser.c:10446
0x7b533c cp_parser_statement_seq_opt
../../gcc-source-trunk/gcc/cp/parser.c:10857
0x7b542f cp_parser_compound_statement
../../gcc-source-trunk/gcc/cp/parser.c:10811
0x7b55df cp_parser_function_body
../../gcc-source-trunk/gcc/cp/parser.c:20830
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
$


-


#include 

struct A
{ 
  ~A () {}
};

void foo (A & v)
{ 
  for (A a : { v }) {};
}

[Bug driver/77275] Description of -l option refers only to static libraries, not dynamic/shared libraries

2016-08-17 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77275

Andrew Pinski  changed:

   What|Removed |Added

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

--- Comment #2 from Andrew Pinski  ---
Dup of bug 50250.

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

[Bug driver/50250] Driver documentation on -l does not mention shared libraries

2016-08-17 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50250

Andrew Pinski  changed:

   What|Removed |Added

 CC||payerle at umd dot edu
 CC||arkadiusz at drabczyk dot org

--- Comment #1 from Andrew Pinski  ---
*** Bug 77275 has been marked as a duplicate of this bug. ***

--- Comment #2 from Andrew Pinski  ---
*** Bug 69540 has been marked as a duplicate of this bug. ***

[Bug driver/50250] Driver documentation on -l does not mention shared libraries

2016-08-17 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50250

Andrew Pinski  changed:

   What|Removed |Added

 CC||payerle at umd dot edu
 CC||arkadiusz at drabczyk dot org

--- Comment #1 from Andrew Pinski  ---
*** Bug 77275 has been marked as a duplicate of this bug. ***

--- Comment #2 from Andrew Pinski  ---
*** Bug 69540 has been marked as a duplicate of this bug. ***

[Bug driver/69540] add a short info on .so priority in -l

2016-08-17 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69540

Andrew Pinski  changed:

   What|Removed |Added

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

--- Comment #3 from Andrew Pinski  ---
Dup of bug 50250.

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

[Bug driver/50250] Driver documentation on -l does not mention shared libraries

2016-08-17 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50250

Andrew Pinski  changed:

   What|Removed |Added

 CC||payerle at umd dot edu
 CC||arkadiusz at drabczyk dot org
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-08-17
   See Also||https://bugzilla.novell.com
   ||/show_bug.cgi?id=674696
 Ever confirmed|0   |1

--- Comment #1 from Andrew Pinski  ---
*** Bug 77275 has been marked as a duplicate of this bug. ***

--- Comment #2 from Andrew Pinski  ---
*** Bug 69540 has been marked as a duplicate of this bug. ***

--- Comment #3 from Andrew Pinski  ---
Confirmed.

Really this documentation should just point to ld's documentation on your
system since -l is passed directly without any change.  As it is also incorrect
for windows systems.

[Bug rtl-optimization/72771] [6/7 Regression] powerpc64le ICE with -mcpu=power9

2016-08-17 Thread amodra at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72771

--- Comment #8 from Alan Modra  ---
Author: amodra
Date: Wed Aug 17 22:41:22 2016
New Revision: 239549

URL: https://gcc.gnu.org/viewcvs?rev=239549&root=gcc&view=rev
Log:
[RELOAD] Don't assume subreg mem address is ok

This patch fixes a case where reload blindly assumes a subreg mem is
OK if its address has been partially reloaded by legitimize_reload_address.

PR rtl-optimization/72771
* reload.c (find_reloads): Don't assume that a subreg mem is OK
when find_reloads_toplev returns address_reloaded==-1.
(alternative_allows_const_pool_ref): Update comment.
testsuite/
* gcc.c-torture/compile/pr72771.c: New.

Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr72771.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/reload.c
trunk/gcc/testsuite/ChangeLog

[Bug rtl-optimization/72771] [6/7 Regression] powerpc64le ICE with -mcpu=power9

2016-08-17 Thread amodra at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72771

Alan Modra  changed:

   What|Removed |Added

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

--- Comment #9 from Alan Modra  ---
Fixed on trunk.  Will need backporting if float2 is
added to gcc-6 branch.

[Bug middle-end/70828] broken array-type subarrays inside acc data in openacc

2016-08-17 Thread cesar at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70828

--- Comment #2 from cesar at gcc dot gnu.org ---
Author: cesar
Date: Thu Aug 18 01:12:15 2016
New Revision: 239554

URL: https://gcc.gnu.org/viewcvs?rev=239554&root=gcc&view=rev
Log:
PR middle-end/70828

gcc/
* gimplify.c (struct gimplify_omp_ctx): Add tree clauses member.
(new_omp_context): Initialize clauses to NULL_TREE.
(gimplify_scan_omp_clauses): Set clauses in the gimplify_omp_ctx.
(omp_clause_matching_array_ref): New function.
(gomp_needs_data_present): New function.
(gimplify_adjust_omp_clauses_1): Use preset or pointer omp clause map
kinds when creating implicit data clauses for OpenACC offloaded
variables defined used an acc data region as necessary. 

libgomp/
* testsuite/libgomp.oacc-c-c++-common/pr70828.c: New test.
* testsuite/libgomp.oacc-fortran/pr70828.f90: New test.


Added:
   
branches/gomp-4_0-branch/libgomp/testsuite/libgomp.oacc-c-c++-common/pr70828.c
branches/gomp-4_0-branch/libgomp/testsuite/libgomp.oacc-fortran/pr70828.f90
Modified:
branches/gomp-4_0-branch/gcc/ChangeLog.gomp
branches/gomp-4_0-branch/gcc/gimplify.c
branches/gomp-4_0-branch/libgomp/ChangeLog.gomp

[Bug tree-optimization/77283] [7 Regression] Revision 238005 disables loop unrolling

2016-08-17 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77283

Andrew Pinski  changed:

   What|Removed |Added

   Keywords||missed-optimization
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-08-18
   Target Milestone|--- |7.0
Summary|Revision 238005 disables|[7 Regression] Revision
   |loop unrolling  |238005 disables loop
   ||unrolling
 Ever confirmed|0   |1

--- Comment #3 from Andrew Pinski  ---
I noticed path splitting doing some weird stuff with loops even in GCC 6
(though I don't have a testcase right now that shows it being worse off).

Confirmed for this case.

[Bug other/68783] Improve verification of loop->latch in verify_loop_structure

2016-08-17 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68783

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-08-18
 Ever confirmed|0   |1

--- Comment #1 from Andrew Pinski  ---
I assume this is still true.