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

--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Martin Liška from comment #4)
> Reduced test-case:

Slightly less reduced, avoiding the warnings about invalid/deprecated features:


namespace std {
typedef char string;
class runtime_error {
public:
  runtime_error(string);
};
} // namespace std
#pragma GCC push_options
namespace fmt {
namespace {
__attribute__((always_inline)) inline auto format() -> std::string { return {};
}
#pragma GCC pop_options
} // namespace
} // namespace fmt
namespace core {
class ErrorBase : std::runtime_error {
  using runtime_error::runtime_error;
};
class Error : ErrorBase {
public:
  template <typename... T> Error(T &&...);
};
template <typename... T> Error::Error(T &&...) : ErrorBase(fmt::format()) {}
} // namespace core
void commit() { core::Error(); }

Reply via email to