From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15820 invoked by alias); 9 Jul 2014 13:01:44 -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 15783 invoked by uid 48); 9 Jul 2014 13:01:40 -0000 From: "redi at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/61758] std::chrono::steady_clock::now() no longer exported Date: Wed, 09 Jul 2014 13:01:00 -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: 4.8.1 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: redi at gcc dot gnu.org 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: Message-ID: In-Reply-To: References: 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/msg00550.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61758 --- Comment #5 from Jonathan Wakely --- (In reply to Martin von Gagern from comment #4) > (In reply to Jonathan Wakely from comment #2) > > It is totally unsupported (and unlikely to work) to mix C++11 code built > > with GCC 4.x and 4.y, for any x!=y > > Any particular reason why you don't change the SONAME of the library for > every change from x to y in this case? Think about it. That would prevent you from combining C++03 code compiled with different versions, and that works fine and is not experimental. Forcing millions of lines of C++03 code to be recompiled because of changes to experimental C++11 features would not be acceptable. > The way I see it, this might be causing serious problems for Gentoo in the > near future. As far as I understand things, Gentoo will always dynamically > link against the latest version of libstdc++, even though different versions > of gcc (and there can be several installed concurrently) will compile > against their own matching version. Assuming ABI backwards-compatibility, at > least with the help of symbol versioning, this probably worked well enough > so far. But if there are no such guarantees for C++11 then things will break > more often as applications start to use C++11. There will be guarantees soon, when the ABI stabilises. Until then, if Gentoo does that then it's Gentoo's problem. We can devote our limited resources to getting the ABI stable sooner, or we can spend our time on loads of nasty hacks to maintain compatibility for people using unsupported configurations and expecting behaviour we never guaranteed. > > Mixing code built with 4.8.x and 4.8.y should work, and does with the > > default configuration. > > I've got some doubts regarding 4.8.0 to 4.8.1 since the commits I mentioned > were in between. But I don't have evidence to support my doubts, and I'm > more interested in the 4.7 to 4.8 issues. There is no guarantee of compatibility for C++11 features between those releases, so any issues are irrelevant. > > (which should not be necessary with GCC 4.8 anyway) then you need to > > rebuild all the libraries that depend on the types. > > Using gcc 4.8 throughout works fine, it's the mixing of a 4.7 compiler, > configured as system default, and a 4.8 library used since it's the latest, > which is causing the specific troubles on Gentoo. You can't do that for code that uses C++11 library types. Period. Not a bug. > That way, you would not have to maintain the --enable-libstdcxx-time config > setting, and you would also help portability in those cases where code was > compiled on a 4.7 system with --enable-libstdcxx-time no matter the setting > used for the 4.8 system where the code is executed. I'm not interested in supporting C++11 code built with 4.7 and linking to 4.8 at runtime. Don't do that.