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

            Bug ID: 100376
           Summary: __gnu_cxx::stdio_filebuf does not work correctly on
                    windows
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: unlvsur at live dot com
  Target Milestone: ---

fast_io::posix_file pf("a.txt",fast_io::open_mode::out);
println(pf.fd);
__gnu_cxx::stdio_filebuf<char> sb(pf.release(),std::ios::out);//pf.release()
returns file descriptor and release it
println(sb.fd());//this is wierd

//output:
3
0


Same program running on Linux
//output:
3
3


Same test for FILE*

fast_io::c_file cf("a.txt",fast_io::open_mode::out);
println(cf.fp);
__gnu_cxx::stdio_filebuf<char> sb(cf.fp,std::ios::out);
println(sb.file());//this is weird

//output1:
0x00007ffc035dfa90
0x00000236101e0700
//output2:
0x00007ffc035dfa90
0x0000020ce4bb0700

Same program running on Linux
0x00000000017502a0
0x00000000017502a0

Reply via email to