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

--- Comment #3 from David Binderman <dcb314 at hotmail dot com> ---
Reduced C++ code is

template <int __v> struct integral_constant {
  static constexpr int value = __v;
};
template <bool __v> using __bool_constant = integral_constant<__v>;
template <int> struct __conditional {
  template <typename _Tp, typename> using type = _Tp;
};
template <bool _Cond, typename _If, typename _Else>
using __conditional_t = typename __conditional<_Cond>::type<_If, _Else>;
template <typename _Tp> struct remove_reference { using type = _Tp; };
namespace std {
template <typename _Tp> typename remove_reference<_Tp>::type &&move(_Tp &&);
struct pair {
  int second;
};
template <int _Constant_iterators> struct _Hashtable_traits {
  using __constant_iterators = __bool_constant<_Constant_iterators>;
};
template <int __constant_iterators> struct _Node_iterator {
  using value_type = pair;
  using pointer =
      __conditional_t<__constant_iterators, value_type *, value_type>;
  pointer operator->();
};
struct _Insert_base {
  using __constant_iterators = _Hashtable_traits<false>::__constant_iterators;
  using iterator = _Node_iterator<__constant_iterators::value>;
};
template <typename, typename> using __umap_hashtable = _Insert_base;
struct unordered_map {
  __umap_hashtable<int, int>::iterator find(int);
};
} // namespace std
template <typename, typename> using unordered_map = std::unordered_map;
struct vl_concurrent_unordered_map {
  struct FindResult {
    FindResult(bool, int);
    std::pair result;
  };
  int pop_key;
  void pop() {
    auto itr = maps[0].find(pop_key);
    auto ret = std::move(FindResult(true, itr->second));
  }
  unordered_map<int, int> maps[];
} unique_id_mapping;
void DispatchDestroyAccelerationStructureKHR() { unique_id_mapping.pop(); }

Reply via email to