// { dg-options "-std=gnu++23" } // { dg-do compile { target c++23 } } // { dg-require-effective-target stacktrace } #include #ifndef __cpp_lib_stacktrace # error "Feature-test macro for stacktrace missing in " #elif __cpp_lib_stacktrace < 202011L # error "Feature-test macro for stacktrace has wrong value in " #endif namespace std { class stacktrace_entry; template class basic_stacktrace; using stacktrace = basic_stacktrace>; template void swap(basic_stacktrace& a, basic_stacktrace& b) noexcept(noexcept(a.swap(b))); string to_string(const stacktrace_entry& f); template string to_string(const basic_stacktrace& st); template basic_ostream& operator<<(basic_ostream& os, const stacktrace_entry& f); template basic_ostream& operator<<(basic_ostream& os, const basic_stacktrace& st); namespace pmr { using stacktrace = basic_stacktrace>; } template struct hash; template<> struct hash; template struct hash>; }