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

--- Comment #1 from Marc Glisse <glisse at gcc dot gnu.org> ---
A different reduction from the same code. This one does not compile with clang
anymore. ICEs with -Wall -W, but not if I remove one of them.

using mp_false = struct mp_identity { using type = void; };
template <bool, class T> using mp_if_c = typename T ::type;
template <class L, long I> using mp_at_c = typename mp_if_c<I, L>::type;
template <typename List, typename, typename> using make_arg_list = List;
template <typename SpecSeq> using make_parameter_spec_items = SpecSeq;
template <typename Parameters> struct argument_pack {
  using type =
      mp_at_c<typename make_arg_list<
                  typename make_parameter_spec_items<
                      typename Parameters::parameter_spec>::type,
                  typename Parameters::deduced_listboosttag_keyword_arg,
                  mp_false>::type,
              0>;
};
void no_exude();
template <typename> using boost_param_result_465refine_mesh_3 = mp_identity;
template <typename ParameterArgumentType0, typename ParameterArgumentType1,
          typename ParameterArgumentType2, typename ParameterArgumentType3,
          typename ParameterArgumentType4, typename ParameterArgumentType5>
typename boost_param_result_465refine_mesh_3<
    typename argument_pack<ParameterArgumentType5>::type>::type
refine_mesh_3(ParameterArgumentType0, ParameterArgumentType1,
              ParameterArgumentType2, ParameterArgumentType3,
              ParameterArgumentType4, ParameterArgumentType5 a5) {}
int verify___trans_tmp_1, image_domain;
struct Tester {
  template <typename C3t3, typename Domain, typename Criteria,
            typename Domain_type_tag>
  void verify(C3t3 c3t3, Domain domain, Criteria criteria, Domain_type_tag) {
    refine_mesh_3(c3t3, domain, criteria, no_exude, verify___trans_tmp_1,
                  verify___trans_tmp_1);
  }
} image_c3t3;
struct Image_tester : Tester {
  void image() {
    void criteria();
    verify(image_c3t3, image_domain, criteria, int());
  }
};

Reply via email to