Message ID | 3b10a8fe-ed3d-6126-aa51-3f1a471601a0@ericsson.com |
---|---|
State | New, archived |
Headers |
Received: (qmail 81606 invoked by alias); 5 Dec 2017 21:42:00 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: <gdb-patches.sourceware.org> List-Unsubscribe: <mailto:gdb-patches-unsubscribe-##L=##H@sourceware.org> List-Subscribe: <mailto:gdb-patches-subscribe@sourceware.org> List-Archive: <http://sourceware.org/ml/gdb-patches/> List-Post: <mailto:gdb-patches@sourceware.org> List-Help: <mailto:gdb-patches-help@sourceware.org>, <http://sourceware.org/ml/#faqs> Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 81583 invoked by uid 89); 5 Dec 2017 21:41:59 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.6 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; Tue, 05 Dec 2017 21:41:57 +0000 Received: from ESESSHC010.ericsson.se (Unknown_Domain [153.88.183.48]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id ED.B5.00337.3A2172A5; Tue, 5 Dec 2017 22:41:55 +0100 (CET) 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; Tue, 5 Dec 2017 22:41:54 +0100 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from [142.133.49.68] (192.75.88.130) by DB4PR07MB316.eurprd07.prod.outlook.com (2a01:111:e400:982f::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.282.3; Tue, 5 Dec 2017 21:41:52 +0000 Subject: Re: [PATCH 11/10] Split tdesc_type into multiple classes To: Yao Qi <qiyaoltc@gmail.com>, Simon Marchi <simon.marchi@polymtl.ca> CC: <gdb-patches@sourceware.org> References: <409e1beb-1f18-f5d5-9973-b060925c8536@ericsson.com> <20171203160430.20933-1-simon.marchi@polymtl.ca> <86o9ndp1h1.fsf@gmail.com> From: Simon Marchi <simon.marchi@ericsson.com> Message-ID: <3b10a8fe-ed3d-6126-aa51-3f1a471601a0@ericsson.com> Date: Tue, 5 Dec 2017 16:41:42 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <86o9ndp1h1.fsf@gmail.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: BN6PR1001CA0012.namprd10.prod.outlook.com (2603:10b6:405:28::25) To DB4PR07MB316.eurprd07.prod.outlook.com (2a01:111:e400:982f::24) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 22ee15c6-eb26-49b4-ab72-08d53c28ff9a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603286); SRVR:DB4PR07MB316; X-Microsoft-Exchange-Diagnostics: 1; DB4PR07MB316; 3:1GIKey+S/EVYiDO245D01wsNyeuc6Q/niXtcZkqzydu5XjhNnAEuUNHRD1+Fay6796hw+L/YwbM8WFCPk4XHCmxXReNJC3ArehCgDrMpUvROYh5IwRuQS2WMwW3TUH5+AoBx07XkjR/g6/vamTxLSMhcudQN92V84Ztzr15SBnu83LCHX2issQVBG90VsKfMJmL/uFpA2BUnz104GCOGUTKz/gbOPrh359AWfdmbjUm0EXHQvvOo/k8p2/Zxl8+T; 25:G04Y/m3F/DaOrjc75yIuFZOzIPXqd56Zjbiur1oy85YKf8W/vJI0vF4ZLez4ZBesgz9++ouX5ssWf/BW8fozJ4pRvoA2YfjarX489BaOto9bqTZbTaUQ4cMpO+UfjMeAZEFQ5DTJXQ0Wt7Ud/gfypui+ZSRECgUUpEMCp4RLgmcx1eExNYTDeboLuHSIw0r6+K8zXlQAt76kOhX9E7I9nnSISk/HagHfeF/RnxD9msxURE0l/aT/IEuF5/enmPGR02/1ZB1RjtnBLUKucds1P9r/+67d+WMo8Uysj5scfCGd8e1RjsC0HPNymaTdwVM5+3yEvEHHmQEZZNZJI5D2QA==; 31:X2afVJTB+ejYDOD08CoQv6B4dVWYlBgWM5oancfoQZHHag2t7jHKZoHO/+5ZUNvyOGNlkSym/2us3hI5gjHna0VwiZJjsrdr5OPotnsmGa2ciN5Y+NzvM+qC16jQhc8Lz76C6IwFnYRF8wdRMJ9xmsZv2qJX79TRxYzJegRAe8x1ByRNv3VclZTH4nwnxXwlGjyvRJ1Sn7ZYwamB/zxKG7syk/D5kf9ezImuu2GKtLU= X-MS-TrafficTypeDiagnostic: DB4PR07MB316: X-Microsoft-Exchange-Diagnostics: 1; DB4PR07MB316; 20:HAA/n1BjGfZBgfar420hTKdFnPOnBAHDd2pqJhGR8Boy/s9rJ0WBjjbCmKi56ozSYpD37I44G9XqG3/zzBd88CqnT/4qcPkQQLPCFL0nGhNtaCqZBFZxO88biYurXRmWVogZxe74Kmyw5Ah5pAsas/XOHABmyIYGQkmiANfHpAOtdHzipBDwmDwHcr+C44R2B5V/+YaaF8bLQUieYiZ3uczezg1yGO794u0+5ZVXwMXKtSPMVhkW2T3E8rblu2+4BzE/2neHGvbF+pL4vE4yB4ArdYYFT/8subj/n3KMqILXSDTnpzq4m4jw+7i4w2RAvWKnIKFk0NZSCljHWy4VQjRtbbLrEVUZoCJqSbeBHnSI0oZyJ+0nGa/eDaRbP8DsMhKT7e1z5tzEy3No1yAzftrxx/mTI1BSWdk3ft+DYw3OxHbJIFtUUeY6eXMYzYkYJgMucpWWLNl1MvECkly02E26ub5ZGx7jQHwNQBQgIwuzxxawnTKHA/Vet71GVs3k; 4:1oET0Fs1pLlJokzURJvqjkmBaxxvTnKxhRklt0BfZ2b1Uv5VRxQew3YIbvJVg9E7K5pu2TCsrMafv+KgGp0SE7glHqoz86R5gtgtKmb1Pwf6yPBD0gzLkO6j4nHB1uimk39g1Fe3nuCrgGbA7/6va/VeBSLcao8AoRpF2wT/ZkXWrsoE0GNRRc3Tplx3b++g8bEXTESJdyToFph/djSxTxvVtDBd+BB9GPd0rQhx9VCRQ3dPLBA1cMkdrJVE2J/uyEUOIT3DiVivFKbRpcvEW1CAleV4sXskvbvtMUVXx1X2sZ1NxrPW52GIgIRoWnnh X-Microsoft-Antispam-PRVS: <DB4PR07MB3160A23182E66E06D691726ED3D0@DB4PR07MB316.eurprd07.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:(37575265505322); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(3231022)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123562025)(20161123555025)(20161123564025)(20161123560025)(6072148)(201708071742011); SRVR:DB4PR07MB316; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DB4PR07MB316; X-Forefront-PRVS: 0512CC5201 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6049001)(376002)(39860400002)(346002)(366004)(199004)(24454002)(189003)(54534003)(377424004)(16526018)(110136005)(6116002)(58126008)(3846002)(316002)(229853002)(25786009)(230700001)(8676002)(39060400002)(81156014)(81166006)(8936002)(16576012)(65826007)(53936002)(6246003)(4326008)(101416001)(6666003)(2950100002)(68736007)(5660300001)(36756003)(53546010)(2906002)(2486003)(52146003)(7736002)(105586002)(6486002)(47776003)(31686004)(305945005)(86362001)(52116002)(66066001)(106356001)(64126003)(65806001)(65956001)(478600001)(33646002)(97736004)(76176011)(49976008)(83506002)(50466002)(31696002)(23676004)(78286006); DIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR07MB316; H:[142.133.49.68]; 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) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtEQjRQUjA3TUIzMTY7MjM6ZS9PVlEvOWdlMkxEeWw5anZ3Z0ZUcG84VWk0?= =?utf-8?B?UHV0N1FIOWRKZkZMTWJ2WGx6aFpxS1VrSDV3WG0ydnJObURiMjFrVUZRb2JD?= =?utf-8?B?UGhPOXlTdjZNV1ovMUVOeFpJakViRXBEWVJVd3FlWUkwcHBjQWpQTFBLL1Vt?= =?utf-8?B?ZEEreUg0cUFKOEtOdEtlamVhcjBzNFNuR2tVYnVGdDB5aCtPTWkvbHpzNzIy?= =?utf-8?B?RVRHczkxVk1XT1ZkaE5jcVVNakhpZ2pzNlhzeTVNQWV5SC9GZU94blRkWXNC?= =?utf-8?B?eXFON292a2xoQk5tOGpyMmY1Z1dmak9aei91dW0rRE1sclBtUWhTMzlBT0FE?= =?utf-8?B?M2hrMlU0Vm5RWTlTSTR3dlVaazExV05PTGF5RHQyZUtFbTZCR3JRUndGSGZj?= =?utf-8?B?K1JUZTN3Nm00T1dnUitQUlNNK01lOWRycFBXVVNtV1YwZW1kVktqbjhVZFdh?= =?utf-8?B?LzBlL3Z5NGRKaVJDMDZOekNjSENjcXBrWXF2SnBWR1RUakpUQWlBMDc4R1F1?= =?utf-8?B?eDhvUVlHYmFSaVp1RzFoeWFwQ3BnbHVZM3YzeTN2MHhmOTB3UjBDS1lXa3c5?= =?utf-8?B?cm1uUHdwaDNIczgvcGZRYm10R2hxV3A4Z05rdTdTWVMvdVhtNG5DcnpQT3RK?= =?utf-8?B?V2s4c3ZiUW96SjBPTE1DZEF1TFZmbWJYcUlRb1RnK3RvY0JXNElHcmg5SlBk?= =?utf-8?B?elIvKytYenEyeDFSL2Yxa1ZLQUs1U1pPZTh1dXp4Z1crRjJrT3ZRVUx1dTRO?= =?utf-8?B?SXp2RVZreWt6azBlaTJMNzIzNmxDMEN6Ni94SDVqV24yNHU4NHE0ME14ZnFh?= =?utf-8?B?NFJRcVZ5VUV0Zk9QLysxdSttMHJYMUJESHNadmhBd2Z1cGtrVUUrZjg1STdF?= =?utf-8?B?U21rL2N6RVVKdUhpZ2dSVjI1NEZuYTExaC9Bcy9KRGJaNElpWnY5UE5qNEo0?= =?utf-8?B?VmRpNEJwR1BOQitCRlhVYXpPZ1lnaG1EWFFna0V0Uzl6QlBBcFBSVExSUU05?= =?utf-8?B?bk84d3VNNndVczM0cXIzZXFscmsxaWdXMkR4cEorWmNxa1BOZmRDWkF3WUNW?= =?utf-8?B?ZjJGajVuYmp1ZWx6a1l2WUVoWlU4WTlMWHBYUUpVTmMrcFk0UHhGOERodkt5?= =?utf-8?B?NWVpbVBLcUVDb2tNVnpGdk9UT3BETDU4SUc1WVNJWTUwVDVyenFZalBvcVly?= =?utf-8?B?NVNSK1BqY2x0TmoxTDE1dXRXeTBGTFFvTTJGcS9rM2xPSDhDem9mWW1wMTRD?= =?utf-8?B?WjFFZlJBZ24yb0FHOVIxa0ZlV1BscWtHNThacVdrbnJpejJ0MzVLQVhLai9p?= =?utf-8?B?cjdrWk84WE9ac204czJ2eFZTRnpraW1RWm9hbUVnQ05ZSWZ2dnFuZGdsYnor?= =?utf-8?B?UCtDVUNwUGdzeVgzeUJ6bG5UY3Rkc3RNbnBPTzhLQUxSeVBwRXRmWWM2MS8z?= =?utf-8?B?YXNoQy9hekZxY0ZqbVJrN1d6MUpJWkxrR0M0ZnNDZnhaNUZicDhrdEhmd3c0?= =?utf-8?B?bHdxNEs3QlVuZXc2c2RvTERCT2pSN2I0RUl4aXhubWRNc2tZRGZFN3lndUx3?= =?utf-8?B?RkhZcS8yVXpycnBUTDBDWm5yNDFIeXl0eVM1MzVqN1QxSWdaY2NrTTRsZkV0?= =?utf-8?B?am9WZnp0blJhMTdYNHQ4NjFXZ2JEVGVNaUZBOHZWVGJCTXplaDJ6TDBzdEJG?= =?utf-8?B?NWxDdnlFVjdQVlpGQUR5V1E4RGFpeG5yMjBFUE5hc1NSMy9aQjhOb0VybzRz?= =?utf-8?B?TlFrYjJZZnR0cytmb3h6QVh3Ry95WU5zbVRsaDcvOUJDcW03cDNHL2UrMW1J?= =?utf-8?B?OTN1eStzZlFRN2hoVW5JaE9FMXVnWFA4Y0ZsamYzTXNpTG9oSEJBZFZCOWxv?= =?utf-8?B?bzhYRlk2L3JZbDM0ME8rN1R6MDI3WWxkWEJKRU1sWFBhcFlpbS85TitaeEor?= =?utf-8?B?TlFpZXlRZEE9PQ==?= X-Microsoft-Exchange-Diagnostics: 1; DB4PR07MB316; 6:+78GRNhhxZ1bDlWExHgohV2Ub+C6B0+mGJ0GKb+BUnoBpBuZx68GIh7URN9RaylZ89i6pwHRA9JQUAueQ05NH/pITzlKS+innFpD3wp9n6+0rhaFc7h2UeAoYYsq4iAO/kMsxHnxklN1G5PUIDEpkdzVs4hO0/E8s3uv6kYxUuk+D3gFb1y4mN/GwPo6qNqeJpcx4OjGWSzvsrtBFtWGOKvB5ejTWGXyMmWf39C82AYaJbZ2q/6F3wIAHNjSVESITBWCjzfY57XD5EZPwK83deS6n0DYT3v6ygwNfc3+p29rilB+pXHMDoC29gFYzj+xHtBYs9WGwvHPKRV3JfksqrQpD09yHDHpWt5d4aMc9DQ=; 5:JtAFG/7lcGF03AnwlaXRaunWR6LxiVRysNDWA42MLityP2wX0aOJqBe8X8iDOep4pSStXhiN8Dx4I4/OVtjevnfGEIT1786mlQqKpszOaxWLv60GAdSzats/4MhnTf7CNnnv6xOCRrwwxP6hbgQkzdSuXgmxHWx46zUymvc1jOM=; 24:dKwMiwAFl05L/TxT+zs60m9IWtUerlHi6o3wO04Aduxp/RERzOVg/PdjaBJD+WHX81X/UP3PMa0etasS876Fy0HPNwVWl2CJLqtfB4zVbIk=; 7:hdaKjS9Jw9T3S4pCdeN+IIY7Ph27JmIFRySVd7JqTV73qMl2G4R0KeAEkxayeqMOM2jnhLlpgyUoCAGuddJd4pnaBY7SYywRHgMJF8IWaJ1EjZbzkCsCjtfwPMLu1421PI28DDny7ZvpEgBUpnlxvOL/5d/bqrm2TjpxbTIcGezeAnECCTDOH5K4C28lQBD+pWgTs/fwTkmgJ5g7HRnBYzRIzzGmw+1gTV078hs+F69D6wi9x5AS9bN0QiC6ZOk1 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2017 21:41:52.1493 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 22ee15c6-eb26-49b4-ab72-08d53c28ff9a X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR07MB316 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes |
Commit Message
Simon Marchi
Dec. 5, 2017, 9:41 p.m. UTC
On 2017-12-05 11:46 AM, Yao Qi wrote: > Simon Marchi <simon.marchi@polymtl.ca> writes: > >> Hi Yao, >> >> I revisited this patch, and implemented as best as I could what you >> suggested. This patch applies on top of the current series. >> >> This patch makes tdesc_type an abstract base class and creates three >> subclasses: >> >> - tdesc_type_builtin, for builtin types >> - tdesc_type_vector, for vector types >> - tdesc_type_with_fields, for struct, union, flag and enum types >> >> This allows getting rid of the union in tdesc_type and to not allow the >> std::vector separately. I tried to go further and create separate >> classes for struct, union, flag and enum, but it proved too difficult. >> One problem is that from the point of the of the target description >> code, the types tdesc_type_* are opaque (only forward-declared). >> Therefore, it doesn't know about inheritance relationship between those >> classes. This makes it impossible to make functions that accept a >> pointer to a base class and pass a pointer to a derived class, for >> example. I think this patch here is a good compromise, and if somebody >> wants to improve things further, the door is open. >> >> A make_gdb_type virtual pure method is added to tdesc_type, which >> replaces the current tdesc_gdb_type function. Calling this method on a >> tdesc_type returns the corresponding built gdb type. > > Hi Simon, > Thanks for doing this, patch looks good to me. > Thanks, I pushed the series and this patch. I realized too late that I must have been working on the branch without the fixes after your review comments... so I added this new patch on top. Simon From 858c9d13240e695bc3b750368f5d4e524b12112e Mon Sep 17 00:00:00 2001 From: Simon Marchi <simon.marchi@ericsson.com> Date: Tue, 5 Dec 2017 16:39:35 -0500 Subject: [PATCH] Address review comments for the previous series I failed at git and missed adding/lost changes on the wrong branch, the result being that I didn't incorporate fixes resulting from Yao's review comments. This patch fixes that. There are two places where we should use the unique pointer typedef, and ChangeLog entries missing. gdb/ChangeLog: * target-descriptions.c (struct tdesc_feature) <registers>: Use tdesc_reg_up typedef. (struct target_desc) <features>: Use tdesc_feature_up typedef. --- gdb/ChangeLog | 8 ++++++++ gdb/target-descriptions.c | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1d3a3e8..657f87b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2017-12-05 Simon Marchi <simon.marchi@ericsson.com> + + * target-descriptions.c (struct tdesc_feature) <registers>: Use + tdesc_reg_up typedef. + (struct target_desc) <features>: Use tdesc_feature_up typedef. + 2017-12-05 Simon Marchi <simon.marchi@polymtl.ca> * target-descriptions.c (struct tdesc_type): Use default @@ -118,6 +124,8 @@ (tdesc_register_in_reggroup_p): Adjust. (class print_c_tdesc) <visit>: Adjust. (class print_c_feature) <visit>: Adjust. + * features/arc-arcompact.c: Re-generate. + * features/arc-v2.c: Re-generate. 2017-12-05 Simon Marchi <simon.marchi@ericsson.com> diff --git a/gdb/target-descriptions.c b/gdb/target-descriptions.c index 12d72fa..5a6f619 100644 --- a/gdb/target-descriptions.c +++ b/gdb/target-descriptions.c @@ -529,7 +529,7 @@ struct tdesc_feature : tdesc_element std::string name; /* The registers associated with this feature. */ - std::vector<std::unique_ptr<tdesc_reg>> registers; + std::vector<tdesc_reg_up> registers; /* The types associated with this feature. */ std::vector<tdesc_type_up> types; @@ -613,7 +613,7 @@ struct target_desc : tdesc_element std::vector<property> properties; /* The features associated with this target. */ - std::vector<std::unique_ptr<tdesc_feature>> features; + std::vector<tdesc_feature_up> features; void accept (tdesc_element_visitor &v) const override {