From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 195853858C20; Wed, 10 May 2023 22:47:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 195853858C20 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1683758845; bh=YvbRrgI28doUNjAF3q+2Azd46LU4uc9fQnA8Gi3A3Rw=; h=From:To:Subject:Date:In-Reply-To:References:From; b=rxJz5GeziVvXtcbKYJww9qIR+BT1wKFjkRKeXPuguWlcvhzEGvTfsjxzFIrnLUpTT 8dQE8baRjnWRrJdYexHLa0L+4BRea07sBzJaicomBE1Fa/nkTOLkxDj13/gIo1zGhM 1OQ/C1CYaBr+i/xLBrZFdqEbq3Pl5Ru20i221Vws= From: "redi at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/109772] [13/14 Regression] Memory layout optimization of std::chrono::hh_mm_ss is wrong Date: Wed, 10 May 2023 22:47:24 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libstdc++ X-Bugzilla-Version: 13.1.0 X-Bugzilla-Keywords: ABI X-Bugzilla-Severity: normal X-Bugzilla-Who: redi at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: redi at gcc dot gnu.org X-Bugzilla-Target-Milestone: 13.2 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D109772 --- Comment #4 from Jonathan Wakely --- There's another problem which is that hh_mm_ss>> fails to compile: /home/jwakely/gcc/13/include/c++/13.0.1/chrono: In instantiation of 'class std::chrono::hh_mm_ss > >': hms.cc:12:63: required from here /home/jwakely/gcc/13/include/c++/13.0.1/chrono:2439:37: error: ambiguous template instantiation for 'struct std::chrono::hh_mm_ss > >::__subseconds > >' 2439 | __subseconds _M_ss{}; | ^~~~~ /home/jwakely/gcc/13/include/c++/13.0.1/chrono:2412:18: note: candidates ar= e: 'template template requires !(treat_as_floating_point_v<_Rep>) && (ratio_less_v<_Period, std::ratio<1, = 1> >) && ((ratio_greater_equal_v<_Period, std::ratio<1, 250> >) || (__fits)) struct std::chrono::hh_mm_ss<_Duration>::__subseconds > [with _Rep =3D long int; _Period =3D std::ratio<1, 1000000>; _Du= ration =3D std::chrono::duration >]' 2412 | struct __subseconds> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/jwakely/gcc/13/include/c++/13.0.1/chrono:2426:18: note:=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20 'template template requires !(treat_as_floating_point_v<_Rep>) && (ratio_less_v<_Period, std::ratio<1, = 250> >) && ((ratio_greater_equal_v<_Period, std::ratio<1, 4000000000> >) || (__fits)) struct std::chrono::__subseconds > [with _Rep= =3D long int; _Period =3D std::ratio<1, 1000000>; _Duration =3D std::chrono::duration >]' 2426 | struct __subseconds> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=