]> git.ipfire.org Git - thirdparty/gcc.git/commit
c++: modules: Fix 32-bit overflow with 64-bit location_t [PR117970]
authorLewis Hyatt <lhyatt@gmail.com>
Wed, 18 Dec 2024 02:26:18 +0000 (21:26 -0500)
committerLewis Hyatt <lhyatt@gcc.gnu.org>
Wed, 18 Dec 2024 02:26:18 +0000 (21:26 -0500)
commit88aa69f8126db9a2d5f93b5c6c54cc01d21d1c6e
tree43497cf80f196695142fdc5ea884e30a41bf6b25
parent0e20a3c65025d4bb2f2df8aac72e46997eaed1d7
c++: modules: Fix 32-bit overflow with 64-bit location_t [PR117970]

With the move to 64-bit location_t in r15-6016, I missed a spot in module.cc
where a location_t was still being stored in a 32-bit int. Fixed.

The xtreme-header* tests in modules.exp were still passing fine on lots of
architectures that were tested (x86-64, i686, aarch64, sparc, riscv64), but
the PR shows that they were failing in some particular risc-v multilib
configurations. They pass now.

gcc/cp/ChangeLog:

PR c++/117970
* module.cc (module_state::read_ordinary_maps): Change argument to
line_map_uint_t instead of unsigned int.
gcc/cp/module.cc