https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63936
Bug ID: 63936 Summary: ICE: libstdc++-v3/include/chrono:725:66: internal compiler error: in adjust_temp_type, at cp/constexpr.c:1020 Product: gcc Version: 5.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: ktkachov at gcc dot gnu.org CC: jason at redhat dot com Target: arm-none-eabi Starting with r217664: Author: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Mon Nov 17 18:16:19 2014 +0000 * constexpr.c (use_new_call): Always use new call handling. I see an ICE when building libstdc++ for arm-none-eabi: $BLD/obj/gcc2/arm-none-eabi/libstdc++-v3/include/chrono:723:49: in constexpr expansion of 'std::chrono::duration<_Rep, _Period>::min<long long int, std::ratio<1ll, 1000000000ll> >()' $BLD/obj/gcc2/arm-none-eabi/libstdc++-v3/include/chrono:725:66: in constexpr expansion of 'std::chrono::duration<long long int, std::ratio<1ll, 1000000000ll> >((* & std::chrono::duration_values<_Rep>::min<long long int>()))' $BLD/obj/gcc2/arm-none-eabi/libstdc++-v3/include/chrono:725:66: internal compiler error: in adjust_temp_type, at cp/constexpr.c:1020 "a clock's minimum duration cannot be less than its epoch"); ^ 0x75e827 adjust_temp_type $SRC/gcc/cp/constexpr.c:1020 0x7650be cxx_eval_call_expression $SRC/gcc/cp/constexpr.c:1377 0x7650be cxx_eval_constant_expression $SRC/gcc/cp/constexpr.c:2835 0x765602 cxx_eval_constant_expression $SRC/gcc/cp/constexpr.c:2895 0x76a6bb cxx_eval_store_expression $SRC/gcc/cp/constexpr.c:2529 0x765668 cxx_eval_constant_expression $SRC/gcc/cp/constexpr.c:2914 0x7656fe cxx_eval_constant_expression $SRC/gcc/cp/constexpr.c:2926 0x76575d cxx_eval_constant_expression $SRC/gcc/cp/constexpr.c:2940 0x764dd1 cxx_eval_call_expression $SRC/gcc/cp/constexpr.c:1329 0x764dd1 cxx_eval_constant_expression $SRC/gcc/cp/constexpr.c:2835 0x765602 cxx_eval_constant_expression $SRC/gcc/cp/constexpr.c:2895 0x7657d2 cxx_eval_constant_expression $SRC/gcc/cp/constexpr.c:2958 0x765e93 cxx_eval_constant_expression $SRC/gcc/cp/constexpr.c:3147 0x765e93 cxx_eval_constant_expression $SRC/gcc/cp/constexpr.c:3147 0x769dc5 cxx_bind_parameters_in_call $SRC/gcc/cp/constexpr.c:1072 0x7644f5 cxx_eval_call_expression $SRC/gcc/cp/constexpr.c:1235 0x7644f5 cxx_eval_constant_expression $SRC/gcc/cp/constexpr.c:2835 0x7667e3 cxx_eval_outermost_constant_expr $SRC/gcc/cp/constexpr.c:3314 0x769126 maybe_constant_value(tree_node*, tree_node*) $SRC/gcc/cp/constexpr.c:3427 0x6e6833 finish_static_assert(tree_node*, tree_node*, unsigned int, bool) $SRC/gcc/cp/semantics.c:7046 Please submit a full bug report, with preprocessed source if appropriate. This prevents the building of the arm-none-eabi toolchain, so it's quite important