https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109772
Bug ID: 109772 Summary: Memory layout optimization of std::chrono::hh_mm_ss is wrong Product: gcc Version: 13.1.0 Status: UNCONFIRMED Keywords: ABI Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: redi at gcc dot gnu.org Target Milestone: --- #include <chrono> #include <iostream> int main() { std::chrono::hh_mm_ss hms(std::chrono::duration<int, std::ratio<1, 1024>>{1511}); std::cout << hms.subseconds().count() << '\n'; } This prints 460892079 but the correct answer is 4755859375 It's being truncated to uint32_t.