From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11391 invoked by alias); 9 Jul 2014 09:25:56 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 10615 invoked by uid 48); 9 Jul 2014 09:25:47 -0000 From: "Martin.vGagern at gmx dot net" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/61758] New: std::chrono::steady_clock::now() no longer exported Date: Wed, 09 Jul 2014 09:25:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libstdc++ X-Bugzilla-Version: 4.8.1 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: Martin.vGagern at gmx dot net X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-07/txt/msg00531.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61758 Bug ID: 61758 Summary: std::chrono::steady_clock::now() no longer exported Product: gcc Version: 4.8.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: Martin.vGagern at gmx dot net Between 4.8.0 and 4.8.1, SVN commit 199331 changed the implementation of compatibility-chrono.cc. Up to that point, it basically included chrono.cc which provided implementations for system_clock and steady_clock, but bound them to specific symbol versions. That commit changes the approach to make use of an inline namespace, which is certainly more portable. The compatibility implementation was modified to no longer include chrono.cc but instead duplicate part of its functionality. And therein lies the rub: only PART of the implementation has been copied to the compatibility file. Now system_clock is included there, but steady_clock is not. Which causes ABI breakage, as observed in https://bugs.gentoo.org/513386.