// { dg-options "-std=gnu++20" }
// { dg-do compile { target c++20 } }
// TODO [!HOSTED]: avoidable std::allocator usage
// { dg-require-effective-target hosted }
#include <memory>
constexpr bool
test_pr104542()
{
  // PR libstdc++/104542 - missing constexpr
  std::allocator<int> a;
  int* p = a.allocate(1);
  int i = *std::uninitialized_construct_using_allocator<int>(p, a, 999);
  a.deallocate(p, 1);
  return i == 999;
}
static_assert( test_pr104542() );