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.

Reply via email to