]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Support for 64-bit location_t: libgdiagnostics parts
authorLewis Hyatt <lhyatt@gmail.com>
Sat, 7 Dec 2024 00:01:37 +0000 (19:01 -0500)
committerLewis Hyatt <lhyatt@gcc.gnu.org>
Sat, 7 Dec 2024 00:01:37 +0000 (19:01 -0500)
Tweak libgdiagnostics.cc, which is necessarily sensitive to line-map
internals, to support 64-bit location_t as well.

gcc/ChangeLog:

* libgdiagnostics.cc (struct diagnostic_manager): Use location_t(-1)
instead of UINT_MAX to support 64-bit location_t as well.
(diagnostic_manager::diagnostic_manager): Change hard-coded "5" to
line_map_suggested_range_bits.

gcc/libgdiagnostics.cc

index e5cee0958f9c49e93dc09603f90b68a4605c42f0..53a8423f904547f063d9702e072101fd65f45497 100644 (file)
@@ -320,7 +320,7 @@ public:
     linemap_init (&m_line_table, BUILTINS_LOCATION);
     m_line_table.m_reallocator = xrealloc;
     m_line_table.m_round_alloc_size = round_alloc_size;
-    m_line_table.default_range_bits = 5;
+    m_line_table.default_range_bits = line_map_suggested_range_bits;
   }
   ~diagnostic_manager ()
   {
@@ -500,7 +500,7 @@ private:
   impl_client_version_info m_client_version_info;
   std::vector<std::unique_ptr<sink>> m_sinks;
   hash_map<nofree_string_hash, diagnostic_file *> m_str_to_file_map;
-  hash_map<int_hash<location_t, UNKNOWN_LOCATION, UINT_MAX>,
+  hash_map<int_hash<location_t, UNKNOWN_LOCATION, location_t (-1)>,
           diagnostic_physical_location *> m_location_t_map;
   std::vector<std::unique_ptr<diagnostic_logical_location>> m_logical_locs;
   const diagnostic *m_current_diag;