[Bug libstdc++/87135] [C++17] unordered containers violate iterator validity requirements

2018-09-18 Thread fdumont at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87135

François Dumont  changed:

   What|Removed |Added

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

--- Comment #3 from François Dumont  ---
Rehash policy has been reviewed, rehash will take place only when reserved size
is overwhelmed.

[Bug fortran/87359] New: [9.0 regression] pointer being freed was not allocated

2018-09-18 Thread juergen.reuter at desy dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87359

Bug ID: 87359
   Summary: [9.0 regression] pointer being freed was not allocated
   Product: gcc
   Version: 9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: juergen.reuter at desy dot de
  Target Milestone: ---

There is a severe regression introduced in the last 2-3 weeks (maybe through
one of the bug fixes by Paul Thomas?) leading to a huge number of failures in
our test suite. I will try to isolate it, but it can also be checked by
downloading https://whizard.hepforge.org/downloads/?f=whizard-2.6.4.tar.gz 
(you need OCaml for most of the tests, but not for all, many of the unit tests
already fail without OCaml being present, you can then configure with
--disable-ocaml). Do configure, make, make check.

[Bug c/87358] ICE when -mtune=thunderx2t99 applied

2018-09-18 Thread Lijian.Zhang at arm dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87358

Lijian Zhang  changed:

   What|Removed |Added

 CC||Lijian.Zhang at arm dot com

--- Comment #1 from Lijian Zhang  ---
Created attachment 44723
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44723=edit
pre-process file

[Bug c/87358] New: ICE when -mtune=thunderx2t99 applied

2018-09-18 Thread Lijian.Zhang at arm dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87358

Bug ID: 87358
   Summary: ICE when -mtune=thunderx2t99 applied
   Product: gcc
   Version: 7.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: Lijian.Zhang at arm dot com
  Target Milestone: ---

lijian@armada8040-1:~/ICE.issue$ gcc --version
gcc (Ubuntu/Linaro 7.3.0-16ubuntu3) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

lijian@armada8040-1:~/ICE.issue$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.1 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/;
SUPPORT_URL="https://help.ubuntu.com/;
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/;
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy;
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

lijian@armada8040-1:~/ICE.issue$ lscpu
Architecture:aarch64
Byte Order:  Little Endian
CPU(s):  4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):   2
Vendor ID:   ARM
Model:   1
Model name:  Cortex-A72
Stepping:r0p1
CPU max MHz: 2000.
CPU min MHz: 100.
BogoMIPS:50.00
Flags:   fp asimd evtstrm aes pmull sha1 sha2 crc32

lijian@armada8040-1:~/ICE.issue$ gcc -c l2_learn.i -O2 
-march=armv8.1-a+crc+crypto -mtune=thunderx2t99
/home/lijian/tasks/dualQuad/origin/src/vnet/l2/l2_learn.c: In function
‘l2learn_node_fn_thunderx2t99’:
/home/lijian/tasks/dualQuad/origin/src/vnet/l2/l2_learn.c:430:1: internal
compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.

lijian@armada8040-1:~/ICE.issue$ gcc -c l2_learn.i -O2 
-march=armv8.1-a+crc+crypto
lijian@armada8040-1:~/ICE.issue$
lijian@armada8040-1:~/ICE.issue$

[Bug c++/86881] [8, 9 regression] tree check fail with flag Wshadow-compatible-local

2018-09-18 Thread clyon at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86881

Christophe Lyon  changed:

   What|Removed |Added

 CC||clyon at gcc dot gnu.org

--- Comment #6 from Christophe Lyon  ---
I see an error in the new testcase:
g++.dg/warn/pr86881.C  -std=c++11: syntax error in target selector "c++11" for
" dg-do 2 compile { c++11 } "

[Bug testsuite/87339] [9 Regression] gcc.dg/warn-abs-1.c FAILs

2018-09-18 Thread clyon at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87339

Christophe Lyon  changed:

   What|Removed |Added

 CC||clyon at gcc dot gnu.org

--- Comment #4 from Christophe Lyon  ---
(In reply to r...@cebitec.uni-bielefeld.de from comment #3)
> > --- Comment #2 from ktkachov at gcc dot gnu.org ---
> > Fixed on arm and aarch64 with r264392.
> > If you can confirm this fixes the other platforms please close this off.
> 
> This didn't work on sparc: for both 32 and 64-bit:
> for another:
> 
> -FAIL: gcc.dg/warn-abs-1.c  (test for warnings, line 48)
> +FAIL: gcc.dg/warn-abs-1.c  (test for warnings, line 49)
> 
> i.e. the failure remains, just the line number changed due to the
> addition of the dg-skip-if.

Same on aarch64-linux-gnu.

[Bug tree-optimization/87309] [9 Regression] Spurious note: messages when building with -fopt-info-vec-optimized

2018-09-18 Thread dmalcolm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87309

David Malcolm  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2018-09-19
   Assignee|unassigned at gcc dot gnu.org  |dmalcolm at gcc dot 
gnu.org
 Ever confirmed|0   |1

--- Comment #2 from David Malcolm  ---
Thanks; confirmed.

[Bug c++/87357] Bogus conversion with conversion function not detected

2018-09-18 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87357

Marek Polacek  changed:

   What|Removed |Added

   Keywords||accepts-invalid
 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2018-09-18
   Assignee|unassigned at gcc dot gnu.org  |mpolacek at gcc dot 
gnu.org
 Ever confirmed|0   |1

[Bug c++/87357] New: Bogus conversion with conversion function not detected

2018-09-18 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87357

Bug ID: 87357
   Summary: Bogus conversion with conversion function not detected
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: mpolacek at gcc dot gnu.org
  Target Milestone: ---

[class.conv.fct]:
A conversion function is never used to convert a (possibly cv-qualified) object
to the (possibly cv-qualified) same object type (or a reference to it), to a
(possibly cv-qualified) base class of that type (or a reference to it), or to
(possibly cv-qualified) void.

But:
$ cat q.C
struct X {
  operator X();
};
$ ./cc1plus -quiet q.C -Wconversion -Wall -Wextra -Wpedantic

[Bug target/86902] [9 Regression] ICE: in as_a, at machmode.h:356 at -O

2018-09-18 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86902

Segher Boessenkool  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2018-09-18
 Ever confirmed|0   |1

--- Comment #2 from Segher Boessenkool  ---
Ah, it's the checking flags.  Confirmed.

[Bug target/86902] [9 Regression] ICE: in as_a, at machmode.h:356 at -O

2018-09-18 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86902

Segher Boessenkool  changed:

   What|Removed |Added

 CC||segher at gcc dot gnu.org

--- Comment #1 from Segher Boessenkool  ---
This does not fail for me.  Does it need some extra settings?

[Bug tree-optimization/87355] missed comparison optimizations (grep DFA, x86-64)

2018-09-18 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87355

--- Comment #2 from Marc Glisse  ---
For f, this is a classic case where gcc canonicalizes n>=100 as n>99, and thus
cannot as easily merge it with the other comparison n==100.

For g, n >= 103 || n == 100 || n == 101 || n == 102 is replaced in the
front-end with (n > 102 || n == 100) || (unsigned int) n + 4294967195 <= 1,
that's a bit strange. Merging comparisons into a range test is normal, but why
merge precisely tests 3 and 4? Inserting || n == 99 before n == 100 yields the
even stranger ((n > 102 || n == 99) || (unsigned int) n + 4294967196 <= 1) || n
== 102...

[Bug fortran/67202] Fortran FE should load scalar pass-by-reference intent-in arguments at the beginning of a function

2018-09-18 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67202

Thomas Koenig  changed:

   What|Removed |Added

 Status|WAITING |NEW
 CC||tkoenig at gcc dot gnu.org

--- Comment #2 from Thomas Koenig  ---
(In reply to Dominique d'Humieres from comment #1)
> Is there an easy way to check than a scalar pass-by-reference intent-in
> argument has been loaded at the beginning of the function?

Easiest to check the *.original dump.

If the code looks like

x (integer(kind=4) & restrict i, integer(kind=4) & restrict j)
{
  *j = *i;
}


then it hasn't been done.

[Bug libstdc++/87135] [C++17] unordered containers violate iterator validity requirements

2018-09-18 Thread fdumont at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87135

--- Comment #2 from François Dumont  ---
Author: fdumont
Date: Tue Sep 18 20:36:16 2018
New Revision: 264413

URL: https://gcc.gnu.org/viewcvs?rev=264413=gcc=rev
Log:
2018-09-18  François Dumont  

PR libstdc++/87135
* src/c++11/hashtable_c++0x.cc:
(_Prime_rehash_policy::_M_next_bkt): Return a prime no smaller than
requested size, but not necessarily greater.
(_Prime_rehash_policy::_M_need_rehash): Rehash only if target size is
strictly greater than next resize threshold.
* testsuite/23_containers/unordered_map/modifiers/reserve.cc: Adapt
test
to validate that there is no rehash as long as number of insertion is
lower or equal to the reserved number of elements.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/src/c++11/hashtable_c++0x.cc
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc

[Bug testsuite/87339] [9 Regression] gcc.dg/warn-abs-1.c FAILs

2018-09-18 Thread ro at CeBiTec dot Uni-Bielefeld.DE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87339

--- Comment #3 from ro at CeBiTec dot Uni-Bielefeld.DE  ---
> --- Comment #2 from ktkachov at gcc dot gnu.org ---
> Fixed on arm and aarch64 with r264392.
> If you can confirm this fixes the other platforms please close this off.

This didn't work on sparc: for both 32 and 64-bit:
for another:

-FAIL: gcc.dg/warn-abs-1.c  (test for warnings, line 48)
+FAIL: gcc.dg/warn-abs-1.c  (test for warnings, line 49)

i.e. the failure remains, just the line number changed due to the
addition of the dg-skip-if.

[Bug fortran/84109] ICE in adjustl on allocatable array of strings

2018-09-18 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84109

Paul Thomas  changed:

   What|Removed |Added

 CC||pault at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |pault at gcc dot gnu.org

--- Comment #4 from Paul Thomas  ---
Created attachment 44722
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44722=edit
A fix for the PR

I am sorry that this has taken so long. I have run out of time to commit this
evening but will do so tomorrow night.

Thanks for the report.

Paul

[Bug fortran/29550] Optimize -fexternal-blas calls for conjg()

2018-09-18 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=29550

--- Comment #16 from Thomas Koenig  ---
Author: tkoenig
Date: Tue Sep 18 20:18:09 2018
New Revision: 264412

URL: https://gcc.gnu.org/viewcvs?rev=264412=gcc=rev
Log:
2018-09-18  Thomas Koenig  

PR fortran/29550
* gfortran.h (gfc_expr): Add external_blas flag.
* frontend-passes.c (matrix_case): Add case A2TB2T.
(optimize_namespace): Handle flag_external_blas by
calling call_external_blas.
(get_array_inq_function): Add argument okind. If
it is nonzero, use it as the kind of argument
to be used.
(inline_limit_check): Remove m_case argument, add
limit argument instead.  Remove assert about m_case.
Set the limit for inlining from the limit argument.
(matmul_lhs_realloc): Handle case A2TB2T.
(inline_matmul_assign): Handle inline limit for other cases with
two rank-two matrices.  Remove no-op calls to inline_limit_check.
(call_external_blas): New function.
* trans-intrinsic.c (gfc_conv_intrinsic_funcall): Do not add
argument to external BLAS if external_blas is already set.

2018-09-18  Thomas Koenig  

PR fortran/29550
* gfortran.dg/inline_matmul_13.f90: Adjust count for
_gfortran_matmul.
* gfortran.dg/inline_matmul_16.f90: Likewise.
* gfortran.dg/promotion_2.f90: Add -fblas-matmul-limit=1.  Scan
for dgemm instead of dgemm_.  Add call to random_number to make
standard conforming.
* gfortran.dg/matmul_blas_1.f90: New test.
* gfortran.dg/matmul_bounds_14.f: New test.
* gfortran.dg/matmul_bounds_15.f: New test.
* gfortran.dg/matmul_bounds_16.f: New test.
* gfortran.dg/blas_gemm_routines.f: New test / additional file for
preceding tests.

Added:
trunk/gcc/testsuite/gfortran.dg/blas_gemm_routines.f
trunk/gcc/testsuite/gfortran.dg/matmul_blas_1.f
trunk/gcc/testsuite/gfortran.dg/matmul_bounds_14.f
trunk/gcc/testsuite/gfortran.dg/matmul_bounds_15.f
trunk/gcc/testsuite/gfortran.dg/matmul_bounds_16.f
Modified:
trunk/gcc/fortran/frontend-passes.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/trans-intrinsic.c
trunk/gcc/testsuite/gfortran.dg/inline_matmul_13.f90
trunk/gcc/testsuite/gfortran.dg/inline_matmul_16.f90
trunk/gcc/testsuite/gfortran.dg/promotion_2.f90

[Bug fortran/87239] ICE in deferred-length string

2018-09-18 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87239

--- Comment #7 from Paul Thomas  ---
(In reply to Paul Thomas from comment #5)
> (In reply to Dominique d'Humieres from comment #4)
> > Duplicate of/ related to pr77325 and pr84109.
> 
> PR84109 is completely different. The array descriptor 'elem_len' is being
> set to zero during the allocation.


I do apologize. It is not precisely the same but only insomuch as an intrinsic
elemental function is involved, rather than an extrinsic.

Cheers

Paul

[Bug fortran/37131] inline matmul for small matrix sizes

2018-09-18 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37131
Bug 37131 depends on bug 29550, which changed state.

Bug 29550 Summary: Optimize -fexternal-blas calls for conjg()
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=29550

   What|Removed |Added

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

[Bug fortran/36854] [meta-bug] fortran front-end optimization

2018-09-18 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36854
Bug 36854 depends on bug 29550, which changed state.

Bug 29550 Summary: Optimize -fexternal-blas calls for conjg()
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=29550

   What|Removed |Added

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

[Bug fortran/29550] Optimize -fexternal-blas calls for conjg()

2018-09-18 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=29550

Thomas Koenig  changed:

   What|Removed |Added

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

--- Comment #15 from Thomas Koenig  ---
Fixed, closing.

[Bug fortran/29550] Optimize -fexternal-blas calls for conjg()

2018-09-18 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=29550

--- Comment #14 from Thomas Koenig  ---
Author: tkoenig
Date: Tue Sep 18 19:59:46 2018
New Revision: 264411

URL: https://gcc.gnu.org/viewcvs?rev=264411=gcc=rev
Log:
2018-09-18  Thomas Koenig  

PR fortran/29550
* gfortran.h (gfc_expr): Add external_blas flag.
* frontend-passes.c (matrix_case): Add case A2TB2T.
(optimize_namespace): Handle flag_external_blas by
calling call_external_blas.
(get_array_inq_function): Add argument okind. If
it is nonzero, use it as the kind of argument
to be used.
(inline_limit_check): Remove m_case argument, add
limit argument instead.  Remove assert about m_case.
Set the limit for inlining from the limit argument.
(matmul_lhs_realloc): Handle case A2TB2T.
(inline_matmul_assign): Handle inline limit for other cases with
two rank-two matrices.  Remove no-op calls to inline_limit_check.
(call_external_blas): New function.
* trans-intrinsic.c (gfc_conv_intrinsic_funcall): Do not add
argument to external BLAS if external_blas is already set.

2018-09-18  Thomas Koenig  

PR fortran/29550
* gfortran.dg/inline_matmul_13.f90: Adjust count for
_gfortran_matmul.
* gfortran.dg/inline_matmul_16.f90: Likewise.
* gfortran.dg/promotion_2.f90: Add -fblas-matmul-limit=1.  Scan
for dgemm instead of dgemm_.  Add call to random_number to make
standard conforming.
* gfortran.dg/matmul_blas_1.f90: New test.
* gfortran.dg/matmul_bounds_14.f: New test.
* gfortran.dg/matmul_bounds_15.f: New test.
* gfortran.dg/matmul_bounds_16.f: New test.
* gfortran.dg/blas_gemm_routines.f: New test / additional file for
preceding tests.


Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/testsuite/ChangeLog

[Bug fortran/85395] [F03] private clause contained in derived type acquires spurious scope

2018-09-18 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85395

janus at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #11 from janus at gcc dot gnu.org ---
Fixed on 9-trunk and 8-branch. Closing.

[Bug fortran/85395] [F03] private clause contained in derived type acquires spurious scope

2018-09-18 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85395

--- Comment #10 from janus at gcc dot gnu.org ---
Author: janus
Date: Tue Sep 18 19:50:17 2018
New Revision: 264410

URL: https://gcc.gnu.org/viewcvs?rev=264410=gcc=rev
Log:
2018-09-18  Janus Weil  

Backport from trunk
PR fortran/85395
* decl.c (match_binding_attributes): Use correct default accessibility
for procedure pointer components.

2018-09-18  Janus Weil  

Backport from trunk
PR fortran/85395
* gfortran.dg/proc_ptr_comp_52.f90: New test case.

Added:
branches/gcc-8-branch/gcc/testsuite/gfortran.dg/proc_ptr_comp_52.f90
Modified:
branches/gcc-8-branch/gcc/fortran/ChangeLog
branches/gcc-8-branch/gcc/fortran/decl.c
branches/gcc-8-branch/gcc/testsuite/ChangeLog

[Bug fortran/87239] ICE in deferred-length string

2018-09-18 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87239

--- Comment #6 from Paul Thomas  ---
Author: pault
Date: Tue Sep 18 19:35:53 2018
New Revision: 264409

URL: https://gcc.gnu.org/viewcvs?rev=264409=gcc=rev
Log:
2018-09-18  Paul Thomas  

PR fortran/87239
* trans-expr.c (gfc_trans_assignment_1): The rse.pre for the
assignment of deferred character elemental function results to
a realocatable lhs must not be added to the exterior block but
must go to the loop body.

2018-09-18  Paul Thomas  

PR fortran/87239
* gfortran.dg/elemental_function_2.f90 : New test.


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

[Bug libstdc++/87356] Enum members are missing in std::filesystem::perms

2018-09-18 Thread christian_hoff at gmx dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87356

Christian Hoff  changed:

   What|Removed |Added

 Resolution|INVALID |FIXED

--- Comment #3 from Christian Hoff  ---
I see. Thanks a lot for the fast feedback, that was really helpful!

[Bug libstdc++/87356] Enum members are missing in std::filesystem::perms

2018-09-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87356

--- Comment #2 from Jonathan Wakely  ---
See http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0492r2.html#Late37
for the change to the spec that happened post-P0218R1.

[Bug libstdc++/87356] Enum members are missing in std::filesystem::perms

2018-09-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87356

Jonathan Wakely  changed:

   What|Removed |Added

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

--- Comment #1 from Jonathan Wakely  ---
(In reply to Christian Hoff from comment #0)
> The standard that defines these enum members can be found here:
> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0218r1.html#enum.
> perms

That's not the standard. The final C++17 standard doesn't have those
enumerators, it uses the new std::filesystem::perm_options enumeration type
instead.

[Bug libstdc++/87356] New: Enum members are missing in std::filesystem::perms

2018-09-18 Thread christian_hoff at gmx dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87356

Bug ID: 87356
   Summary: Enum members are missing in std::filesystem::perms
   Product: gcc
   Version: 8.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: christian_hoff at gmx dot net
  Target Milestone: ---

The enumeration std::filesystem::perms (introduced with C++17 and available
since GCC 8.0) is missing the following enum members:
 * add_perms
 * remove_perms
 * resolve_symlinks

Other enum members are all there, but these three are missing (even though they
are defined in the C++17 standard). I confirmed this by looking at the file
"/usr/include/c++/8/bits/fs_fwd.h" of my GCC 8.2.0 installation.

The standard that defines these enum members can be found here:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0218r1.html#enum.perms

Please fix this issue.

[Bug fortran/86830] [8/9 Regression] Contiguous array pointer function result not recognized as contiguous

2018-09-18 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86830

janus at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #7 from janus at gcc dot gnu.org ---
Fixed on 9-trunk and 8-branch. Closing. Thanks for the report!

[Bug fortran/86830] [8/9 Regression] Contiguous array pointer function result not recognized as contiguous

2018-09-18 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86830

--- Comment #6 from janus at gcc dot gnu.org ---
Author: janus
Date: Tue Sep 18 19:16:24 2018
New Revision: 264407

URL: https://gcc.gnu.org/viewcvs?rev=264407=gcc=rev
Log:
2018-09-18  Janus Weil  

Backport from trunk
PR fortran/86830
* expr.c (gfc_is_simply_contiguous): Handle type-bound procedure calls
with non-polymorphic objects.

2018-09-18  Janus Weil  

Backport from trunk
PR fortran/86830
* gfortran.dg/typebound_call_30.f90: New test case.

Added:
branches/gcc-8-branch/gcc/testsuite/gfortran.dg/typebound_call_30.f90
Modified:
branches/gcc-8-branch/gcc/fortran/ChangeLog
branches/gcc-8-branch/gcc/fortran/expr.c
branches/gcc-8-branch/gcc/testsuite/ChangeLog

[Bug tree-optimization/87355] missed comparison optimizations (grep DFA, x86-64)

2018-09-18 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87355

Andrew Pinski  changed:

   What|Removed |Added

   Keywords||missed-optimization
  Component|target  |tree-optimization
   Severity|normal  |enhancement

[Bug target/87355] missed comparison optimizations (grep DFA, x86-64)

2018-09-18 Thread eggert at cs dot ucla.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87355

--- Comment #1 from eggert at cs dot ucla.edu ---
Created attachment 44721
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44721=edit
Assembly-language output of 'gcc -O2 -S t.c'

[Bug target/87355] New: missed comparison optimizations (grep DFA, x86-64)

2018-09-18 Thread eggert at cs dot ucla.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87355

Bug ID: 87355
   Summary: missed comparison optimizations (grep DFA, x86-64)
   Product: gcc
   Version: 8.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: eggert at cs dot ucla.edu
  Target Milestone: ---

Created attachment 44720
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44720=edit
source code illustrating missed optimizations

I found this when attempting to tune grep's DFA code on x86-64, and simplified
the issue to the attached source code t.c which defines two functions f and g
that are logically equivalent, and which can both be implemented via a single
machine-language comparison to THRESHOLD. However, GCC generates two
comparisons for f and three comparisons for g, as shown in the attached
assembly-language file t.s generated by 'gcc -O2 -S t.c'. I am running Fedora
28 x86-64 with 8.1.1 20180712 (Red Hat 8.1.1-5).

I'm not sure whether this problem is limited to x86-64 or is more general, and
for now am labeling its component as 'target'.

[Bug fortran/85954] [8/9 Regression] ICE in make_ssa_name_fn, at tree-ssanames.c:266

2018-09-18 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85954

Paul Thomas  changed:

   What|Removed |Added

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

--- Comment #9 from Paul Thomas  ---
Fixed on both branches.

Many thanks for the report.

Paul

[Bug fortran/87336] [8/9 regression] wrong output for pointer dummy assiocated to target actual argument

2018-09-18 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87336

--- Comment #3 from Paul Thomas  ---
Author: pault
Date: Tue Sep 18 17:58:20 2018
New Revision: 264405

URL: https://gcc.gnu.org/viewcvs?rev=264405=gcc=rev
Log:
2018-09-18  Paul Thomas  

PR fortran/87336
* trans-array.c (gfc_get_array_span): Try to get the element
length of incomplete types. Return NULL_TREE otherwise.
(gfc_conv_expr_descriptor): Only set the 'span' field if the
above does not return NULL_TREE. Set 'span' field if possible
for all new descriptors.

2018-09-18  Paul Thomas  

PR fortran/87336
* gfortran.dg/pointer_array_10.f90 : New test.
* gfortran.dg/assign_10.f90 : Increase 'parm' count to 20.
* gfortran.dg/transpose_optimization_2.f90 : Increase 'parm'
count to 72.


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

[Bug fortran/85954] [8/9 Regression] ICE in make_ssa_name_fn, at tree-ssanames.c:266

2018-09-18 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85954

--- Comment #8 from Paul Thomas  ---
Author: pault
Date: Tue Sep 18 17:54:20 2018
New Revision: 264404

URL: https://gcc.gnu.org/viewcvs?rev=264404=gcc=rev
Log:
2018-09-18  Paul Thomas  

PR fortran/85954
* resolve.c (resolve_assoc_var): If the target expression is a
deferred charlen dummy and the associate name shares the
charlen, generate a new one. Make sure that new charlens are in
the namespace list so that they get cleaned up.
* trans-array.c (gfc_is_reallocatable_lhs): Associate names are
not reallocatable.
* trans-decl.c (gfc_get_symbol_decl): Put deferred character
length dummy and result arrays on the deferred initialization
list so that the variable length arrays can be correctly dealt
with.
* trans-expr.c (gfc_conv_string_length): Return if 'expr' is
NULL rather than ICEing.

2018-09-18  Paul Thomas  

PR fortran/85954
* gfortran.dg/deferred_character_21.f90 : New test.


Added:
branches/gcc-8-branch/gcc/testsuite/gfortran.dg/deferred_character_21.f90
Modified:
branches/gcc-8-branch/gcc/fortran/ChangeLog
branches/gcc-8-branch/gcc/fortran/resolve.c
branches/gcc-8-branch/gcc/fortran/trans-array.c
branches/gcc-8-branch/gcc/fortran/trans-decl.c
branches/gcc-8-branch/gcc/fortran/trans-expr.c
branches/gcc-8-branch/gcc/testsuite/ChangeLog

[Bug c++/67491] [meta-bug] concepts issues

2018-09-18 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67491
Bug 67491 depends on bug 85065, which changed state.

Bug 85065 Summary: [concepts] ICE with invalid use of a concept
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85065

   What|Removed |Added

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

[Bug c++/85065] [concepts] ICE with invalid use of a concept

2018-09-18 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85065

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

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

[Bug c++/85065] [concepts] ICE with invalid use of a concept

2018-09-18 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85065

--- Comment #2 from paolo at gcc dot gnu.org  ---
Author: paolo
Date: Tue Sep 18 16:35:27 2018
New Revision: 264402

URL: https://gcc.gnu.org/viewcvs?rev=264402=gcc=rev
Log:
/cp
2018-09-18  Paolo Carlini  

PR c++/85065
* cp-tree.h (NON_ERROR): New.
* pt.c (auto_hash::hash): Use it.
(do_auto_deduction): Likewise.

/testsuite
2018-09-18  Paolo Carlini  

PR c++/85065
* g++.dg/concepts/pr85065.C: New.

Added:
trunk/gcc/testsuite/g++.dg/concepts/pr85065.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog

[Bug rtl-optimization/86882] [9 Regression] ICE in reg_overlap_mentioned_p, at rtlanal.c:1873

2018-09-18 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86882

Segher Boessenkool  changed:

   What|Removed |Added

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

--- Comment #10 from Segher Boessenkool  ---
Fixed on trunk and 8; closing as fixed.

[Bug rtl-optimization/86882] [9 Regression] ICE in reg_overlap_mentioned_p, at rtlanal.c:1873

2018-09-18 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86882

--- Comment #9 from Segher Boessenkool  ---
Author: segher
Date: Tue Sep 18 16:24:58 2018
New Revision: 264401

URL: https://gcc.gnu.org/viewcvs?rev=264401=gcc=rev
Log:
Backport PR86882 fix to 8


PR rtl-optimization/86882
* rtlanal.c (reg_overlap_mentioned_p): Handle CLOBBER.

Modified:
branches/gcc-8-branch/gcc/ChangeLog
branches/gcc-8-branch/gcc/rtlanal.c

[Bug rtl-optimization/86882] [9 Regression] ICE in reg_overlap_mentioned_p, at rtlanal.c:1873

2018-09-18 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86882

--- Comment #8 from Segher Boessenkool  ---
Author: segher
Date: Tue Sep 18 16:19:56 2018
New Revision: 264400

URL: https://gcc.gnu.org/viewcvs?rev=264400=gcc=rev
Log:
Handle CLOBBER in reg_overlap_mentioned_p (PR86882)

Combine will put CLOBBER (with a non-void mode) anywhere in a pattern
to poison it.  reg_overlap_mentioned_p did not handle this.  This patch
fixes that.


PR rtl-optimization/86882
* rtlanal.c (reg_overlap_mentioned_p): Handle CLOBBER.

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

[Bug fortran/87341] gfortran can not link executables: _edata: invalid version 21 (max 4)

2018-09-18 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87341

H.J. Lu  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |MOVED

--- Comment #15 from H.J. Lu  ---
(In reply to mi+gcc from comment #14)
> (In reply to H.J. Lu from comment #13)
> > Please try binutils 2.31 branch from:
> > 
> > https://sourceware.org/git/?p=binutils-gdb.git;a=shortlog;h=refs/heads/
> > binutils-2_31-branch
> 
> I'm sorry, I can not do that at this time -- I need to deliver the software
> for my employer and rebuilding the gcc suit with --disable-gold provides a
> work-around.
> 
> I think, this bug-report -- against the compiler suit neither working with
> the latest release of binutils, nor warning about it -- ought to remain open
> for reasons I put forth in comment#4.
> 
> The underlying problem with binutils deserves its own ticket, as Andrew
> suggests in comment#3. I think, I've given enough information for anyone to
> be able to reproduce the problem:
> 

As I said, the problem is fixed on binutils 2.31 branch.

[Bug fortran/87341] gfortran can not link executables: _edata: invalid version 21 (max 4)

2018-09-18 Thread mi+gcc at aldan dot algebra.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87341

--- Comment #14 from mi+gcc at aldan dot algebra.com ---
(In reply to H.J. Lu from comment #13)
> Please try binutils 2.31 branch from:
> 
> https://sourceware.org/git/?p=binutils-gdb.git;a=shortlog;h=refs/heads/
> binutils-2_31-branch

I'm sorry, I can not do that at this time -- I need to deliver the software for
my employer and rebuilding the gcc suit with --disable-gold provides a
work-around.

I think, this bug-report -- against the compiler suit neither working with the
latest release of binutils, nor warning about it -- ought to remain open for
reasons I put forth in comment#4.

The underlying problem with binutils deserves its own ticket, as Andrew
suggests in comment#3. I think, I've given enough information for anyone to be
able to reproduce the problem:

  1. Build the gcc suit with the configure-arguments provided
  2. Attempt to use the newly-built gfortran to build a FORTRAN program:

   PRINT *, "Hello World!"
   END

I could create this ticket for you, if you insist, but you should be able to
reproduce the problem yourself now. Thank you.

[Bug c++/87340] Stack overflow problem for c++filt

2018-09-18 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87340

Martin Sebor  changed:

   What|Removed |Added

 CC||msebor at gcc dot gnu.org

--- Comment #5 from Martin Sebor  ---
(In reply to Martin Liška from comment #3)
> Then it would deserve something like segfault-on-invalid-input :)
> Or should I use ice-on-invalid-code?

Let's use ice-on-invalid.  Otherwise the two will end up being used
interchangeably over time.

[Bug c++/86881] [8, 9 regression] tree check fail with flag Wshadow-compatible-local

2018-09-18 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86881

Nathan Sidwell  changed:

   What|Removed |Added

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

--- Comment #5 from Nathan Sidwell  ---
Fixed trunk r264391.
Fixed gcc-8 r264396.

[Bug c++/85137] [concepts] ICE with undeclared concept

2018-09-18 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85137

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC|paolo.carlini at oracle dot com|
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com

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

[Bug c++/86881] [8, 9 regression] tree check fail with flag Wshadow-compatible-local

2018-09-18 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86881

--- Comment #4 from Nathan Sidwell  ---
Author: nathan
Date: Tue Sep 18 15:06:35 2018
New Revision: 264396

URL: https://gcc.gnu.org/viewcvs?rev=264396=gcc=rev
Log:
[PATCH c++/86881] -Wshadow-local-compatible ICE

https://gcc.gnu.org/ml/gcc-patches/2018-09/msg00984.html
PR c++/86881
cp/
* name-lookup.c (check_local_shadow): Ignore auto types.

testsuite/
* g++.dg/warn/pr86881.C: New.

Added:
branches/gcc-8-branch/gcc/testsuite/g++.dg/warn/pr86881.C
Modified:
branches/gcc-8-branch/gcc/cp/ChangeLog
branches/gcc-8-branch/gcc/cp/name-lookup.c
branches/gcc-8-branch/gcc/testsuite/ChangeLog

[Bug fortran/87341] gfortran can not link executables: _edata: invalid version 21 (max 4)

2018-09-18 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87341

--- Comment #13 from H.J. Lu  ---
(In reply to mi+gcc from comment #12)
> (In reply to H.J. Lu from comment #11)
> > Please show the output of:
> > 
> > $ objdump -T
> > /prod/pfe/local/lib/gcc/x86_64-pc-linux-gnu/8/../../../../lib64/libgfortran.
> > so | grep corrupt
> 
> Neither the stock /usr/bin/objdump nor the newer /prod/pfe/local/bin/objdump
> report any corruption (used grep -i just in case).

Please try binutils 2.31 branch from:

https://sourceware.org/git/?p=binutils-gdb.git;a=shortlog;h=refs/heads/binutils-2_31-branch

[Bug target/87354] New: x86-64: 16- and 32-byte register variables cannot be put in XMM16/YMM16 and up without -mavx512vl

2018-09-18 Thread jbeulich at novell dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87354

Bug ID: 87354
   Summary: x86-64: 16- and 32-byte register variables cannot be
put in XMM16/YMM16 and up without -mavx512vl
   Product: gcc
   Version: 8.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jbeulich at novell dot com
  Target Milestone: ---

The same issue had been present in gas, but was corrected by commit 6e041cf4b0:
YMM (and of course also XMM) registers can certainly be used with AVX512F
alone, just that the set of insns is pretty limited. I realize that making this
work may not be a trivial change, as assumptions to this effect appear to be
made all over the place, but this code should imo compile (and assemble) fine
with just -mavx512f, while currently only the first function compiles without
error (QI mode vectors have been used just for simplicity and to make things
look reasonably uniform):

asm(".arch generic64");
asm(".arch .avx512f");

typedef char __attribute__((vector_size(64))) v64qi_t;
typedef char __attribute__((vector_size(16))) v16qi_t;
typedef char __attribute__((vector_size(32))) v32qi_t;

v64qi_t test512(v64qi_t x) {
register v64qi_t y asm("zmm16");
asm("vmovdqa32 %1,%0" : "=v" (y) : "v" (x));
return y;
}

v16qi_t test128(v64qi_t x) {
register v16qi_t y asm("xmm16");
asm("vpmovqw %1,%0" : "=v" (y) : "v" (x));
return y;
}

v32qi_t test256(v64qi_t x) {
register v32qi_t y asm("ymm16");
asm("vpmovqd %1,%0" : "=v" (y) : "v" (x));
return y;
}

[Bug fortran/87341] gfortran can not link executables: _edata: invalid version 21 (max 4)

2018-09-18 Thread mi+gcc at aldan dot algebra.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87341

--- Comment #12 from mi+gcc at aldan dot algebra.com ---
(In reply to H.J. Lu from comment #11)
> Please show the output of:
> 
> $ objdump -T
> /prod/pfe/local/lib/gcc/x86_64-pc-linux-gnu/8/../../../../lib64/libgfortran.
> so | grep corrupt

Neither the stock /usr/bin/objdump nor the newer /prod/pfe/local/bin/objdump
report any corruption (used grep -i just in case).

[Bug fortran/87341] gfortran can not link executables: _edata: invalid version 21 (max 4)

2018-09-18 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87341

--- Comment #11 from H.J. Lu  ---
(In reply to mi+gcc from comment #10)
> (In reply to mi+gcc from comment #9)
> > Is this it, for example:
> > 
> > https://sourceware.org/ml/binutils/2018-08/msg00227.html
> 
> Applied the patch to the 2.31 release, rebuilt/reinstalled binutils --
> problem is still here...

Please show the output of:

$ objdump -T
/prod/pfe/local/lib/gcc/x86_64-pc-linux-gnu/8/../../../../lib64/libgfortran.so
| grep corrupt

[Bug other/87353] gcc man page formatting issue due to leading spaces in .texi contents

2018-09-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87353

--- Comment #5 from Jonathan Wakely  ---
Author: redi
Date: Tue Sep 18 14:19:55 2018
New Revision: 264395

URL: https://gcc.gnu.org/viewcvs?rev=264395=gcc=rev
Log:
PR other/87353 fix formatting and grammar in manual

The changes to invoke.texi in r242433 left some unwanted spaces that
texi2pod.pl interprets as verbatim formatting. There are also some
grammatical errors due to the removal of references to GCJ, where the
G++ driver is referred to in the plural.

PR other/87353
* doc/invoke.texi (Link Options): Fix formatting and grammar.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/doc/invoke.texi

[Bug other/87353] gcc man page formatting issue due to leading spaces in .texi contents

2018-09-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87353

Jonathan Wakely  changed:

   What|Removed |Added

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

--- Comment #4 from Jonathan Wakely  ---
Fixed on trunk so far, branches to follow.

[Bug fortran/87341] gfortran can not link executables: _edata: invalid version 21 (max 4)

2018-09-18 Thread mi+gcc at aldan dot algebra.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87341

--- Comment #10 from mi+gcc at aldan dot algebra.com ---
(In reply to mi+gcc from comment #9)
> Is this it, for example:
> 
> https://sourceware.org/ml/binutils/2018-08/msg00227.html

Applied the patch to the 2.31 release, rebuilt/reinstalled binutils -- problem
is still here...

[Bug testsuite/87339] [9 Regression] gcc.dg/warn-abs-1.c FAILs

2018-09-18 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87339

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ktkachov at gcc dot gnu.org

--- Comment #2 from ktkachov at gcc dot gnu.org ---
Fixed on arm and aarch64 with r264392.
If you can confirm this fixes the other platforms please close this off.

[Bug other/87353] gcc man page formatting issue due to leading spaces in .texi contents

2018-09-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87353

--- Comment #3 from Jonathan Wakely  ---
This was introduced by r242433 

https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/doc/invoke.texi?limit_changes=0=242433=242432=242433

[Bug target/87104] missed &, == optimization makes Emacs ~0.4% slower on x86-64

2018-09-18 Thread pipcet at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87104

pipcet at gmail dot com changed:

   What|Removed |Added

  Attachment #44617|0   |1
is obsolete||

--- Comment #14 from pipcet at gmail dot com ---
Created attachment 44719
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44719=edit
WIP patch

Okay, I've run into a few issues:
1. temacs run time changes unpredictably based on the configuration data,
because of find_string_data_in_pure.
2. My CPU fuses "cmp" and a conditional branch and "test" and a conditional
branch, but not "and" and a conditional branch. So we were optimizing a
three-insn two-uop sequence into a two-insn two-uop sequence, and I was not
seeing any performance improvement.
3. The code size changes sometimes cause branches to be mispredicted much more
often for no apparent reason.

I've worked around (1) and (2), by disabling find_string_data_in_pure() and
making the peephole rule that turned "test" into "and" conditional on CPU type.
Now I'm seeing a consistent performance improvement (as well as fewer
instructions, fewer uops, and more fused branches) for Perl and Emacs.

[Bug other/87353] gcc man page formatting issue due to leading spaces in .texi contents

2018-09-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87353

--- Comment #2 from Jonathan Wakely  ---
Also, "Therefore, the G++ and driver" is nonsense.

[Bug c++/86881] [8, 9 regression] tree check fail with flag Wshadow-compatible-local

2018-09-18 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86881

--- Comment #3 from Nathan Sidwell  ---
Author: nathan
Date: Tue Sep 18 13:52:30 2018
New Revision: 264391

URL: https://gcc.gnu.org/viewcvs?rev=264391=gcc=rev
Log:
[PATCH c++/86881] -Wshadow-local-compatible ICE

https://gcc.gnu.org/ml/gcc-patches/2018-09/msg00984.html
PR c++/86881
cp/
* name-lookup.c (check_local_shadow): Ignore auto types.

testsuite/
* g++.dg/warn/pr86881.C: New.

Added:
trunk/gcc/testsuite/g++.dg/warn/pr86881.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/name-lookup.c
trunk/gcc/testsuite/ChangeLog

[Bug other/87353] gcc man page formatting issue due to leading spaces in .texi contents

2018-09-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87353

Jonathan Wakely  changed:

   What|Removed |Added

   Keywords||documentation
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2018-09-18
 Ever confirmed|0   |1

[Bug fortran/87341] gfortran can not link executables: _edata: invalid version 21 (max 4)

2018-09-18 Thread mi+gcc at aldan dot algebra.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87341

--- Comment #9 from mi+gcc at aldan dot algebra.com ---
> I said binutils 2.31 branch, not 2.31 release.

The work I'm doing is meant for eventual production use. The company has
swallowed the use of free software, but using _unreleased_ versions may be too
much.

Is there a particular patch, you want me to apply to 2.31 release? I could do
that... Is this it, for example:

https://sourceware.org/ml/binutils/2018-08/msg00227.html

?

[Bug fortran/87341] gfortran can not link executables: _edata: invalid version 21 (max 4)

2018-09-18 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87341

--- Comment #8 from H.J. Lu  ---
(In reply to mi+gcc from comment #7)
> (In reply to H.J. Lu from comment #6)
> > This sounds like
> > 
> > https://sourceware.org/bugzilla/show_bug.cgi?id=23499
> > 
> > Please try binutils 2.31 branch.
> 
> Actually, I have binutils-2.31 already -- the /usr/bin/as, that comes with
> RHEL6, does not understand the AVX2 instructions, so I had to build binutils
> of my own, and, of course, used the latest available:
> 
>  % /prod/pfe/local/bin/ld -v
>  GNU ld (GNU Binutils) 2.31
> 
> and the ld used by gfortran (see the verbose output I posted) is a hardlink
> to the above:
> 
>  %
> /prod/pfe/local/lib/gcc/x86_64-pc-linux-gnu/8/../../../../x86_64-pc-linux-
> gnu/bin/ld
>  GNU ld (GNU Binutils) 2.31

I said binutils 2.31 branch, not 2.31 release.

[Bug fortran/87341] gfortran can not link executables: _edata: invalid version 21 (max 4)

2018-09-18 Thread mi+gcc at aldan dot algebra.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87341

mi+gcc at aldan dot algebra.com changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|MOVED   |---

--- Comment #7 from mi+gcc at aldan dot algebra.com ---
(In reply to H.J. Lu from comment #6)
> This sounds like
> 
> https://sourceware.org/bugzilla/show_bug.cgi?id=23499
> 
> Please try binutils 2.31 branch.

Actually, I have binutils-2.31 already -- the /usr/bin/as, that comes with
RHEL6, does not understand the AVX2 instructions, so I had to build binutils of
my own, and, of course, used the latest available:

 % /prod/pfe/local/bin/ld -v
 GNU ld (GNU Binutils) 2.31

and the ld used by gfortran (see the verbose output I posted) is a hardlink to
the above:

 %
/prod/pfe/local/lib/gcc/x86_64-pc-linux-gnu/8/../../../../x86_64-pc-linux-gnu/bin/ld
 GNU ld (GNU Binutils) 2.31

[Bug middle-end/63155] [6/7/8/9 Regression] memory hog

2018-09-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63155

--- Comment #26 from Richard Biener  ---
Author: rguenth
Date: Tue Sep 18 13:26:05 2018
New Revision: 264388

URL: https://gcc.gnu.org/viewcvs?rev=264388=gcc=rev
Log:
2018-09-18  Richard Biener  

PR middle-end/63155
* tree-ssa-coalesce.c (tree_int_map_hasher): Remove.
(compute_samebase_partition_bases): Likewise.
(coalesce_ssa_name): Always use compute_optimized_partition_bases.
(gimple_can_coalesce_p): Simplify.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-coalesce.c

[Bug fortran/87341] gfortran can not link executables: _edata: invalid version 21 (max 4)

2018-09-18 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87341

H.J. Lu  changed:

   What|Removed |Added

   See Also||https://sourceware.org/bugz
   ||illa/show_bug.cgi?id=23499

--- Comment #6 from H.J. Lu  ---
This sounds like

https://sourceware.org/bugzilla/show_bug.cgi?id=23499

Please try binutils 2.31 branch.

[Bug c++/87335] The stack overflow in function cplus_demangle_type in cp-demangle.c:2565 (c++filt -t)

2018-09-18 Thread wcventure at 126 dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87335

--- Comment #9 from Cheng Wen  ---
(In reply to Jonathan Wakely from comment #8)

Hi Jonathan,

I debugged with this POC again. I still think it's a problem. I will show you
the debug process as follow.

> $ gdb ./c++filt
> Reading symbols from ./c++filt...done.
> (gdb) set args -t < POC-t
> (gdb) b cp-demangle.c:2565
> Breakpoint 1 at 0x8d5227: file ./cp-demangle.c, line 2565.
> (gdb) start
> (gdb) c
> Continuing.
> Breakpoint 1, cplus_demangle_type (di=0x7fffd560) at ./cp-demangle.c:2565
> 2565  cplus_demangle_type (di), NULL);
> (gdb) c
> Continuing.
> Breakpoint 1, cplus_demangle_type (di=0x7fffd560) at ./cp-demangle.c:2565
> 2565  cplus_demangle_type (di), NULL);
> ...
> ...
> ...
> (gdb) c
> Continuing.
> Breakpoint 1, cplus_demangle_type (di=0x7fffd560) at ./cp-demangle.c:2565
> 2565  cplus_demangle_type (di), NULL);
> (gdb) bt
> #0  cplus_demangle_type (di=0x7fffd560) at ./cp-demangle.c:2565
> #1  0x008d523d in cplus_demangle_type (di=0x7fffd560) at 
> ./cp-demangle.c:2565
> #2  0x008d523d in cplus_demangle_type (di=0x7fffd560) at 
> ./cp-demangle.c:2565
> #3  0x008d523d in cplus_demangle_type (di=0x7fffd560) at 
> ./cp-demangle.c:2565
> #4  0x008d523d in cplus_demangle_type (di=0x7fffd560) at 
> ./cp-demangle.c:2565
> ...
> ...
> ...
> #456 0x008d523d in cplus_demangle_type (di=0x7fffd560) at 
> ./cp-demangle.c:2565
> #457 0x008d523d in cplus_demangle_type (di=0x7fffd560) at 
> ./cp-demangle.c:2565
> #458 0x008dd318 in d_demangle_callback (mangled=0x18b2e40 
>  'P' ..., options=283,
>   callback=0x8dc110 , 
> opaque=0x7fffd860) at ./cp-demangle.c:6245
> #459 0x008dc84f in d_demangle (mangled=0x18b2e40  'P' 
> ..., options=283,
>   palc=0x7fffd9e0) at ./cp-demangle.c:6299
> #460 0x008dc696 in cplus_demangle_v3 (mangled=0x18b2e40 
>  'P' ..., options=283)
>   at ./cp-demangle.c:6456
> #461 0x008b1cf4 in cplus_demangle (mangled=0x18b2e40  
> 'P' ..., options=27)
>   at ./cplus-dem.c:880
> #462 0x00517676 in demangle_it (mangled_name=0x18b2e40  
> 'P' ...) at cxxfilt.c:62
> #463 0x0051726a in main (argc=2, argv=0x7fffe008) at cxxfilt.c:276


Using gdb to debug it. I set a breakpoint in cp-demangle.c:2565. After reaching
this breakpoint for any time. You can see the stack backtrace.
This will consume a lot of stack memory.
(Caution: the command such as "gdb --args ./c++filt -t < $POC" is not valid.
Please use "gdb ./c++filt", then "set args -t < $POC")

Thanks
Cheng Wen

[Bug other/87353] gcc man page formatting issue due to leading spaces in .texi contents

2018-09-18 Thread vincent-gcc at vinc17 dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87353

--- Comment #1 from Vincent Lefèvre  ---
The bug may be in contrib/texi2pod.pl as the following pod text is generated:

Therefore, the G++ and driver automatically adds B<-shared-libgcc>
 whenever you build a shared library or a main executable, because C++
 programs typically use exceptions, so this is the right thing to do.

and the pod specification says: "A verbatim paragraph is distinguished by
having its first character be a space or a tab."

[Bug other/87353] New: gcc man page formatting issue due to leading spaces in .texi contents

2018-09-18 Thread vincent-gcc at vinc17 dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87353

Bug ID: 87353
   Summary: gcc man page formatting issue due to leading spaces in
.texi contents
   Product: gcc
   Version: 9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
  Assignee: unassigned at gcc dot gnu.org
  Reporter: vincent-gcc at vinc17 dot net
  Target Milestone: ---

The gcc(1) man page (gcc.1) shows as:

   Therefore, the G++ and driver automatically adds -shared-libgcc
whenever you build a shared library or a main executable, because
   C++
programs typically use exceptions, so this is the right thing to
   do.

This is due to gcc/doc/invoke.texi containing leading spaces:

Therefore, the G++ and driver automatically adds @option{-shared-libgcc}
 whenever you build a shared library or a main executable, because C++
 programs typically use exceptions, so this is the right thing to do.

Removing these spaces should solve the problem (I haven't checked other parts
of the manual), but AFAIK, such spaces are valid and do not yield any issue in
generated .info files. Thus the real bug could be in conversion utilities
(contrib/texi2pod.pl, provided by GCC, or pod2man).

[Bug fortran/87352] New: Large stack usage with new gfortran

2018-09-18 Thread jeremy at jeremysanders dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87352

Bug ID: 87352
   Summary: Large stack usage with new gfortran
   Product: gcc
   Version: 8.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jeremy at jeremysanders dot net
  Target Milestone: ---

Created attachment 44718
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44718=edit
Affected module and example main program

With gcc/gfortran 7.3 and 8.2, creation of a variable in the main program with
a particular type defined in a module (attached) leads to a segfault due to
very large stack usage. This worked on gcc 4.8.4 and earlier versions.

In addition compilation of the module creates an object file which is x1
times larger than for earlier gcc versions (200MB vs 25KB). With optimization
(-O2), the compilation time is several minutes, rather than less than a second.

Instructions for compilation:

$ gfortran -ffixed-line-length-none -ffree-line-length-none -g -O2 -o testcomb
testcomb.f90 
testcomb.f90:1303:0:

 end module  testmodule

note: variable tracking size limit exceeded with -fvar-tracking-assignments,
retrying without
$ ./testcomb 
$ gdb ./testcomb 
GNU gdb (Ubuntu 8.1-0ubuntu3) 8.1.0.20180409-git
...
(gdb) run
Starting program: /home/jsanders/tmp/foo/testcomb 

Program received signal SIGSEGV, Segmentation fault.
testprog () at testcomb.f90:1309
1309  type(instlist_type),target:: instlist

It works if the stack is increased to 819200.

This problem is seen using Ubuntu Bionic (18.04) on x86-64, using the built-in
gcc (7.3.0), or a self-compiled version (8.2.0) with no special build options.

[Bug preprocessor/87351] misleading error message: missing binary operator before token "("

2018-09-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87351

Jonathan Wakely  changed:

   What|Removed |Added

   Keywords||diagnostic
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2018-09-18
 Ever confirmed|0   |1

[Bug target/87330] ICE in scan_rtx_reg, at regrename.c:1097

2018-09-18 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87330

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed|2018-09-17 00:00:00 |2018-09-18
   Assignee|unassigned at gcc dot gnu.org  |siddhesh at gotplt dot 
org
 Ever confirmed|0   |1

--- Comment #3 from ktkachov at gcc dot gnu.org ---
Assigning.

[Bug rtl-optimization/86882] [9 Regression] ICE in reg_overlap_mentioned_p, at rtlanal.c:1873

2018-09-18 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86882

Segher Boessenkool  changed:

   What|Removed |Added

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

--- Comment #7 from Segher Boessenkool  ---
I have a patch.

[Bug bootstrap/87338] gcc 8.2 fails to bootstrap on ia64

2018-09-18 Thread jason.duerstock at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87338

--- Comment #3 from Jason Duerstock  ---
Yes.  From the Debian build log:
https://buildd.debian.org/status/fetch.php?pkg=gcc-7=ia64=7.3.0-29=1536161281=0

[Bug preprocessor/87351] New: misleading error message: missing binary operator before token "("

2018-09-18 Thread vincent-gcc at vinc17 dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87351

Bug ID: 87351
   Summary: misleading error message: missing binary operator
before token "("
   Product: gcc
   Version: 9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: preprocessor
  Assignee: unassigned at gcc dot gnu.org
  Reporter: vincent-gcc at vinc17 dot net
  Target Milestone: ---

The error message

  error: missing binary operator before token "("

from the preprocessor is misleading in general, as in most cases, it is not a
binary operator that is missing, but the error is due to the use of sizeof, a
cast, or a function-like macro that is not defined. The preprocessor could
either output a fixed error message that would reflect the most common
misusages, or try to guess what is wrong (like the use of sizeof or something
that looks like a cast).

For instance:

$ cat tst.c
#if sizeof(int) > 4
#endif
$ gcc-snapshot -E tst.c
# 1 "tst.c"
# 1 ""
# 1 ""
# 31 ""
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 32 "" 2
# 1 "tst.c"
tst.c:1:11: error: missing binary operator before token "("
1 | #if sizeof(int) > 4
  |   ^

Some users can get confused. For instance, see:
*
https://stackoverflow.com/questions/21338385/what-does-the-compiler-error-missing-binary-operator-before-token-mean
*
https://cboard.cprogramming.com/c-programming/158452-error-missing-binary-operator-before-token.html
*
https://www.linuxquestions.org/questions/programming-9/missing-binary-operator-before-token-4175547706/
* https://forum.kde.org/viewtopic.php?f=269=128141

[Bug tree-optimization/87342] [9 Regression] ICE: verify_ssa failed (error: definition in block 10 does not dominate use in block 8)

2018-09-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87342

--- Comment #2 from Richard Biener  ---
Thanks, that's another case similar to PR87263 where we cannot use
dominated_by_p_w_unex.  But I think the error is in computation of max_rpo
for BB 15 which is 6 instead of 13.  Because we're supposed to mark the
respective edges executable.

Needs more thinking.

[Bug c++/54052] g++ takes excessive time in opt and generate phase; can lead to Segmentation Fault when not enough memory available

2018-09-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54052

Jonathan Wakely  changed:

   What|Removed |Added

   Last reconfirmed|2017-08-22 00:00:00 |2018-9-18
 CC|redi at gcc dot gnu.org|

--- Comment #9 from Jonathan Wakely  ---
Compiles successfully using i686-pc-linux-gnu, but takes a long time. As I
said, it's an unreasonably large expression (3883 lines!) so that's not
surprising. Don't write silly code if you don't have enough memory to compile
it.

I tried compiling it with Clang and it crashes.

[Bug c++/87350] NULL-Pointer problem in cplus-dem.c when executing program c++filt

2018-09-18 Thread wcventure at 126 dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87350

--- Comment #4 from Cheng Wen  ---
Yes.

One input test case is "_GLOBAL_$D$__tf30___0__".
Another input test case is "__thunk_0__0__$__H1".

I see that you can you can reproduce this error. Do you know the reason for
this bug?

[Bug c++/87335] The stack overflow in function cplus_demangle_type in cp-demangle.c:2565 (c++filt -t)

2018-09-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87335

--- Comment #8 from Jonathan Wakely  ---
It still works for up to ten million characters:

$ for i in `seq 1 10` ; do printf P ; done | /tmp/binutils/bin/c++filt -t ;
echo
PP
$ for i in `seq 1 100` ; do printf P ; done | /tmp/binutils/bin/c++filt -t | wc 
  0   1 100
$ for i in `seq 1 1000` ; do printf P ; done | /tmp/binutils/bin/c++filt -t |
wc 
  0   11000
$ for i in `seq 1 1` ; do printf P ; done | /tmp/binutils/bin/c++filt -t |
wc 
  0   1   1
$ for i in `seq 1 10` ; do printf P ; done | /tmp/binutils/bin/c++filt -t |
wc 
  0   1  10
$ for i in `seq 1 100` ; do printf P ; done | /tmp/binutils/bin/c++filt -t
| wc 
  0   1 100
$ for i in `seq 1 1000` ; do printf P ; done | /tmp/binutils/bin/c++filt -t
| wc 
  0   1 1000

[Bug c++/87335] The stack overflow in function cplus_demangle_type in cp-demangle.c:2565 (c++filt -t)

2018-09-18 Thread wcventure at 126 dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87335

--- Comment #7 from Cheng Wen  ---
(In reply to Jonathan Wakely from comment #6)

Considering the memory size of different machines, maybe more 'P' is needed to
trigger this bug in the input.

[Bug c++/87350] NULL-Pointer problem in cplus-dem.c when executing program c++filt

2018-09-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87350

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2018-09-18
 Ever confirmed|0   |1

--- Comment #3 from Jonathan Wakely  ---
(In reply to Cheng Wen from comment #1)
> Created attachment 44714 [details]
> POC1

You've uploaded two complete HTML pages saved from github, but the mangled name
that crash are just:

_GLOBAL_$D$__tf30___0__
__thunk_0__0__$__H1



$ echo '_GLOBAL_$D$__tf30___0__' | /tmp/binutils/bin/c++filt 
ASAN:DEADLYSIGNAL
=
==6977==ERROR: AddressSanitizer: SEGV on unknown address 0x (pc
0x7f5fbbb47f31 bp 0x7fff4a202c20 sp 0x7fff4a202398 T0)
==6977==The signal is caused by a READ memory access.
==6977==Hint: address points to the zero page.
#0 0x7f5fbbb47f30 in __strlen_avx2 (/lib64/libc.so.6+0x155f30)
#1 0x7f5fbbffd27b  (/lib64/libasan.so.4+0x5127b)
#2 0x497e34 in work_stuff_copy_to_from
/home/jwakely/src/binutils-gdb/libiberty/cplus-dem.c:1345
#3 0x49cdd8 in iterate_demangle_function
/home/jwakely/src/binutils-gdb/libiberty/cplus-dem.c:2731
#4 0x49d962 in demangle_prefix
/home/jwakely/src/binutils-gdb/libiberty/cplus-dem.c:2971
#5 0x49d962 in internal_cplus_demangle
/home/jwakely/src/binutils-gdb/libiberty/cplus-dem.c:1253
#6 0x498860 in cplus_demangle
/home/jwakely/src/binutils-gdb/libiberty/cplus-dem.c:918
#7 0x402ea5 in demangle_it (/tmp/binutils/bin/c++filt+0x402ea5)
#8 0x4037af in main (/tmp/binutils/bin/c++filt+0x4037af)
#9 0x7f5fbba12fe9 in __libc_start_main (/lib64/libc.so.6+0x20fe9)
#10 0x402d29 in _start (/tmp/binutils/bin/c++filt+0x402d29)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/lib64/libc.so.6+0x155f30) in __strlen_avx2
==6977==ABORTING
wraith:tmp$ echo '__thunk_0__0__$__H1' | /tmp/binutils/bin/c++filt 
ASAN:DEADLYSIGNAL
=
==6981==ERROR: AddressSanitizer: SEGV on unknown address 0x (pc
0x00497f27 bp 0x7ffc897891e0 sp 0x7ffc89789170 T0)
==6981==The signal is caused by a READ memory access.
==6981==Hint: address points to the zero page.
#0 0x497f26 in work_stuff_copy_to_from
/home/jwakely/src/binutils-gdb/libiberty/cplus-dem.c:1358
#1 0x49cdd8 in iterate_demangle_function
/home/jwakely/src/binutils-gdb/libiberty/cplus-dem.c:2731
#2 0x49d962 in demangle_prefix
/home/jwakely/src/binutils-gdb/libiberty/cplus-dem.c:2971
#3 0x49d962 in internal_cplus_demangle
/home/jwakely/src/binutils-gdb/libiberty/cplus-dem.c:1253
#4 0x498860 in cplus_demangle
/home/jwakely/src/binutils-gdb/libiberty/cplus-dem.c:918
#5 0x402ea5 in demangle_it (/tmp/binutils/bin/c++filt+0x402ea5)
#6 0x4037af in main (/tmp/binutils/bin/c++filt+0x4037af)
#7 0x7ff5a9a18fe9 in __libc_start_main (/lib64/libc.so.6+0x20fe9)
#8 0x402d29 in _start (/tmp/binutils/bin/c++filt+0x402d29)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV
/home/jwakely/src/binutils-gdb/libiberty/cplus-dem.c:1358 in
work_stuff_copy_to_from
==6981==ABORTING

[Bug gcov-profile/85871] g++.dg/gcov/gcov-8.C random failures

2018-09-18 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85871

Martin Liška  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
  Known to work||8.2.1
 Resolution|--- |FIXED
Summary|[8 Regression]  |g++.dg/gcov/gcov-8.C random
   |g++.dg/gcov/gcov-8.C random |failures
   |failures|
  Known to fail|8.2.0   |

--- Comment #14 from Martin Liška  ---
Fixed on all active branches.

[Bug c++/87335] The stack overflow in function cplus_demangle_type in cp-demangle.c:2565 (c++filt -t)

2018-09-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87335

--- Comment #6 from Jonathan Wakely  ---
(In reply to Cheng Wen from comment #5)
> (In reply to Jonathan Wakely from comment #4)
> > Are you sure you attached the right file? When I try to demangle the
> > attachment it doesn't crash, the __cxa_demangle file returns -2, meaning the
> > name is not valid. That seems like the right result.
> 
> I have tried to reproduce this bug on different machines.
> There are some questions to be confirmed.
> 
> (1) Do you use the latest version of binutils(binutils-2.32/binutils-2.31)?
> I downloaded the package from here.
> https://www.gnu.org/software/binutils/

Built from the binutils-gdb git repo:

$ /tmp/binutils/bin/c++filt -v
GNU c++filt (GNU Binutils) 2.31.51.20180918
Copyright (C) 2018 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.


> (2) Please confirm that you have used the option "-t".
> The command should be "./c++filt -t < $POC"

$ /tmp/binutils/bin/c++filt -t < POC-t | wc 
  0   1   26539
$ echo $?
0


> (3) Do you confirm this POC with address sanitizer?

Yes it's linked to libasan

$ ldd /tmp/binutils/bin/c++filt 
linux-vdso.so.1 (0x7fff0618b000)
libasan.so.4 => /lib64/libasan.so.4 (0x7fc372241000)
libdl.so.2 => /lib64/libdl.so.2 (0x7fc37203d000)
libc.so.6 => /lib64/libc.so.6 (0x7fc371c87000)
librt.so.1 => /lib64/librt.so.1 (0x7fc371a7f000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x7fc371861000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x7fc3714d9000)
libm.so.6 => /lib64/libm.so.6 (0x7fc37118e000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x7fc370f77000)
/lib64/ld-linux-x86-64.so.2 (0x7fc3731f9000)

[Bug c++/87333] A stack overflow problem for c++filt

2018-09-18 Thread wcventure at 126 dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87333

--- Comment #4 from Cheng Wen  ---
Created attachment 44717
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44717=edit
POC2

I have the new POC to add.
Please use the “c++filt < $POC ” to reproduce the bug.
Please check it and debug it. Thank you.

POC2:
https://github.com/ntu-sec/pocs/blob/master/binutils-aff4a119/crashes/so_cplus-dem.c:4960_2

The ASAN dumps the stack trace as follows on POC2:
https://github.com/ntu-sec/pocs/blob/master/binutils-aff4a119/crashes/so_cplus-dem.c:4960_2.err.txt

AddressSanitizer:DEADLYSIGNAL
=
==24101==ERROR: AddressSanitizer: stack-overflow on address 0x7ffcd22d1fd8 (pc
0x00497287 bp 0x7ffcd22d2850 sp 0x7ffcd22d1fe0 T0)
#0 0x497286 in __interceptor_strlen.part.30
(/home/hongxu/FOT/binutils/BUILD/install/bin/c++filt+0x497286)
#1 0x8bdc7e in string_append
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:4960:7
#2 0x8cb7f5 in demangle_args
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:4578:7
#3 0x8cdff7 in demangle_nested_args
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:4713:12
#4 0x8ad46a in do_type
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:3719:9
#5 0x8cd8c6 in do_arg
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:4332:8
...
...
...
#245 0x8cd8c6 in do_arg
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:4332:8
#246 0x8cc7b4 in demangle_args
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:4659:9
#247 0x8cdff7 in demangle_nested_args
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:4713:12
#248 0x8ad46a in do_type
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:3719:9
#249 0x8cd8c6 in do_arg
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:4332:8

SUMMARY: AddressSanitizer: stack-overflow
(/home/hongxu/FOT/binutils/BUILD/install/bin/c++filt+0x497286) in
__interceptor_strlen.part.30
==24101==ABORTING

[Bug c++/87333] A stack overflow problem for c++filt

2018-09-18 Thread wcventure at 126 dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87333

--- Comment #3 from Cheng Wen  ---
Created attachment 44716
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44716=edit
POC1

I have the new POC to add.
Please use the “c++filt < $POC ” to reproduce the bug.
Please check it and debug it. Thank you.


POC1:
https://github.com/ntu-sec/pocs/blob/master/binutils-aff4a119/crashes/so_cplus-dem.c:4960_1

The ASAN dumps the stack trace as follows on POC1:
https://github.com/ntu-sec/pocs/blob/master/binutils-aff4a119/crashes/so_cplus-dem.c:4960_1.err.txt

AddressSanitizer:DEADLYSIGNAL
=
==24028==ERROR: AddressSanitizer: stack-overflow on address 0x7ffd854a7e18 (pc
0x00497287 bp 0x7ffd854a8690 sp 0x7ffd854a7e20 T0)
#0 0x497286 in __interceptor_strlen.part.30
(/home/hongxu/FOT/binutils/BUILD/install/bin/c++filt+0x497286)
#1 0x8bdc7e in string_append
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:4960:7
#2 0x8cb7f5 in demangle_args
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:4578:7
#3 0x8cdff7 in demangle_nested_args
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:4713:12
#4 0x8ad46a in do_type
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:3719:9
#5 0x8cd8c6 in do_arg
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:4332:8
...
...
...
#244 0x8ad46a in do_type
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:3719:9
#245 0x8cd8c6 in do_arg
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:4332:8
#246 0x8cc7b4 in demangle_args
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:4659:9
#247 0x8cdff7 in demangle_nested_args
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:4713:12
#248 0x8ad46a in do_type
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:3719:9
#249 0x8cd8c6 in do_arg
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:4332:8

SUMMARY: AddressSanitizer: stack-overflow
(/home/hongxu/FOT/binutils/BUILD/install/bin/c++filt+0x497286) in
__interceptor_strlen.part.30
==24028==ABORTING

[Bug c++/80635] std::optional and bogus -Wmaybe-uninitialized warning

2018-09-18 Thread manu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80635

Manuel López-Ibáñez  changed:

   What|Removed |Added

 CC||manu at gcc dot gnu.org,
   ||msebor at gcc dot gnu.org

--- Comment #13 from Manuel López-Ibáñez  ---
This may be another case where it is worth it to print the inline stack AND
silence a warning whose inline stack is within pragma GCC diagnostics.

However, there seems to be another kind of missed optimization going on here.

[Bug c++/87335] The stack overflow in function cplus_demangle_type in cp-demangle.c:2565 (c++filt -t)

2018-09-18 Thread wcventure at 126 dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87335

--- Comment #5 from Cheng Wen  ---
(In reply to Jonathan Wakely from comment #4)
> Are you sure you attached the right file? When I try to demangle the
> attachment it doesn't crash, the __cxa_demangle file returns -2, meaning the
> name is not valid. That seems like the right result.

I have tried to reproduce this bug on different machines.
There are some questions to be confirmed.

(1) Do you use the latest version of binutils(binutils-2.32/binutils-2.31)? I
downloaded the package from here.
https://www.gnu.org/software/binutils/

(2) Please confirm that you have used the option "-t".
The command should be "./c++filt -t < $POC"

(3) Do you confirm this POC with address sanitizer?

[Bug c++/87340] Stack overflow problem for c++filt

2018-09-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87340

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2018-09-18
 Ever confirmed|0   |1

--- Comment #4 from Jonathan Wakely  ---
The __cxa_demangle function returns 2 for each of these testcases, but the
cplus_demangle function segfaults.

[Bug c++/87335] The stack overflow in function cplus_demangle_type in cp-demangle.c:2565 (c++filt -t)

2018-09-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87335

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2018-09-18
 Ever confirmed|0   |1

--- Comment #4 from Jonathan Wakely  ---
Are you sure you attached the right file? When I try to demangle the attachment
it doesn't crash, the __cxa_demangle file returns -2, meaning the name is not
valid. That seems like the right result.

[Bug c++/87350] NULL-Pointer problem in cplus-dem.c when executing program c++filt

2018-09-18 Thread wcventure at 126 dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87350

--- Comment #2 from Cheng Wen  ---
Created attachment 44715
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44715=edit
POC2

[Bug c++/87350] NULL-Pointer problem in cplus-dem.c when executing program c++filt

2018-09-18 Thread wcventure at 126 dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87350

--- Comment #1 from Cheng Wen  ---
Created attachment 44714
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44714=edit
POC1

[Bug c++/87350] New: NULL-Pointer problem in cplus-dem.c when executing program c++filt

2018-09-18 Thread wcventure at 126 dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87350

Bug ID: 87350
   Summary: NULL-Pointer problem in cplus-dem.c when executing
program c++filt
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: wcventure at 126 dot com
  Target Milestone: ---

Hi,

Our fuzzer caught NULL-Pointer problems in c++filt of the latest binutils code
base, those inputs will cause the segment faults and I have confirmed them with
address sanitizer. 
Please use the “c++filt < $POC ” to reproduce the bug.
Please check it and debug it. Thank you.


The ASAN dumps the stack trace as follows on POC1:
https://github.com/ntu-sec/pocs/blob/master/binutils-aff4a119/crashes/npd_r_cplus-dem.c:1345_1.err.txt

AddressSanitizer:DEADLYSIGNAL
=
==23610==ERROR: AddressSanitizer: SEGV on unknown address 0x (pc
0x7f67702435a1 bp 0x7ffe2a376680 sp 0x7ffe2a375e08 T0)
==23610==The signal is caused by a READ memory access.
==23610==Hint: address points to the zero page.
#0 0x7f67702435a0 
/build/glibc-OTsEL5/glibc-2.27/string/../sysdeps/x86_64/multiarch/strlen-avx2.S:59
#1 0x49728c in __interceptor_strlen.part.30
(/home/hongxu/FOT/binutils/BUILD/install/bin/c++filt+0x49728c)
#2 0x8c9caa in work_stuff_copy_to_from
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:1345:17
#3 0x8c553c in iterate_demangle_function
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:2731:3
#4 0x8b77ec in demangle_prefix
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:2971:14
#5 0x8b2d00 in internal_cplus_demangle
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:1253:14
#6 0x8afe53 in cplus_demangle
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:918:9
#7 0x513dd5 in demangle_it
/home/hongxu/FOT/binutils/BUILD/binutils/../../binutils/cxxfilt.c:62:12
#8 0x5139c9 in main
/home/hongxu/FOT/binutils/BUILD/binutils/../../binutils/cxxfilt.c:276:4
#9 0x7f67700d6b96 in __libc_start_main
/build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310
#10 0x41a989 in _start
(/home/hongxu/FOT/binutils/BUILD/install/bin/c++filt+0x41a989)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV
/build/glibc-OTsEL5/glibc-2.27/string/../sysdeps/x86_64/multiarch/strlen-avx2.S:59
 
==23610==ABORTING


The ASAN dumps the stack trace as follows on POC2:
https://github.com/ntu-sec/pocs/blob/master/binutils-aff4a119/crashes/npd_r_cplus-dem.c:1360_1.err.txt

AddressSanitizer:DEADLYSIGNAL
=
==23847==ERROR: AddressSanitizer: SEGV on unknown address 0x (pc
0x008ca218 bp 0x7ffe44bfad50 sp 0x7ffe44bfaa10 T0)
==23847==The signal is caused by a READ memory access.
==23847==Hint: address points to the zero page.
#0 0x8ca217 in work_stuff_copy_to_from
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:1360:25
#1 0x8c553c in iterate_demangle_function
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:2731:3
#2 0x8b77ec in demangle_prefix
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:2971:14
#3 0x8b2d00 in internal_cplus_demangle
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:1253:14
#4 0x8afe53 in cplus_demangle
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:918:9
#5 0x513dd5 in demangle_it
/home/hongxu/FOT/binutils/BUILD/binutils/../../binutils/cxxfilt.c:62:12
#6 0x5139c9 in main
/home/hongxu/FOT/binutils/BUILD/binutils/../../binutils/cxxfilt.c:276:4
#7 0x7ff52abf2b96 in __libc_start_main
/build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310
#8 0x41a989 in _start
(/home/hongxu/FOT/binutils/BUILD/install/bin/c++filt+0x41a989)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV
/home/hongxu/FOT/binutils/BUILD/libiberty/../../libiberty/cplus-dem.c:1360:25
in work_stuff_copy_to_from
==23847==ABORTING

[Bug c/87347] ICE in warn_for_abs at gcc/c/c-parser.c:9226 since r264368

2018-09-18 Thread jamborm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87347

--- Comment #1 from Martin Jambor  ---
Bah, I should have thought about this.  The following will fix it, I'll
properly test it and submit a patch later this week.

diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c
index 1766a256633..a96d15fef1d 100644
--- a/gcc/c/c-parser.c
+++ b/gcc/c/c-parser.c
@@ -9116,9 +9116,10 @@ warn_for_abs (location_t loc, tree fndecl, tree arg)
  -Wint-conversion warnings.  Most other wrong types hopefully lead to type
  mismatch errors.  TODO: Think about what to do with FIXED_POINT_TYPE_P
  types and possibly other exotic types.  */
-  if (!INTEGRAL_TYPE_P (atype)
-  && !SCALAR_FLOAT_TYPE_P (atype)
-  && TREE_CODE (atype) != COMPLEX_TYPE)
+  if ((!INTEGRAL_TYPE_P (atype)
+   && !SCALAR_FLOAT_TYPE_P (atype)
+   && TREE_CODE (atype) != COMPLEX_TYPE)
+  || !TYPE_ARG_TYPES (TREE_TYPE (fndecl)))
 return;

   enum built_in_function fcode = DECL_FUNCTION_CODE (fndecl);

[Bug gcov-profile/85871] [8 Regression] g++.dg/gcov/gcov-8.C random failures

2018-09-18 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85871

--- Comment #13 from Martin Liška  ---
Author: marxin
Date: Tue Sep 18 09:32:09 2018
New Revision: 264387

URL: https://gcc.gnu.org/viewcvs?rev=264387=gcc=rev
Log:
Backport r264363

2018-09-18  Martin Liska  

Backport from mainline
2018-09-17  Martin Liska  

PR gcov-profile/85871
* gcov.c (output_intermediate_file): Fix out of bounds
access.

Modified:
branches/gcc-8-branch/gcc/ChangeLog
branches/gcc-8-branch/gcc/gcov.c

[Bug c++/81880] thread_local static member template initialisation fails

2018-09-18 Thread latimerius at seznam dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81880

Latimerius  changed:

   What|Removed |Added

 CC||latimerius at seznam dot cz

--- Comment #2 from Latimerius  ---
This bug still seems to exist in the current 9.0 HEAD.  Note also that another
possible work-around might be to wrap the thread_local member in an accessor
function, along the lines of

class A {
public:
  template
  std::unordered_map & get_m ()
  {
thread_local static std::unordered_map m;
return m;
  }
};

[Bug c++/87340] Stack overflow problem for c++filt

2018-09-18 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87340

--- Comment #3 from Martin Liška  ---
Then it would deserve something like segfault-on-invalid-input :)
Or should I use ice-on-invalid-code?

[Bug c++/87335] The stack overflow in function cplus_demangle_type in cp-demangle.c:2565 (c++filt -t)

2018-09-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87335

--- Comment #3 from Jonathan Wakely  ---
No, it's not a valid name. I can't reproduce a crash using the latest code from
GCC though.

[Bug c++/87333] A stack overflow problem for c++filt

2018-09-18 Thread wcventure at 126 dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87333

--- Comment #2 from Cheng Wen  ---
(In reply to Martin Liška from comment #1)
> Is the input a valid C++ mangled name of not?

Hi,
This input is obtained through fuzzing technology. Our fuzzer get some test
cases by mutating a valid input. This can not guarantee that this is a valid
C++ mangled name. 

The program c++filt accepts the test case I uploaded. And this test case can
prove that c++filt have problems. When program c++filt executing this input, a
stack-overflow problem occurs. Please check this input and try to fix this bug
if necessary.

Thank you very much.

[Bug c++/87340] Stack overflow problem for c++filt

2018-09-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87340

--- Comment #2 from Jonathan Wakely  ---
No. None of them look valid.

  1   2   >