Skip to content

Commit

Permalink
agi: Replace Boost flat_map with std::map in Thesaurus class
Browse files Browse the repository at this point in the history
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 TypesettingTools#137
  • Loading branch information
mia-0 authored and arch1t3cht committed Oct 24, 2024
1 parent 47b10e5 commit 14480cc
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions libaegisub/include/libaegisub/thesaurus.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

#include "fs_fwd.h"

#include <boost/container/flat_map.hpp>
#include <map>
#include <iosfwd>
#include <memory>
#include <string>
Expand All @@ -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
Expand Down

0 comments on commit 14480cc

Please sign in to comment.