понимаю проблема в компиляторе?
пример кода:
#include <fstream>
using namespace std;
int main() {
ofstream f_out("a.txt");
f_out << 1;
return 0;
}
А на какую строчку ругается?
Нет, проблемы в твоей программе
И почему же?
На godbolt.org воспроизводится?
а как там просмотреть отчет от fsanitize? оно ведь runtime
В его программе
@anatolijs ну чё он опять вбрасывает
)))))))))))))))))
Это именно та программа на которую ругается?
Ок, ваши версии?
Может быть баг компилятора или баг стдлибы
Uninitialized bytes in __interceptor_write at offset 0 inside [0x724000000000, 1) ==1092965==WARNING: MemorySanitizer: use-of-uninitialized-value #0 0x7f473e4cf89d in std::__basic_file<char>::xsputn(char const*, long) (/lib64/libstdc++.so.6+0xcc89d) #1 0x7f473e50f161 in std::basic_filebuf<char, std::char_traits<char> >::_M_convert_to_external(char*, long) (/lib64/libstdc++.so.6+0x10c161) #2 0x7f473e50f547 in std::basic_filebuf<char, std::char_traits<char> >::overflow(int) (/lib64/libstdc++.so.6+0x10c547) #3 0x7f473e50f2c2 in std::basic_filebuf<char, std::char_traits<char> >::_M_terminate_output() (/lib64/libstdc++.so.6+0x10c2c2) #4 0x7f473e5124bf in std::basic_filebuf<char, std::char_traits<char> >::close() (/lib64/libstdc++.so.6+0x10f4bf) #5 0x7f473e514418 in std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream() (/lib64/libstdc++.so.6+0x111418) #6 0x49b3e6 in main (/tmp/a.out+0x49b3e6) #7 0x7f473e0c91e1 in __libc_start_main (/lib64/libc.so.6+0x281e1) #8 0x41d3ed in _start (/tmp/a.out+0x41d3ed) SUMMARY: MemorySanitizer: use-of-uninitialized-value (/lib64/libstdc++.so.6+0xcc89d) in std::__basic_file<char>::xsputn(char const*, long) Exiting
Ну короче бага в libstdc++?
Значит, ложное срабатывание.
судя по всему, да :)
А включи libc++?
в процессе, погоди немного
Обсуждают сегодня