1
0
mirror of https://github.com/odrling/Aegisub synced 2025-04-11 22:56:02 +02:00

agi: Replace Boost flat_map with std::map in Thesaurus class

I do not see a reason to prefer the flat_map implementation,
and it’s causing crashes when compiled with GCC >= 13 and
Boost 1.85.0 at optimization level 2 or higher.

Whether or not this is a bug in GCC, or Boost hitting a case of
undefined behavior, avoiding it altogether doesn’t seem to hurt.

Fixes #137
This commit is contained in:
Mia Herkt 2024-06-01 16:43:34 +02:00 committed by arch1t3cht
parent 47b10e5ffc
commit 14480cc720

View File

@ -14,7 +14,7 @@
#include "fs_fwd.h"
#include <boost/container/flat_map.hpp>
#include <map>
#include <iosfwd>
#include <memory>
#include <string>
@ -27,7 +27,7 @@ namespace charset { class IconvWrapper; }
class Thesaurus {
/// Map of word -> byte position in the data file
boost::container::flat_map<std::string, size_t> offsets;
std::map<std::string, size_t> offsets;
/// Read handle to the data file
std::unique_ptr<read_file_mapping> dat;
/// Converter from the data file's charset to UTF-8