[PATCH] D132900: [DWARF] Fix infinite recursion in Type Printer.

Alexander Yermolovich via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 31 16:17:49 PDT 2022


ayermolo added a comment.

"Minimal" repro. Still relies on some std stuff. :(

  #include <streambuf>
  #include <bits/allocator.h>
  #include <bits/codecvt.h>
  namespace std
  {
    template<typename _Traits, typename _Alloc>
      inline bool
      __str_codecvt_out(basic_string<char, _Traits, _Alloc>& __outstr)
      {
        using _State = std::mbstate_t;
        using _CharT = wchar_t;
        using _Codecvt = codecvt<_CharT, char, _State>;
        using _ConvFn
    = codecvt_base::result
      (_Codecvt::*)(_State&, const _CharT*, const _CharT*, const _CharT*&,
        char*, char*, char*&) const;
        _ConvFn __fn = &codecvt<_CharT, char, _State>::out;
        return true;
      }
  
  using _Byte_alloc = allocator<char>;
  typedef basic_string<char, char_traits<char>, _Byte_alloc>   byte_string;
  bool test() {
      byte_string __out;
      return __str_codecvt_out(__out);
  }
  }


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D132900/new/

https://reviews.llvm.org/D132900



More information about the llvm-commits mailing list