From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x341.google.com (mail-wm1-x341.google.com [IPv6:2a00:1450:4864:20::341]) by sourceware.org (Postfix) with ESMTPS id 0460C388A82E for ; Wed, 13 May 2020 08:07:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 0460C388A82E Received: by mail-wm1-x341.google.com with SMTP id m24so15891055wml.2 for ; Wed, 13 May 2020 01:07:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=ilXzYcpw0lzob7mfRvuxjtw2RmCeLaTRyNEmiwUdT3A=; b=V5wttai4uscTcZyQRniQXeHzG4Jzhm6E/RNSr0+oSli89wGsj+gyx+oRwQnWK17jwM WCf+02bmugxALMpJHnAWvTGG+K3bRnrNg9VB0xw653tDgdUUZN2OBpwXrbX5JTtNCBWv 6hrfVR1/I1g/qLbsUZ6KGQjwJHcv7r71u6NZsAKUYWAlt6lYQD1tfbzKvATiSfYi48yl Iata3tZiiK0qz2eODI9FEAFJPd1AYNdIg4t48dvalhnD1z7h7OE3Nxm4oqMCGwfr8V+N evoG9jT6b5Xi3e0oQE1TtSiS0+Lp0iRjF4+D5FTT4/P9cC/Eqz3W4+9tcF3a5fFDQ967 P/nw== X-Gm-Message-State: AGi0Pub00ta6kxrT9OQmXD93HMu1Yup3fpASXtGAZ/7I7583L/uWwjmE eT9Lny0OHa7cUCUajDKXErGoXg== X-Google-Smtp-Source: APiQypL+Rgw3tDFrcoeRdDb/wfRbMfmbPTAvPPldOIMEVw6uH/Zdgh1u5LhbMdLHzf/Q5tbsL5AsTw== X-Received: by 2002:a1c:5683:: with SMTP id k125mr40664706wmb.17.1589357244719; Wed, 13 May 2020 01:07:24 -0700 (PDT) Received: from google.com ([2a00:79e0:d:210:e8f7:125b:61e9:733d]) by smtp.gmail.com with ESMTPSA id i6sm26264904wrw.97.2020.05.13.01.07.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 May 2020 01:07:24 -0700 (PDT) Date: Wed, 13 May 2020 10:07:23 +0200 From: Matthias Maennich To: Giuliano Procida Cc: libabigail@sourceware.org, dodji@seketeli.org, kernel-team@android.com Subject: Re: [PATCH] Let std::unordered_map::operator[] insert keys. Message-ID: <20200513080723.GE179834@google.com> References: <20200505181618.238776-1-gprocida@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <20200505181618.238776-1-gprocida@google.com> X-Spam-Status: No, score=-32.8 required=5.0 tests=BAYES_00, DKIMWL_WL_MED, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, USER_IN_DEF_DKIM_WL, USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 May 2020 08:07:28 -0000 On Tue, May 05, 2020 at 07:16:18PM +0100, Android Kernel Team wrote: >This patch replaces some verbose code with one-liners that rely on >std::unordered_map::operator[] to insert a missing key and return a >reference to the default-constructed inserted value. > > * src/abg-reader.cc (read_context::key_type_decl): Rely on > std::unordered_map::operator[] to create map entries if they > are missing. (build_elf_symbol_db): Ditto. > >Signed-off-by: Giuliano Procida Reviewed-by: Matthias Maennich Cheers, Matthias >--- > src/abg-reader.cc | 22 ++-------------------- > 1 file changed, 2 insertions(+), 20 deletions(-) > >diff --git a/src/abg-reader.cc b/src/abg-reader.cc >index 5583a31c..69f7c311 100644 >--- a/src/abg-reader.cc >+++ b/src/abg-reader.cc >@@ -556,17 +556,7 @@ public: > if (!type) > return false; > >- type_base_sptr t = type; >- >- types_map_it i = m_types_map.find(id); >- if (i != m_types_map.end()) >- i->second.push_back(type); >- else >- { >- vector types; >- types.push_back(type); >- m_types_map[id] = types; >- } >+ m_types_map[id].push_back(type); > > return true; > } >@@ -2882,15 +2872,7 @@ build_elf_symbol_db(read_context& ctxt, > for (string_elf_symbol_sptr_map_type::const_iterator i = id_sym_map.begin(); > i != id_sym_map.end(); > ++i) >- { >- it = map->find(i->second->get_name()); >- if (it == map->end()) >- { >- (*map)[i->second->get_name()] = elf_symbols(); >- it = map->find(i->second->get_name()); >- } >- it->second.push_back(i->second); >- } >+ (*map)[i->second->get_name()].push_back(i->second); > > // Now build the alias relations > for (xml_node_ptr_elf_symbol_sptr_map_type::const_iterator x = >-- >2.26.2.526.g744177e7f7-goog > >