https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64813

--- Comment #7 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
Forgot to say that the ICEs disappear if GCC is configured with
--enable-checking=release.

Also I see the ICE with r219054 and --param early-inlining-insns=12

[Book15] f90/bug% /opt/gcc/gcc4.10c/bin/g++ -O2
-I/opt/gcc/p_build/x86_64-apple-darwin14.0.0/i386/libstdc++-v3/include/x86_64-apple-darwin14.0.0
-I/opt/gcc/p_build/x86_64-apple-darwin14.0.0/i386/libstdc++-v3/include
-I/opt/gcc/p_work/libstdc++-v3/libsupc++
-I/opt/gcc/p_work/libstdc++-v3/testsuite/util
/opt/gcc/p_work/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/4.cc
-std=gnu++11 --param early-inlining-insns=12 -S

/opt/gcc/p_work/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/4.cc:
In function 'std::__detail::_Map_base<_Key, _Pair, _Alloc,
std::__detail::_Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits,
true>::mapped_type& std::__detail::_Map_base<_Key, _Pair, _Alloc,
std::__detail::_Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits,
true>::at(const key_type&) [with _Key = __gnu_test::OverloadedAddress; _Pair =
std::pair<const __gnu_test::OverloadedAddress, __gnu_test::OverloadedAddress>;
_Alloc = std::allocator<std::pair<const __gnu_test::OverloadedAddress,
__gnu_test::OverloadedAddress> >; _Equal =
std::equal_to<__gnu_test::OverloadedAddress>; _H1 =
__gnu_test::OverloadedAddress_hash; _H2 = std::__detail::_Mod_range_hashing;
_Hash = std::__detail::_Default_ranged_hash; _RehashPolicy =
std::__detail::_Prime_rehash_policy; _Traits =
std::__detail::_Hashtable_traits<true, false, true>]':
/opt/gcc/p_work/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/4.cc:33:67:
error: LHS in noreturn call
 template class std::unordered_map<inst_type, inst_type, hash_type>;
                                                                   ^
# .MEM_3 = VDEF <.MEM_1(D)>
retval.529_4 = std::__detail::_Map_base<__gnu_test::OverloadedAddress,
std::pair<const __gnu_test::OverloadedAddress, __gnu_test::OverloadedAddress>,
std::allocator<std::pair<const __gnu_test::OverloadedAddress,
__gnu_test::OverloadedAddress> >, std::__detail::_Select1st,
std::equal_to<__gnu_test::OverloadedAddress>,
__gnu_test::OverloadedAddress_hash, std::__detail::_Mod_range_hashing,
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy,
std::__detail::_Hashtable_traits<true, false, true>,
true>::_ZNKSt8__detail9_Map_baseIN10__gnu_test17OverloadedAddressESt4pairIKS2_S2_ESaIS5_ENS_10_Select1stESt8equal_toIS2_ENS1_22OverloadedAddress_hashENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_20_Prime_rehash_policyENS_17_Hashtable_traitsILb1ELb0ELb1EEELb1EE2atERS4_.isra.97
(this_2(D)); [tail call]
/opt/gcc/p_work/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/4.cc:33:67:
internal compiler error: verify_gimple failed

Reply via email to