From patchwork Mon Nov 5 21:40:49 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin Kosnik X-Patchwork-Id: 197311 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 5D4312C00B5 for ; Tue, 6 Nov 2012 08:41:07 +1100 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1352756467; h=Comment: DomainKey-Signature:Received:Received:Received:Received:Received: Date:From:To:Subject:Message-ID:Mime-Version:Content-Type: Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:Sender:Delivered-To; bh=Mvsmk6KnFSAYHDLhWVr/ OWsGQY8=; b=lkioAY6x6pAdf6L37cw1o/MnX0uidjte1xFb+6SBv7xeWDGv1/9Q 5st43rIivcIpuqIPSylL/o4nXc/kkEtpupioanZUWUtEIT/0xSJUvmh+0SsDhbSE lx5FZn6c03DhbVxUIyh6QMcGn/lrZWhC/9GbhvdyTfR5pvaL2p6R89Y= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:Received:Date:From:To:Subject:Message-ID:Mime-Version:Content-Type:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=DFNwgz9eV5O4MqkkRhp8iqbafAXfzeyWKEOEI4AfWdclmmWjGZaYul4SHQxwo9 pM4uAQ32bF2cajinCTHSODoXwXegeJNhMvTL1PP531w9yiRhfJASlNaPh2hM5Js0 AZit9EVbgrf2PxU+2kwGdG8jbj3cJ0/fsHrw7eikHlW3Y=; Received: (qmail 9455 invoked by alias); 5 Nov 2012 21:41:03 -0000 Received: (qmail 9443 invoked by uid 22791); 5 Nov 2012 21:41:03 -0000 X-SWARE-Spam-Status: No, hits=-6.1 required=5.0 tests=AWL, BAYES_00, KHOP_RCVD_UNTRUST, KHOP_SPAMHAUS_DROP, RCVD_IN_DNSWL_HI, RCVD_IN_HOSTKARMA_W, RP_MATCHES_RCVD, SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 05 Nov 2012 21:40:54 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id qA5LerqV010591 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 5 Nov 2012 16:40:53 -0500 Received: from coso (ovpn-113-158.phx2.redhat.com [10.3.113.158]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id qA5LervX001962; Mon, 5 Nov 2012 16:40:53 -0500 Date: Mon, 5 Nov 2012 13:40:49 -0800 From: Benjamin De Kosnik To: gcc-patches@gcc.gnu.org, libstdc++@gcc.gnu.org Subject: [v3] 55028 Message-ID: <20121105134049.78c3397f@coso> Mime-Version: 1.0 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Missing exports for unordered_* containers in debug mode. The patches between mainline/4.7 are a slight bit different, but equivalent. tested x86/linux tested x86/linux --enable-symvers=gnu-versioned-namespace 2012-11-05 Benjamin Kosnik Oleg Smolsky PR libstdc++/55028 * config/abi/pre/gnu-versioned-namespace.ver: Add symbols. * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc: New. diff --git a/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver b/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver index 84210e4..d13c059 100644 --- a/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver +++ b/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver @@ -64,6 +64,7 @@ GLIBCXX_7.0 { # vtable _ZTVSt*; _ZTVNSt*; + _ZTVN9__gnu_cxx3__718stdio_sync_filebufI[cw]NSt3__711char_traitsI[cw]EEEE; # thunk _ZTv0_n24_NS*; @@ -145,6 +146,14 @@ GLIBCXX_7.0 { _ZNK11__gnu_debug16_Error_formatter8_M_error*; _ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv; + # __gnu_debug::_Safe_unordered_container_base + # __gnu_debug::_Safe_local_iterator_base + _ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0_; + _ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv; + _ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb; + _ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv; + + # parallel mode _ZN14__gnu_parallel9_Settings3getEv; _ZN14__gnu_parallel9_Settings3setERS0_; diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/55028-debug.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/55028-debug.cc new file mode 100644 index 0000000..fc17256 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/55028-debug.cc @@ -0,0 +1,40 @@ +// { dg-options "-std=gnu++0x -D_GLIBCXX_DEBUG" } +// +// Copyright (C) 2012 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING3. If not see +// . + +// libstdc++/55028 +#include +#include +#include + +struct MyType +{ }; + +void test() +{ + // using MyMap = std::multimap; // works + using MyMap = std::unordered_multimap; // fails to link + MyMap m; + m.insert(std::make_pair(std::string("blah"), new MyType)); +} + +int main() +{ + test(); + return 0; +}