[Bug bootstrap/99983] [9/10 regression] ICE in bootstrap while building libstdc++

2021-04-09 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99983

--- Comment #18 from Jonathan Wakely  ---
(In reply to Maxim Kuvyrkov from comment #3)
> It appears to be
> ===
> commit 1c4e8a96cd695c03ff85299bf2392476feae99bb
> Author: François Dumont 
> Date: Mon Jan 20 19:15:43 2020 +0100
> 
> libstdc++: Fix unordered containers move constructors noexcept qualification
> 
> _Hashtable move constructor is wrongly qualified as noexcept(true)
> regardless of
> _Equal and _H1 copy constructor qualifications.
> _Hashtable allocator-aware move constructor is missing its noexcept
> qualification like the depending unordered containers ones.
> 
> This backport also includes the changes from r11-8062.
> ===
> 
> And also confirmed on x86_64, aarch64, and aarch32.

N.B. the original patch on trunk was by François, but the backport was done by
me, with the "changes from r11-8062" which were mine and which caused the
issue. I probably should have kept them separate, so François wouldn't get
blamed.

I didn't see this PR (and that I'd caused it) until I was CC'd in comment 9.
Sorry it took so long to fix.

[Bug bootstrap/99983] [9/10 regression] ICE in bootstrap while building libstdc++

2021-04-09 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99983

Jonathan Wakely  changed:

   What|Removed |Added

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

--- Comment #17 from Jonathan Wakely  ---
It should be fixed now, sorry about that.

[Bug bootstrap/99983] [9/10 regression] ICE in bootstrap while building libstdc++

2021-04-09 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99983

--- Comment #16 from CVS Commits  ---
The releases/gcc-9 branch has been updated by Jonathan Wakely
:

https://gcc.gnu.org/g:9aeab5815df1ec52b1048a157ef243a4c45234b7

commit r9-9336-g9aeab5815df1ec52b1048a157ef243a4c45234b7
Author: Jonathan Wakely 
Date:   Fri Apr 9 15:47:26 2021 +0100

libstdc++: Fix bootstrap error due to inconsistent noexcept-specifier [PR
99983]

The backport of r11-8062 as r9-9328 missed out a piece, which causes
bootstrap failures.

PR bootstrap/99983
* include/bits/hashtable.h (_Hashtable): Fix noexcept-specifier
on definition to match the one on the declaration.

[Bug bootstrap/99983] [9/10 regression] ICE in bootstrap while building libstdc++

2021-04-09 Thread mpolacek at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99983

Marek Polacek  changed:

   What|Removed |Added

   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=13

--- Comment #15 from Marek Polacek  ---
(In reply to Marek Polacek from comment #13)
> I see the ICE on x86_64 too.  Reducing...

Tracked in bug 13.

[Bug bootstrap/99983] [9/10 regression] ICE in bootstrap while building libstdc++

2021-04-09 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99983

--- Comment #14 from CVS Commits  ---
The releases/gcc-10 branch has been updated by Jonathan Wakely
:

https://gcc.gnu.org/g:2ed860be33b61ea553bf44976ef877c8356d601b

commit r10-9680-g2ed860be33b61ea553bf44976ef877c8356d601b
Author: Jonathan Wakely 
Date:   Fri Apr 9 15:47:26 2021 +0100

libstdc++: Fix bootstrap error due to inconsistent noexcept-specifier [PR
99983]

The backport of r11-8062 as r10-9673 missed out a piece, which causes
bootstrap failures.

PR bootstrap/99983
* include/bits/hashtable.h (_Hashtable): Fix noexcept-speciofier
on definition to match the one on the declaration.

[Bug bootstrap/99983] [9/10 regression] ICE in bootstrap while building libstdc++

2021-04-09 Thread mpolacek at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99983

Marek Polacek  changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org

--- Comment #13 from Marek Polacek  ---
I see the ICE on x86_64 too.  Reducing...

$ xg++ -c fs_path.ii 
In file included from
/home/mpolacek/x/gcc10/x86_64-pc-linux-gnu/libstdc++-v3/include/unordered_map:46,
 from
/home/mpolacek/x/gcc10/x86_64-pc-linux-gnu/libstdc++-v3/include/functional:61,
 from
/home/mpolacek/x/gcc10/x86_64-pc-linux-gnu/libstdc++-v3/include/pstl/glue_algorithm_defs.h:13,
 from
/home/mpolacek/x/gcc10/x86_64-pc-linux-gnu/libstdc++-v3/include/algorithm:74,
 from
/home/mpolacek/src/gcc10/libstdc++-v3/src/c++17/fs_path.cc:35:
/home/mpolacek/x/gcc10/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/hashtable.h:1317:63:
internal compiler error: in merge_exception_specifiers, at cp/typeck2.c:2420
 1317 |  std::is_nothrow_copy_constructible<_Equal>::value)
  |   ^
0xe1e274 merge_exception_specifiers(tree_node*, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/typeck2.c:2420
0xdef11c merge_types(tree_node*, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/typeck.c:890
0xb14e18 duplicate_decls(tree_node*, tree_node*, bool, bool)
/home/mpolacek/src/gcc/gcc/cp/decl.c:2339
0xb3a380 grokfndecl
/home/mpolacek/src/gcc/gcc/cp/decl.c:10143
0xb468b3 grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*,
decl_context, int, tree_node**)
/home/mpolacek/src/gcc/gcc/cp/decl.c:13903
0xb54ba2 start_function(cp_decl_specifier_seq*, cp_declarator const*,
tree_node*)
/home/mpolacek/src/gcc/gcc/cp/decl.c:16838
0xcb0635 cp_parser_function_definition_from_specifiers_and_declarator
/home/mpolacek/src/gcc/gcc/cp/parser.c:29904
0xc9f847 cp_parser_init_declarator
/home/mpolacek/src/gcc/gcc/cp/parser.c:21634
0xcb1f58 cp_parser_single_declaration
/home/mpolacek/src/gcc/gcc/cp/parser.c:30528
0xcb0bdd cp_parser_template_declaration_after_parameters
/home/mpolacek/src/gcc/gcc/cp/parser.c:30100
0xcb1b51 cp_parser_explicit_template_declaration
/home/mpolacek/src/gcc/gcc/cp/parser.c:30366
0xcb1bab cp_parser_template_declaration_after_export
/home/mpolacek/src/gcc/gcc/cp/parser.c:30385
0xc95af6 cp_parser_template_declaration
/home/mpolacek/src/gcc/gcc/cp/parser.c:16594
0xc913c4 cp_parser_declaration
/home/mpolacek/src/gcc/gcc/cp/parser.c:14070
0xc917d7 cp_parser_toplevel_declaration
/home/mpolacek/src/gcc/gcc/cp/parser.c:14168
0xc90f78 cp_parser_declaration_seq_opt
/home/mpolacek/src/gcc/gcc/cp/parser.c:13956
0xc9ce98 cp_parser_namespace_body
/home/mpolacek/src/gcc/gcc/cp/parser.c:20465
0xc9ce41 cp_parser_namespace_definition
/home/mpolacek/src/gcc/gcc/cp/parser.c:20443
0xc915c7 cp_parser_declaration
/home/mpolacek/src/gcc/gcc/cp/parser.c:14119
0xc917d7 cp_parser_toplevel_declaration
/home/mpolacek/src/gcc/gcc/cp/parser.c:14168

[Bug bootstrap/99983] [9/10 regression] ICE in bootstrap while building libstdc++

2021-04-09 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99983

Jonathan Wakely  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED

--- Comment #12 from Jonathan Wakely  ---
(the backport was incomplete, I must have messed up a conflict resolution)

[Bug bootstrap/99983] [9/10 regression] ICE in bootstrap while building libstdc++

2021-04-09 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99983

--- Comment #11 from Jonathan Wakely  ---
This should fix it:

--- a/libstdc++-v3/include/bits/hashtable.h
+++ b/libstdc++-v3/include/bits/hashtable.h
@@ -1319,8 +1319,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   _H1, _H2, _Hash, _RehashPolicy, _Traits>::
 _Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a,
   true_type /* alloc always equal */)
-noexcept(std::is_nothrow_copy_constructible<_H1>::value &&
-std::is_nothrow_copy_constructible<_Equal>::value)
+noexcept(_S_nothrow_move())
 : __hashtable_base(__ht),
   __map_base(__ht),
   __rehash_base(__ht),

[Bug bootstrap/99983] [9/10 regression] ICE in bootstrap while building libstdc++

2021-04-09 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99983

Martin Liška  changed:

   What|Removed |Added

 CC||hjl.tools at gmail dot com

--- Comment #10 from Martin Liška  ---
*** Bug 6 has been marked as a duplicate of this bug. ***

[Bug bootstrap/99983] [9/10 regression] ICE in bootstrap while building libstdc++

2021-04-09 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99983

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #9 from Jakub Jelinek  ---
I guess we want in addition to the reversions (if needed) try to cvise reduce a
testcase and bisect what if anything fixed it on the trunk and file a PR for
that and see if it can be fixed on the branches.

[Bug bootstrap/99983] [9/10 regression] ICE in bootstrap while building libstdc++

2021-04-09 Thread mkuvyrkov at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99983

--- Comment #8 from Maxim Kuvyrkov  ---
I'll revert on gcc-10 and then backport the revert to gcc-9.

[Bug bootstrap/99983] [9/10 regression] ICE in bootstrap while building libstdc++

2021-04-09 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99983

Richard Biener  changed:

   What|Removed |Added

  Known to work||9.3.0

--- Comment #7 from Richard Biener  ---
Yes, the offending rev. was backported to 9 (but not 8, I checked).

[Bug bootstrap/99983] [9/10 regression] ICE in bootstrap while building libstdc++

2021-04-09 Thread ro at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99983

Rainer Orth  changed:

   What|Removed |Added

   Target Milestone|10.4|9.4
Summary|[10 regression] ICE in  |[9/10 regression] ICE in
   |bootstrap while building|bootstrap while building
   |libstdc++   |libstdc++
 CC||ro at gcc dot gnu.org
 Target|powerpc64*-linux-gnu|powerpc64*-linux-gnu
   |x86_64-linux-gnu|x86_64-linux-gnu
   |aarch64-linux-gnu   |aarch64-linux-gnu
   |arm-linux-gnueabihf |arm-linux-gnueabihf,
   ||*-*-solaris2.*
   Host|powerpc64*-linux-gnu|powerpc64*-linux-gnu
   |x86_64-linux-gnu|x86_64-linux-gnu
   |aarch64-linux-gnu   |aarch64-linux-gnu
   |arm-linux-gnueabihf |arm-linux-gnueabihf,
   ||*-*-solaris2.*
  Build|powerpc64*-linux-gnu|powerpc64*-linux-gnu
   |x86_64-linux-gnu|x86_64-linux-gnu
   |aarch64-linux-gnu   |aarch64-linux-gnu
   |arm-linux-gnueabihf |arm-linux-gnueabihf,
   ||*-*-solaris2.*

--- Comment #6 from Rainer Orth  ---
I'm seeing exactly the same ICE on the gcc-9 branch for sparc-sun-solaris2.10
and
i386-pc-solaris2.10.  The same patch has been backported there, too.