From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18262 invoked by alias); 31 Oct 2017 01:42:27 -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 18128 invoked by uid 89); 31 Oct 2017 01:42:27 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.0 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=xfree, UD:name 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; Tue, 31 Oct 2017 01:42:24 +0000 Received: from ESESSHC014.ericsson.se (Unknown_Domain [153.88.183.60]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 99.95.03220.DF4D7F95; Tue, 31 Oct 2017 02:42:21 +0100 (CET) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.60) with Microsoft SMTP Server (TLS) id 14.3.352.0; Tue, 31 Oct 2017 02:42:21 +0100 Received: from elxacz23q12.localdomain (70.81.137.44) by DBXPR07MB319.eurprd07.prod.outlook.com (2a01:111:e400:941d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.197.4; Tue, 31 Oct 2017 01:42:19 +0000 From: Simon Marchi To: CC: Simon Marchi Subject: [PATCH 04/10] Make tdesc_feature::name an std::string Date: Tue, 31 Oct 2017 01:42:00 -0000 Message-ID: <1509414120-14659-5-git-send-email-simon.marchi@ericsson.com> In-Reply-To: <1509414120-14659-1-git-send-email-simon.marchi@ericsson.com> References: <1509414120-14659-1-git-send-email-simon.marchi@ericsson.com> MIME-Version: 1.0 Content-Type: text/plain X-ClientProxiedBy: BN6PR1101CA0023.namprd11.prod.outlook.com (2603:10b6:405:4a::33) To DBXPR07MB319.eurprd07.prod.outlook.com (2a01:111:e400:941d::13) X-MS-Office365-Filtering-Correlation-Id: f39810cb-bde7-44fe-bc90-08d52000a026 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(4534020)(4602075)(2017052603238);SRVR:DBXPR07MB319; X-Microsoft-Exchange-Diagnostics: 1;DBXPR07MB319;3:kgTkblWUOfDSAqkjQyWQI1kHmivORq4ci/KJkD8b1yOJrAH5/2ltMh+xiwtlLqadtvKyda7nr+Fo/T9gYDHe4g8quOWL+tJiIS8pmt5WACpYA8oHdT3Ram0f9WWK06P07En02sL6VJ39BfojeNgHUIWbRjzz2fGxJT5nvgM7XYuUo9hO3oBsdbHl7CPDVId13Wq/qaVgEzqaRap7t6GpcSxIUiomc7NbFqf30xm89djn3blDFjfPCilb0626z1oM;25:8Qe93LGx/841vHUgOHuIklU05ka9qZFSRBlEchiQasExhCG9t3O1Iu4wfEdGz646HgjfnlUUc5ywpz9ONgEfe7oO7YhHIqPk1O+guNsgHLRVmSqej3Ztm60bcrhatuEd/7sLlG9J/1Tzj5NQVzOS3McgI25JFna76G7aisC8CK4fUsZzTT7CBbTslRXFKXEiGFiBdJELrA/kXZumzvQPAp2HLm7VTwoRoICya8orFyD4q5NCYDg19tju7fCchKCsHePky0/zy6ACzNzxJtfCTCNw1o5R1Zrz3X86HpjTua5mrOoCIHgo2JCJiuB+PZqVbK2kpoHYHYSTE5/V/x3W4PF8puKfyGf2uJ2GMEpIl+w=;31:DD9xjor12aNsR9WxMSB8U3P2Ap5HhNNSYipQV8m29tglsRKgaM2OCGbMcwiyRc/+diVWmGi5FuJqytAY/pXwT7MGfHarkJIdggJCrMFdXL29UzUuhXvPNUfsXdaxFINGXA7v1JDyYYS8N2jg22pcq3ekdQkoYQfrddi0ui8ELCWBqeL0s3M3OtByJbkll4QQ/Vydl2ZX6JIzJi7UcYJR1kyHWNdQlKqDkCK+oCxAzjM= X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBXPR07MB319: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; X-Microsoft-Exchange-Diagnostics: 1;DBXPR07MB319;20:RnoH+Zzu1T/WWW14yz3iaqc4czXH5Wnsxbdg6aOc2QPcw7emdCWoOsSZYecl8WmORhX6b76Mo7UHZ3vkg8hBT7VLOluMuhIwvVlLfEQIYKUy58ES3/s6rcgGGJqBXUeUMTEoZv35/tJnhOxjjnyT90HtLdNjLehu/XKByda++wipIsUHfNkC6KfJHsyQH9git8wGVOgKDW/NJ9fBt0lrXqRXFIAfbFVCEJVdc+JsI61HMMQSpiRWASYLyxrEVpd7hBXxrKziBya0Ff6tNd45yVswg1Ud6W35k6bEo+VHQIvBbMS/R5dbR77U4Q5rf6s9zosGwP0gbenBi2Ad6aTmBlDegwjbCI0adkl6liR17D3qaKQXizb/H0wj6ga16zTFb3IIeWvuZ497Pdm2DZy+6x7O4ORcUpVvlMWI0+wmgwXZb3FXkNtv9DAQGqqqjHufwFREG0DXC2HQfm9i+mlYlvwctTFV6kGiXGMZ5xSgdzYRvzWyJNBitbC4pnBz81me;4:3TF+9cRjifBXBGKvlo77YaV6rss/E40fNfsKsDf9DstehV0ljK1jhoNr38QGbzJ7L6N5Q5L3PLjpmuV7uKlHDc7Q4QR/qYGn+0/DVnFGUMS9IgKrmKEaDiFsjrwI5UILU8MVjnQHWYxtAJXCTfjDXrI2OvSjO5H+g4h1JeLO1/sCRaxlWSOuB/0PyndIxWfC9Sn+VEfe+KYPkJcLtXFwNuycnT81AQbCL6FqU2ikDxnKRAp29DEou6NvHFCLVzmBD1ujG63VHI+wtV0TWhLnjw== 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)(100000703101)(100105400095)(3231020)(93006095)(93001095)(3002001)(10201501046)(6041248)(20161123558100)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123555025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DBXPR07MB319;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DBXPR07MB319; X-Forefront-PRVS: 04772EA191 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(376002)(39860400002)(346002)(189002)(199003)(54534003)(6916009)(16526018)(7736002)(2906002)(6666003)(47776003)(68736007)(4326008)(3846002)(478600001)(305945005)(66066001)(106356001)(36756003)(105586002)(53936002)(25786009)(2950100002)(6512007)(50226002)(2361001)(6116002)(2351001)(5003940100001)(16586007)(76176999)(33646002)(101416001)(5660300001)(6506006)(6486002)(316002)(50986999)(81156014)(81166006)(8936002)(8676002)(50466002)(97736004)(48376002)(86362001)(189998001);DIR:OUT;SFP:1101;SCL:1;SRVR:DBXPR07MB319;H:elxacz23q12.localdomain;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DBXPR07MB319;23:4efpy1jsKU6VXWIZvx2tLm/1cgUOgS8W7/bp+wC3Op?= =?us-ascii?Q?lx3FfSTg9zlwY9lWKG9giDboLVHcWgMa4B3HgVjW4FiQYZ74PG80IH08ghi1?= =?us-ascii?Q?RxuJjRTJUV0RxyCbV78RK6c+XY5tj9xC7gsdhOt7mVZXGoT4Kr10OEAsYl0u?= =?us-ascii?Q?Zcl+MRfS5j7xDfKTI1lHZBOI+z4Ejaxof/ZBqqJDzUbHO3IwCoNR3QFHOZOS?= =?us-ascii?Q?J/yXvOSRmMh3XJYOZTIyUQHD5xuTYiEaZQAesTCzL7YvMjHjiMT127BKs15v?= =?us-ascii?Q?kXokCRYAKVQxb3ncAe2Vc/Zc3MXe2hdYu2fOlW0oR+LjHk0yiH6EYAFPf1oD?= =?us-ascii?Q?oVl/AHgc+W5WjSDf16w5DucHskiCPEDCJxGoF5i4lpwZIUJLOyEfSeOW2fLS?= =?us-ascii?Q?BFkPmuBFMTSqCtR32MdfFMDEyuef90mFihV5XBp7U268OPYYdNzkVpTPsEtu?= =?us-ascii?Q?ka8+E8uwsfEJ/+/K8+UnnwvJudR0nUOLs3hrJVrM46UYgUJxfc0OzsdAJHWw?= =?us-ascii?Q?eThXfikkjut1+VKKt8nyYUnqRtJxqcPEUfBlhSxR7jMwB0gzKX3shfmYrTLQ?= =?us-ascii?Q?H8twR6YJfqisVdQFrmoUUrVwQMvNEa7XTmzrqvQ6+KDJVdVuigwGMdYqzJFx?= =?us-ascii?Q?hMl6VR6t1FG6TTH9Kh4mRPV+LOeEf5zPmBLaBm1EPO2HftnIeEfnUCu+Dv23?= =?us-ascii?Q?KLmctfD0YNclxDceAa0cGH/l1gTJ782KG0bIMVUbkDOny9XmOV3+rLxHJ0RB?= =?us-ascii?Q?JTvIk3flEY3M1xdJGH6YfKQil9P9OAFzBRZxxzCt4sRWv0r6Ptk0g3qqfJHF?= =?us-ascii?Q?otr6Y1z57gYwMDbuYMlwd1/sDn+hbqARWC6ZGHxD6v24ui2IzXx3K27I863j?= =?us-ascii?Q?C0hKba4iC3R5Z7DN1EYvHXB20o0tgjRg+xYHtR9/oJSGw3f6svlNwGYjd3Oe?= =?us-ascii?Q?pgnl5ULOGt825KBUUbTvbSBd6/yyHziBeinUVMNL3C9nqzrTU1ococXTP65w?= =?us-ascii?Q?GYIt1EZ0Yxhi80FZIxdQOJ37s6a5Pp3VrzJVz1vjFpQlSXC+tzppjMfoLOPG?= =?us-ascii?Q?aujeP39aFfYdMQ9bIe89rWlhVfpQbkQM7jkBTRyGvBewfDuyOAdmoF0mT1NJ?= =?us-ascii?Q?yBgRTWbrmaMhd+lsuxxYzJXPvSeMRt?= X-Microsoft-Exchange-Diagnostics: 1;DBXPR07MB319;6:c9Ii1SrThcwJVg7z6GmJ8i6SMtVIjDZf9Eu4+KOtvrli8Y/Q3r8hOrYMoC4TM1reL455chOoX7uq1vKaWT2AGq474CuSQG9wEh6W96KXqyD66k/et+PSgyj+E1SRAPXpHSWANhXDJOUYBkiY2Opvvy2VGg37q1hqGnqeeq9TbIzu+V4ECQVsdXGVF2hlG8FPMcaTPoKvE/c8trHlkSqffRLeK51bDA3Dr+BhFKlZ8JiZRzj5YPtNYXw32CgPp1IlhYuQ7kP0f9Xwb3MO5bVhgvzyY+TlwPft+I3d8wUKooqqwjpp9YOP3AXR+Pyu6jTa56T4gpdJ0qp3k9jASwas4eYDRim/S9SyWCN25dXjwew=;5:hrfy8x4VaR0pvs55pCvlBrKKOlCn83Zy3MrkY0wrGpt8ouG1Jt04ULrUEg2J0i7rzbpUrnXrbd8UvM0YEZ12D/opIzBVReeCUiLrJkj6sHr35tD+q2IXdElBgKO+JTffTsNkg/dOfSDYZaxypij6GqoMEtNkgTdd55O20w/La24=;24:nCnsymjN91y4/sZMWjILOSM18+CkQXf9624xZBbTxQapnIMUTjBjH31eNsgixOUdrv7vU4ftnQgey3hTOMFhTOh3rnVV8xzicDoBm0IfYAg=;7:O/UqotZKeUaIl8yAadvic4w8d6maQF++adTFan5CpmL9n14bsvQwuX1cvJMaL86js+N97uLO2yzusKP9l3/V2gG57akx2WZN4lHCCpeKFwg6NMYmBxPwcyPjuxp7p4oXIvl777hEQb/qC6GX5Fi2hTarUYe8ytEtwjEsCBuq17NNW40DHuaD18Ii1jr7eQenncA5juffazZUmgZ0h7rM1jZxuL9p+TeMVtdej0DA5qwxv+hIqBZZrCmjRY6M/fwp SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2017 01:42:19.6618 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f39810cb-bde7-44fe-bc90-08d52000a026 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBXPR07MB319 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2017-10/txt/msg00921.txt.bz2 From: Simon Marchi ... so we don't have to manually free it in ~tdesc_feature. gdb/ChangeLog: * target-descriptions.c (tdesc_feature) : Change type to std::string. <~tdesc_feature>: Don't manually free name. : Adjust. (tdesc_find_feature): Adjust. (tdesc_feature_name): Adjust. (class print_c_tdesc) : Adjust. (class print_c_feature) : Adjust. --- gdb/target-descriptions.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/gdb/target-descriptions.c b/gdb/target-descriptions.c index eea5115..410575d 100644 --- a/gdb/target-descriptions.c +++ b/gdb/target-descriptions.c @@ -281,8 +281,8 @@ DEF_VEC_P(tdesc_type_p); struct tdesc_feature : tdesc_element { - tdesc_feature (const char *name_) - : name (xstrdup (name_)) + tdesc_feature (const std::string &name_) + : name (name_) {} virtual ~tdesc_feature () @@ -298,15 +298,13 @@ struct tdesc_feature : tdesc_element for (ix = 0; VEC_iterate (tdesc_type_p, types, ix, type); ix++) delete type; VEC_free (tdesc_type_p, types); - - xfree (name); } DISABLE_COPY_AND_ASSIGN (tdesc_feature); /* The name of this feature. It may be recognized by the architecture support code. */ - char *name; + std::string name; /* The registers associated with this feature. */ VEC(tdesc_reg_p) *registers = NULL; @@ -338,7 +336,7 @@ struct tdesc_feature : tdesc_element bool operator== (const tdesc_feature &other) const { - if (strcmp (name, other.name) != 0) + if (name != other.name) return false; if (VEC_length (tdesc_reg_p, registers) @@ -741,7 +739,7 @@ tdesc_find_feature (const struct target_desc *target_desc, const char *name) { for (const tdesc_feature_up &feature : target_desc->features) - if (strcmp (feature->name, name) == 0) + if (feature->name == name) return feature.get (); return NULL; @@ -752,7 +750,7 @@ tdesc_find_feature (const struct target_desc *target_desc, const char * tdesc_feature_name (const struct tdesc_feature *feature) { - return feature->name; + return feature->name.c_str (); } /* Predefined types. */ @@ -1928,7 +1926,7 @@ public: void visit_pre (const tdesc_feature *e) override { printf_unfiltered ("\n feature = tdesc_create_feature (result, \"%s\");\n", - e->name); + e->name.c_str ()); } void visit_post (const tdesc_feature *e) override @@ -2146,7 +2144,7 @@ public: printf_unfiltered ("\n feature = tdesc_create_feature (result, \"%s\", \"%s\");\n", - e->name, lbasename (m_filename_after_features.c_str ())); + e->name.c_str (), lbasename (m_filename_after_features.c_str ())); } void visit_post (const tdesc_feature *e) override -- 2.7.4