There's no need for this function to have an object, so make it static and avoid UB.
gcc/cp/ * module.cc (trees_out::write_location): Make static. -- Nathan Sidwell
diff --git i/gcc/cp/module.cc w/gcc/cp/module.cc index 1fd0bcfe3eb..3b224b616c1 100644 --- i/gcc/cp/module.cc +++ w/gcc/cp/module.cc @@ -3727,7 +3727,7 @@ class GTY((chain_next ("%h.parent"), for_user)) module_state { static cpp_macro *deferred_macro (cpp_reader *, location_t, cpp_hashnode *); public: - void write_location (bytes_out &, location_t); + static void write_location (bytes_out &, location_t); location_t read_location (bytes_in &) const; public: