From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3719 invoked by alias); 24 Aug 2014 00:07:54 -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 3697 invoked by uid 48); 24 Aug 2014 00:07:51 -0000 From: "terra at gnome dot org" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/62169] map iterators under _GLIBCXX_DEBUG diverge Date: Sun, 24 Aug 2014 00:07: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: terra at gnome dot 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-08/txt/msg01616.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62169 --- Comment #5 from M Welinder --- I agree that anyone depending on map and multimap iterators to mix deserves whatever happens as a result. It would, however, be nice g++ would reject such programs outright. Currently this is accepted: std::map foo; std::multimap::iterator = foo.end(); You get this kind of code when someone changes the container type and uses the compiler to point out where further fixes are needed. Is it an option to make the iterators different for the non-debug case too? Would that be an ABI change?