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

Jeffrey A. Law <law at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2025-01-26
     Ever confirmed|0                           |1

--- Comment #3 from Jeffrey A. Law <law at gcc dot gnu.org> ---
Simpler testcase that still triggers the same core issue at -O2 -fpermissive
-fexceptions -std=c++11:

inline namespace __cxx11 {
class basic_string;
}
typedef basic_string string;
template <typename, typename _Container> struct __normal_iterator {
  template <typename _Iter>
  __normal_iterator(__normal_iterator<_Iter, _Container>);
};
namespace __cxx11 {
struct basic_string {
  ~basic_string();
  __normal_iterator<int, basic_string>
  insert(__normal_iterator<int, basic_string>, int);
};
} // namespace __cxx11
enum {
  _S_dec,
  _S_fixed,
  _S_hex,
  _S_internal,
  _S_left,
  _S_oct,
  _S_right,
  _S_scientific,
  _S_showbase
};
enum _Ios_Iostate {};
struct ios_base {
  typedef _Ios_Iostate iostate;
  flags();
};
template <typename> struct istreambuf_iterator {};
struct money_base {
  enum { symbol };
};
char _M_extract___p_0_0;
namespace __cxx11 {
template <typename, typename> struct money_get {
  template <int>
  istreambuf_iterator<char>
  _M_extract(istreambuf_iterator<char>, istreambuf_iterator<char>,
             ios_base &__io, ios_base::iostate &, string &) const {
    bool __testvalid = true;
    string __res;
    for (; __testvalid;)
      switch (_M_extract___p_0_0) {
      case money_base::symbol:
        if (__io.flags() & _S_showbase)
          __testvalid = false;
        __normal_iterator<char, basic_string> __trans_tmp_1 =
            __res.insert(__trans_tmp_1, '-');
      }
  }
};
} // namespace __cxx11
template istreambuf_iterator<char>
money_get<char, char>::_M_extract<false>(istreambuf_iterator<char>,
                                         istreambuf_iterator<char>, ios_base &,
                                         ios_base::iostate &, string &) const;

Reply via email to