From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20931 invoked by alias); 16 Oct 2017 20:26:04 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 20280 invoked by uid 89); 16 Oct 2017 20:26:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.4 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: sesbmg23.ericsson.net Received: from sesbmg23.ericsson.net (HELO sesbmg23.ericsson.net) (193.180.251.37) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 16 Oct 2017 20:26:02 +0000 Received: from ESESSHC010.ericsson.se (Unknown_Domain [153.88.183.48]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 09.46.03220.7D515E95; Mon, 16 Oct 2017 22:26:00 +0200 (CEST) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.48) with Microsoft SMTP Server (TLS) id 14.3.352.0; Mon, 16 Oct 2017 22:25:59 +0200 Received: from [142.133.49.59] (192.75.88.130) by AM3PR07MB306.eurprd07.prod.outlook.com (2a01:111:e400:881b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.5; Mon, 16 Oct 2017 20:25:57 +0000 Subject: Re: [RFA 2/6] Remove some cleanups from probe.c To: Tom Tromey , References: <20171016030427.21349-1-tom@tromey.com> <20171016030427.21349-3-tom@tromey.com> From: Simon Marchi Message-ID: <7e541128-e6bf-142d-c145-65774a80421a@ericsson.com> Date: Mon, 16 Oct 2017 20:26:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <20171016030427.21349-3-tom@tromey.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: MWHPR2201CA0040.namprd22.prod.outlook.com (2603:10b6:301:16::14) To AM3PR07MB306.eurprd07.prod.outlook.com (2a01:111:e400:881b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b7992686-ea89-4640-547f-08d514d41c4b X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254152)(2017052603219)(201703131423075)(201703031133081)(201702281549075);SRVR:AM3PR07MB306; X-Microsoft-Exchange-Diagnostics: 1;AM3PR07MB306;3:srXVqoZgi3B5rtZc61LfzZqZtGg+e5q3do9Xfl2Xpf8v7+p2eymh762PpOR2sYpja0GqxgHYK1moeanAXjy4Z5C3Avgqx3qCCTamR1OdTcWPWCif20JdBLk5Slg6Fe67G/fRynsqAI2hlIT07q9H5OIf/XOhfEw+IqXwf7np7WqWeU135LNH4T3ehK2IKaN9JLh0ctF6r3ope2nzbhoIt+LLP1OvWtNv8nDe2xHC8Al9Prt9O6XPsQAw/gNstbrP;25:PY7PWCn7LGKpvkbiXUFiWtJsNBPePbkcYq+NhgJlCoRGSLL8h4PDLOTWFGW3fQgGDLVE0S9yoSPZdlc7LE3wrny9oj87Ypyd2MHts8BZdQt0grerYr/MKTZUNuXPJXgNpHy0peAJra50vkc45sDAwMdWpfzdT/iZ/RIP5+Vq2FjhPXC0rjnWdXF5PyhZUvXnk9gLVpn5LFEOlWyuna7RATIzWd9nPTy4tvMCBY85wqg4jl+/ClkhktKwVgLXyg9S7O5pd0n+vofQs5CNseh/p5Pvewy0KEszJoyp3JZcLQvte39bCeIC/BFjnOBMkTxT0j6AUNzLOCBVJiheHh35aPJLtWTjFSGvZpcKZSMpmi4=;31:iv9pxkDO2Qsh2GY25nUrZmiDsO0mCI717vV/lRcXElU+LdxnV9FskyhpQc6TromdsiOe3e8E8qZBPHdMz83zkBwNI3cvD05rnPfVN1ActahwJuSfSXgWdTowWoEYGDq5o8t8TcLZ+cb6eXOBw2FzDLoGCdBM6pcpFekCLpqEkNm6s7npO9gVM1Vad6orVKBS0dKdw1zGeGeD1QDY6Q85g34X4i715XnX/9RL35NrUMA= X-MS-TrafficTypeDiagnostic: AM3PR07MB306: X-Microsoft-Exchange-Diagnostics: 1;AM3PR07MB306;20:3n5dsq6XXCbp6grZjeZkieUp5mP8fAu1ervuwygdbYT0Rb6gYZn+sqMZDAUI6HQzN9FRB2kb7c9DoNBX015wJygYf78OQryjOfCmrcBNDuDXnVBbWw4Q2VRDy0SSE66phY54KttYz+c6pZ20Vjm0pBH+FboI/zhtzXEU40cWIqcvWo8WasKTKoLjyrRrZOR8pSsRnWFV7XVbkqseme5KS77XTye0cDIWvBsmhJji+suTdRatMCVDnWni5z/2JkY8Nrikmx+IHd8h3GJE8/jcrNYaV9ifExkFVCM5z0ODeZrwZ8TwAiH+vYiy2ONcVyP7FCxo2cR2TxfZSfPoDZmflbxLlpOiXrgu8kR5BbdBWdvw4pTvyawOwmd1yTnqxNPjhgTErTbvX/55NdEBOEcxxPvUwR0bZ1DMO0mJoxhaSyKgsHrNzszdZFKfqXp/M5wD5LDdId747lcgKWJ/tMW6EYspSS/5oowkWB2RjojAadTkvZ247qRpZQAwQi2pcngm;4:DAL4Q/DDDwTj20BVif/0IBX6yxXBxIgtM796QflxO8SJ47A7DAwwmOc8UdPyas3IBKBpOiXwz3Ts83z2ZGvxLsZo3yZn1NZzgdszkdEDhWIeT7hUESvo5RE3n9GXBWTvzA+vqikK00f8rVKUXK78HhbB7xW88G9DcnJTkVWQHFbWct3gx8L0+iRvr0TfugLTQAQYxbLORU2ks/GjtVWd0dmwWzj0caVIikn+dNYs/E49HZo8UcSf5x3JRnXxIUhZ X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(10201501046)(100000703101)(100105400095)(3002001)(93006095)(93001095)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123555025)(20161123558100)(20161123562025)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:AM3PR07MB306;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:AM3PR07MB306; X-Forefront-PRVS: 0462918D61 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(6009001)(346002)(376002)(39860400002)(54534003)(377454003)(24454002)(377424004)(199003)(189002)(54356999)(8936002)(16526018)(36756003)(316002)(83506001)(229853002)(6486002)(86362001)(189998001)(53936002)(31696002)(65826007)(68736007)(25786009)(5660300001)(23676002)(4001150100001)(31686004)(6246003)(305945005)(105586002)(2906002)(478600001)(16576012)(6116002)(230700001)(3846002)(49976008)(106356001)(33646002)(101416001)(7736002)(58126008)(50986999)(76176999)(65806001)(8676002)(50466002)(81156014)(6666003)(97736004)(81166006)(53546010)(64126003)(2950100002)(65956001)(66066001)(47776003)(78286006);DIR:OUT;SFP:1101;SCL:1;SRVR:AM3PR07MB306;H:[142.133.49.59];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTNQUjA3TUIzMDY7MjM6WENYZE90eEgxWWsyME9tV04vcG1nK3VrcDJs?= =?utf-8?B?Q2QwbU12NkFUeG5KUkR0QmJWZ1d4V2pNclJzbG9NMEVTSE1ZODd5N0drU2Ni?= =?utf-8?B?RFR2cWo4Z1hTckw2ektjdUM1SmhOOEVFUUxvK202cHlhTVNCRzMxdmZGZldS?= =?utf-8?B?cWNVNzh2Rk9KMkY5QXdXQmdkVFUyY3VBTlV3dTNlS3JZVGZOSnhUelAreksz?= =?utf-8?B?elpMYklEdXNLbnJOUHhJVVpPWWJvdVVBWm5vZ2h3V3BwMEcybWVyMFlMUldR?= =?utf-8?B?WGRCeTlMc21sZGFpYXcvZjZvRHJxVEVTOCtOUCs3aDNXRHpxY28wMjB3SmFn?= =?utf-8?B?dGU2bHFkNWt2bzA5M2hxNnh1dVJzWG5xcWZNWmNETjBmNEZJdmh4RWF3Y1Jy?= =?utf-8?B?azBSM25vVXdYb25NMnpBVGlZTnVPQzVPVkxYRzdvYVkvMmxQTW1QTHQzMFBa?= =?utf-8?B?bFFPRG1LSjk1K2FTTnNJYTlzdG54RHFNMFlXd0hhNkM0VWJobllrdVA1OUJL?= =?utf-8?B?MXZyUXd3N3NEWXo1STA2dGh1Q1o3Z3krZzh2aEFtRE1vQnlSVmpFSUtobSs3?= =?utf-8?B?YXBaN0tWVjN4UGxGSkgyMjB0MDQyazVoTlVySUNPZjVQaVJEUkk5MjRCNlY3?= =?utf-8?B?SlVTMU1QYThJb25pSmZxQVFmcVJqR3BYQ053Qit1b1F1Zlk3Mjd1ZEd6bjVS?= =?utf-8?B?YWxMTXRYY0dRL0NuQURkZm4vdG1sdlhFT2VSUC9BUmNzQ210K0hFM1lMS0Jm?= =?utf-8?B?WENGa2lNRmtONUhhVmIyV21KakIvOG5DOWR5RCs0MjFvbFEwV3Q1S0tyWlFn?= =?utf-8?B?UHJZYnFKbHFXWjZzK1Q5OVBIRHpvbkpJMWNLNnVZWFA2SVBLU0pQOENZMUZH?= =?utf-8?B?c0xQWXl3VGg4bjR1ZmVCRzVzcjNKa1lJclhIU0JlR0Z5N1NOaHNoL25pZUQ4?= =?utf-8?B?bGVOR1BPZnpzNDU5ZURmMGZsemlIYXpUNXdiaGR1R1hqbnRORWowMzlyYk82?= =?utf-8?B?dDcwdnBnR0VzY3R3bExlK2FiazFINW1UdTVxZWcrcExhOGd1Wm1oVjJnM3BG?= =?utf-8?B?QzBlZTNwVkFFaU5mN2w2amdJak13Mkh0VkpQbTQvelRXejJIcE5lUG1sYTRO?= =?utf-8?B?ekU2bUZHbnNNWERFcWxRWFVoaDlHZTZpOXV1akZVOHZ5aFZadjRlNHlCTEUw?= =?utf-8?B?OVJ1UTNrR2ZsZDFzYTNFaTdmcG1vbEttVXJST0FjTVM5MXdxT1R4MVg2ZlpN?= =?utf-8?B?dnVhbzFiaExOK1grVnZZQXYyemhrM1ljRUlJWlNoMktLUGgzNldCanZoUXhz?= =?utf-8?B?WlZxQlpyNUV1RlQ3VitMN3JrTHh5YjFEcHh3S0ZUNHJteFBpN0ZyOXNRYmJy?= =?utf-8?B?L09rVWJKZzJBSVEvUDlPRXpOcHdSSTNJWlVtaXlsbnNFTmorY0t2YmhsdnRW?= =?utf-8?B?ZDdraUYvR01pMmVVQ3htQjQrNGxoS25oWk9qSGZ1azNhcFRRbTltYThPUHRJ?= =?utf-8?B?aU9HOTFQdi8valN5dmdFZlkveHJHVXhiY3FkVXZCcDBpMGl3dFNsZ1EvNlZD?= =?utf-8?B?RWZNVkkrMUY0VjFPb045TzQ2QVZnV2dWd3paM21wS0YwRjcrcUduRnRpbVBi?= =?utf-8?B?UTNPdnpLSkhHWit0eS9Cc2Zwd3pxQTh2NjBoL0toY3dSenNJWjVTZVNZYldO?= =?utf-8?B?M2dER1l2bkV0M0o5WHlHaXRXU0tSRW9WeFFMV0d4ZmN0dHJUdUdFb3VvU2dp?= =?utf-8?B?MzN3OXE3K0NrNUZvQkFrVHo3dUJ1R2JLWkN4dmJFVzZCdVNEcE9CcTB1MW94?= =?utf-8?B?ZUFCc1lQLzdDVTZKVHdvejFQRUlPNTdjc1RxUWFmdlZsazh1UzhpZUVicktn?= =?utf-8?B?M255UTVuNzAwMzY3RkN2cDdFT3YwaTVKaWUrek9nVTZMTGx5R0IzTEZUWk9z?= =?utf-8?B?cDlwSk84RkE9PQ==?= X-Microsoft-Exchange-Diagnostics: 1;AM3PR07MB306;6:KtjpDOJwfwGeIz6zfAIO4rYGAju6fSbJwZapQG0BcTaKQ/P2VZQrTzPvPfieVl6cU2hcWBc5ycC2UUNUTHGB4s5HBzk8BzsjwXTncUMfQRq+fjUetZC/hHFeUqNBKcpV09VaPDOaPKiLbUvmUTZ+R6C8BSeLagB6Be/v2a48nE2s4xBpjIpC+hejPsx7jWxg8VA/dJms50Mklyo0a4iWPW0FBb1Nb1lIcdXxsWsiwCi5M+YKEed+qABJ/sMqqdTj6+N/ksTwtGvltWMYD6U7I9477zSqlvP3zLimOcGpiJn+6+4DTBUb+ZyvfFAlHeILFivYe/dch80zUs9aFj12Wg==;5:gu22oZlgwlRrnYUSDWVlsC39MCfstg0aWIvSuHV9lMtHPFSxkJoAcL/1WvZgTxvXrMRRwpunv0wjBIpz+n7Y2AVvpuVE5FGmvIi0r4g72sm7CKtPRgMtsCv2gKebzG9emI2xrd8CNdyZm27Ykx/Ieg==;24:PB9iXQDjUJ6qkeq4byMawmwb1qc6iGiG+yRwBaPB7lHK9PJ6Lhzi0hE2jSAi2LVJW9c+V8ooTK9Ls3FEo1Zp1exEn//UjDaLtDUh4C4ukO0=;7:Od0AJhv9EVmQtkDAqI+9Yu7GDoCRQzcSjMhyCnzizbWbqnJbWpw+pmlhivpmGoFF0HQJ5WfimE2KEGgJNJXS/CttPiJK54mP2qB4JMhF5ARXlFoJvoOQ9UVaY0PnOR+a2/SMUyrSqErJBCCJBksKXNPFId6OmW115EnkIYO0OXNQRDzRdDVwlUfCYTAog3TCFNOQFDnaCY3bzGyDrVXd/3Tmc0TIp/EEgOorLIlMfFM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2017 20:25:57.4051 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR07MB306 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2017-10/txt/msg00467.txt.bz2 On 2017-10-15 11:04 PM, Tom Tromey wrote: > This removes some cleanups from parse_probes by using std::string; and > removes some unnecessary cleanups from elsewhere in probe.c. > > ChangeLog > 2017-10-15 Tom Tromey > > * probe.c (parse_probes): Use std::string. > (info_probes_for_ops, enable_probes_command) > (disable_probes_command): Remove cleanups. > --- > gdb/ChangeLog | 6 ++++++ > gdb/probe.c | 24 ++++-------------------- > 2 files changed, 10 insertions(+), 20 deletions(-) > > diff --git a/gdb/probe.c b/gdb/probe.c > index b3dbf896b9..e5a09211cb 100644 > --- a/gdb/probe.c > +++ b/gdb/probe.c > @@ -98,7 +98,6 @@ parse_probes (const struct event_location *location, > { > char *arg_end, *arg; > char *objfile_namestr = NULL, *provider = NULL, *name, *p; > - struct cleanup *cleanup; > const struct probe_ops *probe_ops; > const char *arg_start, *cs; > > @@ -118,8 +117,8 @@ parse_probes (const struct event_location *location, > arg_end = skip_to_space (arg); > > /* We make a copy here so we can write over parts with impunity. */ > - arg = savestring (arg, arg_end - arg); > - cleanup = make_cleanup (xfree, arg); > + std::string copy (arg, arg_end - arg); > + arg = ©[0]; > > /* Extract each word from the argument, separated by ":"s. */ > p = strchr (arg, ':'); > @@ -183,17 +182,12 @@ parse_probes (const struct event_location *location, > > if (canonical) > { > - char *canon; > - > - canon = savestring (arg_start, arg_end - arg_start); > - make_cleanup (xfree, canon); > + std::string canon (arg_start, arg_end - arg_start); > canonical->special_display = 1; > canonical->pre_expanded = 1; > - canonical->location = new_probe_location (canon); > + canonical->location = new_probe_location (canon.c_str ()); > } > > - do_cleanups (cleanup); > - > return result; > } > > @@ -548,7 +542,6 @@ info_probes_for_ops (const char *arg, int from_tty, > const struct probe_ops *pops) > { > std::string provider, probe_name, objname; > - struct cleanup *cleanup = make_cleanup (null_cleanup, NULL); > int any_found; > int ui_out_extra_fields = 0; > size_t size_addr; > @@ -657,7 +650,6 @@ info_probes_for_ops (const char *arg, int from_tty, > > any_found = !probes.empty (); > } > - do_cleanups (cleanup); > > if (!any_found) > current_uiout->message (_("No probes matched.\n")); > @@ -677,7 +669,6 @@ static void > enable_probes_command (const char *arg, int from_tty) > { > std::string provider, probe_name, objname; > - struct cleanup *cleanup = make_cleanup (null_cleanup, NULL); > > parse_probe_linespec ((const char *) arg, &provider, &probe_name, &objname); > > @@ -686,7 +677,6 @@ enable_probes_command (const char *arg, int from_tty) > if (probes.empty ()) > { > current_uiout->message (_("No probes matched.\n")); > - do_cleanups (cleanup); > return; > } > > @@ -706,8 +696,6 @@ enable_probes_command (const char *arg, int from_tty) > current_uiout->message (_("Probe %s:%s cannot be enabled.\n"), > probe.probe->provider, probe.probe->name); > } > - > - do_cleanups (cleanup); > } > > /* Implementation of the `disable probes' command. */ > @@ -716,7 +704,6 @@ static void > disable_probes_command (const char *arg, int from_tty) > { > std::string provider, probe_name, objname; > - struct cleanup *cleanup = make_cleanup (null_cleanup, NULL); > > parse_probe_linespec ((const char *) arg, &provider, &probe_name, &objname); > > @@ -725,7 +712,6 @@ disable_probes_command (const char *arg, int from_tty) > if (probes.empty ()) > { > current_uiout->message (_("No probes matched.\n")); > - do_cleanups (cleanup); > return; > } > > @@ -745,8 +731,6 @@ disable_probes_command (const char *arg, int from_tty) > current_uiout->message (_("Probe %s:%s cannot be disabled.\n"), > probe.probe->provider, probe.probe->name); > } > - > - do_cleanups (cleanup); > } > > /* See comments in probe.h. */ > LGTM.