https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113359
--- Comment #13 from rguenther at suse dot de <rguenther at suse dot de> --- On Tue, 6 Feb 2024, jakub at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113359 > > --- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> --- > Just going from the demangled name of > std::pair<std::chrono::time_point<ceph::mono_clock, > std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > > const, > Context*> > it would surprise me if it was ODR violation in the testcase, because class > Context > is only defined in Timer.ii, not in the other preprocessed source, > ceph::mono_clock is defined in both but looks the same (and it is empty class > anyway), and the pair uses Context* as second type anyway, so it is unclear > how > it could become something smaller than pointer. > But, admittedly I haven't looked up at this under the debugger and not even > sure where to look at that. Might be also an interaction with IPA ICF in case there's a pointer to the pair involved?