<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/113030>113030</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang] clang frontend hangs
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
danix800
</td>
</tr>
</table>
<pre>
https://godbolt.org/z/fG5ooW4z7
```cpp
template<typename _Tp, _Tp __v>
struct integral_constant {
static constexpr _Tp value = __v;
};
template<typename _Tp> struct remove_reference {
typedef _Tp type;
};
typedef int size_t;
template<typename> struct tuple_size;
template<typename _Tp, _Tp...> struct integer_sequence;
template<typename T> using _t = T;
enum indices_strategy_ { repeat, };
constexpr indices_strategy_ strategy_(size_t cur, size_t) { return repeat; }
template<size_t, typename, indices_strategy_> struct make_indices_;
template<size_t... Is> using index_sequence = integer_sequence<size_t, Is...>;
template<size_t N>
using make_index_sequence = _t<make_indices_<N, index_sequence<0>, strategy_(1, N)>>;
template<size_t End, size_t... Values>
struct make_indices_<End, index_sequence<Values...>, repeat>
: make_indices_<End, index_sequence<Values..., Values...>, strategy_(2, End)> {
};
template<typename Tup>
using tuple_indices_t = make_index_sequence<tuple_size<typename remove_reference<Tup>::type>::value>;
struct {
template<typename Fun, typename Tup>
auto operator()(Fun, Tup) -> decltype(tuple_indices_t<Tup>{});
} tuple_apply;
template<typename...> class tuple {};
template<typename... _Elements>
struct tuple_size<tuple<_Elements...>>: integral_constant<size_t, sizeof...(_Elements)> {};
struct view_closure_base {
template<typename Rng, typename ViewFn>
friend auto operator|(Rng rng, ViewFn vw) {
vw(rng);
}
};
template<typename ViewFn> struct view_closure: view_closure_base, ViewFn {};
template<typename Fun>
struct iter_zip_with_view {
template<int>
struct cursor {
Fun fun_;
tuple<> its_;
auto read() -> decltype(tuple_apply(fun_, its_));
};
cursor<false> begin_cursor;
};
template<typename... Rngs>
struct zip_view: iter_zip_with_view<Rngs...> {};
struct {
template<typename... Rngs>
zip_view<Rngs...> operator()(Rngs...);
} zip;
template<typename, typename>
struct index_view {};
struct enumerate_fn {
template<typename Rng> auto operator()(Rng) {
using D = Rng;
zip(index_view<int, D>());
}
};
view_closure<enumerate_fn> enumerate;
void determineInlinableBlocks(int _items) { _items | enumerate; }
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycV0tz6jgT_TVio7qUkAm2FywSA19lk0Uqdb-lS9iN0VwjeySZPH79VMs2fpHATFUq-KHuPn26T1sSxshMAazJwxN52MxEZY-FXqdCyY-Asdm-SD_XR2tLQ7xHwneE77Ii3Re5nRc6I3z3Rfju8L-Hovj_8ssnbEPYY_N_xeq_pCzrJxZOZS4sEC-ynyUocQIav5WER_hD4_hMvG291FhdJZZKZSHTIo-TQhkrlKXEf2qDhMYKKxPq3sFHqZ2Xs8groMTb1P7a1f6mu_4RjLelTXANp-IMsYYDaFAJDGKjTQoHFxKvf4rULJXKUiO_ILa3ofRg2KrMIUbDOzOo6ZzP5z0njkjQsYG_K8zlDldvaF4ZqTIaW0fo28gKVHWiUqUyARMbq4WF7DNGmqiGEoRFKFM-unpNbS9XhAc1VzSpNPppmONh499WWrVhvCcX5npCrWFEL-TyaBq6R9ZJ_IG4XfA9U7Xj-XxOn03HlVQpfFx4drxNye-BejZ1pW7FoS8XcdSBWpTjaNhe0SiF6KXJubeYeBFDl8htj_UFPnghPHSYbsPaqrQrD5LxGwVoxkoeA2rMJpBq64YSHl0qvL0oj3iP_8Ebj-jYdT9rjg-cF8y7p_S75sZbVY6KU4u2RVjL50rB0ElP3p3H8ewhXtQE8R6J91hPnObGTbxpqRriB0PrCvZdpfraGORCWCgqW9CiBC1soQkPkCAeNEa4lof0F1KWQpI7WDwYJd9h95-QT6S4o7ehSpRl_nmb6maqJbkwprakjdd7TGm8zeEEyk7ac1gFvCFedFndKhQJn36TBnLGq-LgOi7oonVdNUHaADhLeI-TvDCVhngvDNws3KvKBoX7LeF9p_q1O2gJKqXDEvoR4cGryqiu7Wszen5vRmunMxbiw8Ct65WMhd2svUsdF2D0Sq7I6CT3Hq57q-v6eLx7sKDjL1nG79IeY4zyHalSDUZMY59U2hR6TMquUvRQqXjACAvbpsE8pTXj164IGkRaa-gbzdQq4IHzjwMNHaHiJvwPCSEsrMESLzqI3Lj9wx4yqeL2-b8ZaCiVV5VNVIJcIo1OBhNyiRehUSPRn5r9RmtPwhMWdqH7QSaDqX03mjFfsrxjz9XfIkw2oji2Ly30XWK4I0JEEB_UXQL2tvT6hHXqngiy_rhs3OfEmQ_eYpY86KA2jc0junGfvOB6K33TF0OVRv3UEPbl_mJ2LmRKU7CgT1LBs8qlEvscnvIi-WMcMEtjaeFk2l1cfUeJHw3c9TZz7Rlilq69NPRCMYP1wuehx8PFis-O61WyCverdBWyRAgWLISfJCwUzN-n3mGVsplcc8aXC7YIWbjgSz73D8nyQTDuc38ZwMonSwYnIfN5np9PeKiZSWMqWC8WHvPYLBd7yI07HnGe5ALrwvGkpNdo8GtfZYYsWS6NNZ0LK23uzlS1xcOGugt60IWyOJSPQmVmVul8fLiS9ljt50lxInyH7pqfX6Uu_oLEEr5z8Azhuwbhec3_CQAA__-FTjp5">