From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 66221 invoked by alias); 5 Feb 2018 16:21:46 -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 66052 invoked by uid 89); 5 Feb 2018 16:21:41 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.1 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.2 spammy=HX-ClientProxiedBy:10b6 X-HELO: sessmg23.ericsson.net Received: from sessmg23.ericsson.net (HELO sessmg23.ericsson.net) (193.180.251.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 05 Feb 2018 16:21:36 +0000 Received: from ESESSHC018.ericsson.se (Unknown_Domain [153.88.183.72]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id 8F.0B.21824.D84887A5; Mon, 5 Feb 2018 17:21:33 +0100 (CET) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.72) with Microsoft SMTP Server (TLS) id 14.3.352.0; Mon, 5 Feb 2018 17:21:32 +0100 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from [142.133.50.46] (192.75.88.130) by BL0PR1501MB2003.namprd15.prod.outlook.com (2603:10b6:207:31::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.464.11; Mon, 5 Feb 2018 16:21:29 +0000 Subject: Re: [PATCH] Use visitors for make_gdb_type To: Alan Hayward , Yao Qi CC: Philipp Rudo , Simon Marchi , "gdb-patches@sourceware.org" , nd References: <20180129102836.5d521e5f@ThinkPad> <707546ED-241F-4641-97A9-551C6FF0E7B4@arm.com> <0D465C5F-EA4D-4A6C-94C7-9EE3377CAE7E@arm.com> From: Simon Marchi Message-ID: Date: Mon, 05 Feb 2018 16:21:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <0D465C5F-EA4D-4A6C-94C7-9EE3377CAE7E@arm.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-ClientProxiedBy: BN6PR13CA0012.namprd13.prod.outlook.com (2603:10b6:404:10a::22) To BL0PR1501MB2003.namprd15.prod.outlook.com (2603:10b6:207:31::33) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2a22910e-2168-4c2b-67d4-08d56cb483ac X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020);SRVR:BL0PR1501MB2003; X-Microsoft-Exchange-Diagnostics: 1;BL0PR1501MB2003;3:lMrc7ECxh6srzLBQ1krMkQsYXw2JPEHdcGsIvUgB8TQYZaTdjvVZq2GOENWHft55j3cyPPpuDHb/eBXMdVrcoWzblg8Cnuycf+hEwuYdFfY+BApY1wczQsofrL7igSPZ8o8XA2nPgIfSKpHnkH0i5G4WgxZKCxYcEgEo6LJxD4fLTatyVO/6iLkao0DYOyiUJfFbXtO8xzufHUFynq+sRVekkmBfn07dsGqmsKosydXXJSct1ReXjQjNTtnhHALB;25:ocmlRyvYUg7s2+djBBgFwLeJB3sn+Jcm3k8UX/iu4TpQmscQ6fiOz4ub0uBE79YnIZGnRmCBz7WfNZnJi77FINyRAXy/L2aHChNMR/KPmT342201WdboBc10i9sa5gSzypj2E1gS6YbSqIoRZh7iSwL53MTbBEDm8dvfINkwl4jggt4fHc0KSUqNXYcV7IqyKiqjtaNro4kCDcbwDOCXDgH4/VHkDzjeLrtcJbochBsWqFJuQWrYlZfHfn1wfoz/qtfNJrHBWIL/7rzYuTIeBW6WurRZBH+DbMq3WgE7x1Jms0E+tsKgMUd8XPeb4d39gcnssZh6Fm5DezgeC3rImw==;31:r0aNW2U3rjrCcDXoH7WKewp4xJEHo0hyLIKRlYg4cd60pLZC2S87tnOVHAobYBXWlxbCpuBMkKcDFEVn9o6TJQxXgHvI7GKAOS+28VXh87ptQac7EiNdTGjeX0Pv9zvkR+8FdDijMRi0b7KbUyfy2zZOxvar/vbzvHYSuInH19sSM1n461bR3eZbVrsKIpSDzweSIY1E57a6plttNyzmTyJBG0vwLh/B8m5q9ZgO0uM= X-MS-TrafficTypeDiagnostic: BL0PR1501MB2003: X-Microsoft-Exchange-Diagnostics: 1;BL0PR1501MB2003;20:xIRCK4nCihKU7vBrlFF4FtQLdT417IefIO7x0uZVMHJJ9ZVirCGf8dbEXHyFbJYR9tB9WzX5kkzDqvFN9XLKDrQXrRrcLc1Nx5R0lJcrctoqv6jJQPBKXkUWhPmZf3H1dPmwCKd6Kvc91KRnKziyRD2DReyiN2c2G6TbLQgeiHiOskECtoWWNESkMiCKYbyNXH8QVDV1KwJXEWty7wy9QW51nTz8uhJ9DHls/a7G/nApGqWZ4ErWQYofYRMSwSyWWY6AUJHNp6bX41Y7uLMnYN+hfeK1oajWuAut0mRShtRH/hlCEgTEMc9dGZnKc84qBElvxd6LXqFS6rhE48WcD/2aWmI33+skOFPsu8Z/CYWMl/s9jEl5WpU7YG8O1spIBt9GxRvmeXYzoCJ46JPO2O+weqnDwZ3ge5+BRNHciB38X4NPwz/ReZ3kL1rDdtP7HqcsgAIAqTKmV+20OXWGIziYdwMDhEjmg+eamMe31q3VLaYPWV5pESBT+reEhjT/;4:W7vrrfG6NaBsz8WshRl8NqsqmaocoX2RH/nQRPiv9CLPdwMIhhDToKWAh5Aljyx5qLn7XC+yP7VdOBeLbhBKoItKfO95qkoJ09nLDQA4J0eRjAszZNPpvhDtuuD4m6Is/vOkV4sQJsjwJWwn3F10o8PFv1ejbenz07O+BjH7mfEDVIJQvW58DeZB+x3aV8dDRg5HuBy12FT6mwtjH75EyN1bLM9B6cU0vuJBBkx58dc1j4TZnjVwQTqaKezbGDuEmzJQ4A9V0dWguHDymjJxOrBRdpM4DzkciIQ421a9VOfVxUV43keu1vjM6y5KB9TstrFDtKmXDZR8q5nm0ks48Feaz7lvI8G/1pL7TqsU6E4= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(37575265505322)(85827821059158); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040501)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(3231101)(2400082)(944501161)(6041288)(20161123558120)(20161123564045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(6072148)(201708071742011);SRVR:BL0PR1501MB2003;BCL:0;PCL:0;RULEID:;SRVR:BL0PR1501MB2003; X-Forefront-PRVS: 0574D4712B X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(346002)(39850400004)(376002)(39380400002)(366004)(396003)(199004)(189003)(377424004)(2486003)(39060400002)(229853002)(76176011)(81156014)(81166006)(8676002)(68736007)(2906002)(2870700001)(4326008)(305945005)(105586002)(53936002)(58126008)(6486002)(8936002)(106356001)(110136005)(54906003)(93886005)(97736004)(7736002)(478600001)(83506002)(26005)(36756003)(6666003)(2950100002)(86362001)(47776003)(16576012)(386003)(65826007)(6246003)(50466002)(316002)(31686004)(66066001)(49976009)(64126003)(65956001)(53546011)(5660300001)(31696002)(16526019)(6116002)(3846002)(52146003)(52116002)(23676004)(25786009)(186003)(65806001)(78286006);DIR:OUT;SFP:1101;SCL:1;SRVR:BL0PR1501MB2003;H:[142.133.50.46];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?MTtCTDBQUjE1MDFNQjIwMDM7MjM6UnZacUkvejJNVG1iNDNxV1ZGVVUvYzMw?= =?utf-8?B?SU5xRUVhNlJTQ3dWWkRDTlFDSUJlU3Nvazk3dlZHTUdxellEMVlmYVg5dXhr?= =?utf-8?B?c1JsbDlROEVCb3VjeGVYTnBkRmhFUStFSnNkS0crd25sNTkvbDhIOUdxRlMz?= =?utf-8?B?ZnpGRjBWU2xMcURNM2l0R1RSTmhXL2xzMmVxOVBqUU9HWEJ6RGhmQ2c4OXdV?= =?utf-8?B?ZHhOdDhDcHRsRjdweU5MNzVqcE9sdHl1MGkxZFMvT2xlNVlOWGRSNXk3enlk?= =?utf-8?B?M3V4Q0tsamN0UVVDNE8vUlgxNU5ockhOZ0owUjVDQmZLU2FuWUFiLyt6ak1i?= =?utf-8?B?Z2lSUGtnSWtmdStOYTd4SVVwU0JmNlp2QlQrV25JMGZXbU0vUHU4OGFGVGRE?= =?utf-8?B?MnNjcjJ5WStIU3RDRC9yZ25RMHlkVjF1UEpmN25zek1JcERMY3NFZDZ2T3l1?= =?utf-8?B?RGlMckJrOWxnR1dwaGQ0RW9iRXJFbWdFSjZZMUUrcHpUd3FiWE0xMmpRYnAw?= =?utf-8?B?bW5aZnhrUW82c2Erc0doQWcybGlaN01YU0NoSkl1bDlZbXZKS1NWNHlRWm1n?= =?utf-8?B?UjBhN2NuTFlBQUF6b2p5dFU5aXJOTnRYMmowcWtLSER3bUh0WkNmTDVMK1Q0?= =?utf-8?B?VWxmZHBtMEY0ekQ2bDFqNHRpTkxDZzVsUlhvaVlBS3d5SW9ielQ3ZFBZcEpP?= =?utf-8?B?T1dnRHpmc3JyU3E1czYzdjg0aDJaa1FhK1MzSFlUNFRmTUNVRXdHSG9HTi9n?= =?utf-8?B?R1NWeVpiL05oRmpzM2UrSktNYW5tTGJxWkc0L3d3NjZIMWN3NXJlYjJ3T0xw?= =?utf-8?B?UzAzbkhNY2FRZWsvUlpvdE9vVHZFUTM0dXM4S1FiYWw1dWV6MHZwMGY5WlM2?= =?utf-8?B?N3dJK3MwTm1jNmlGU2xHQzFiYmFkdStyQjgzYWtINTd0OUNFNUFQUk1CbCta?= =?utf-8?B?UGZLUUNEcGwzeWpOMG5meUlrY2RTYXVEVGw2ZjhDaDBCYjJ1RythK3dXZ1dG?= =?utf-8?B?QXlJem5xUzZlN1JrdzFoNVRsZG9VTGE3SGk4Qjl1QWdyeDBRRUlGZHQvV052?= =?utf-8?B?eHpwTmxnMXZWQlR4bld5U2oxaVNsa3VZTitvYmV4M1J3cUJuZkcxeWYzT2Nh?= =?utf-8?B?YUV3NC9RUUFBK09MckUxckJxWkg5WkJadnVaT3hLV2R4Ni8zQktPaE5UNnlG?= =?utf-8?B?Mmx4Y2xTSVlxL3IvOElMVy9WU054cGh1di9BK01oeG5FYmZqTzVZb283UWwv?= =?utf-8?B?S2tHT1NVcjdaYXpiSEZLSENIckVGNm90RlQ5di96eTAvZDNML1JPbnMxeXNm?= =?utf-8?B?NDNKaDBHc2VNMkR6QUJSbEQ0VmhiUEF1VW42QnRuUTdoWDcyTmJkMnBXZHBt?= =?utf-8?B?OGR1R0tSSmJRdmVqRHRncDFKVW9xT01ncm1BWDNicUVtQ09VYjNCcWhEaEk1?= =?utf-8?B?U1hYNkI3dDlNNjFBM1hEOXdyTElBZWlveWhSSlp4d253SDFUWUFlY0RoeTND?= =?utf-8?B?U3FVRlRINUJ3ZjEyQUVjcFdtOEZiWXQ3SEwwUkFtVDlHcWFHeHFoK0kvYS9q?= =?utf-8?B?WWo4Q2Urd3BCNnU1bitWZTYzcFIzcFh0aVFNb3I1SjdoTDZjWmRzMnd5YUg1?= =?utf-8?B?bnhCL0lqRnJWM2RhcDZrWFkzd3VKZ3RQSGtYRmxZaGdIWmZRNUN6THg1dkh5?= =?utf-8?B?cUhiZlppRW5UZEVBUVVmK0QrSGVGeDNwdTdBWEZIZFRRREw1OEllcjh3VEdS?= =?utf-8?B?SkswZXl0NVpEUzJkMjIvVkh3bVFKNnJXVklYZ2o1VGJmWlVxWTZSeUVyUGVo?= =?utf-8?B?Yk9ncVMrLzQyUHVVT0xFTENzdEtVKytzYmluQ1pSWFZ4eW5TM1NSRXlQQ1lw?= =?utf-8?B?T0M4aTIwNFBLaFRaQWRGeUswSGxwaHRqNTkzRlNCQTlZeWpoSGt6L09reEJo?= =?utf-8?B?ekRQNnRSejJZY05aUWZsbGErZkswbUlTMjFkUjlLN2FDajB5Z3ZFcWtiYkdH?= =?utf-8?B?NnBISUpLcWI5bE5RTjBWSFBHMzNCOVNJWXh6eGtRPT0=?= X-Microsoft-Exchange-Diagnostics: 1;BL0PR1501MB2003;6:+f2Bluwgc0fNHlHoI6KJk+DrvaKqkWu+jy01c3eQWOmuOoRprSM/no4DC8mQ2tvYIhxlk9sIr3tcIw6dXLeyDzuZn/Q6frmbB0szyLtDJbSfq6t+2PWZZoTR5ihVxytjbQbIqw1i1MecfA7cNAJLXLH1xJ9jPDAamN1slfAqT+6eaJ8cg2hGpoaW9002riUygqI+Jp8az5AepwnJPwLdyABxZ0kz08vPz/cGjvjnq33tdyKmQpTXrppH7ogbAbdUGH7CmOKcyoY9VvcrCBanhXClXm5aDWT5LPRwSzOg0n2pgEGY3aYX2IgoddFSgpysYW2e4+X8E78Y4esdVLxYJ1yfrgykIWZ7fdrJMWmYtJk=;5:wwWTnhB/p50G1WwC+otqZRUY/XyWHuV/S4oR5iQsOWZf23fqNCjIYMJrOZHJBqZWWkeaTfGJ7K/kptAZFl4L43S6o3WC8H6PjUebxBjqt5kpo5Gan0++gJ0xQFgg2fULurCdlL6v0jQRVfSfA3duStdeadVh3t+5Z67uD5z7m9o=;24:PdmYeF4LhxSImIgQFJAayJ5HoWFin5O7iskS/g3Ep7FO3GG5OPxUcunx9ZSJ+YaVf0HaqmpD+XMRYZRikxTJ9ZVl5VmsThVmRTd8ytNtL/4=;7:EHyyzTP/TUKroKSygrIYptSjMnZylGLTB5rIH2hCW8NO92pPkp2fQGjOzhbygSz51TLAo0X4udMLuuJJAU7Sb6LrNRde5ArsS+2TiFTvrSpQIhrUNTrjzo/JVUlGflCgAwBBJeKrRZ9MXM9QQHQLmGt14CVqPQETa+bPAiPaCI96e4u7SLqiFfBTeXm4UFF01V+q32FCJ7K7YtTm8+mHTFcGsdsDB2sug8TdJ8zvgEBTM1LvaM4XVPDr92EWqtnm SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2018 16:21:29.4789 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2a22910e-2168-4c2b-67d4-08d56cb483ac X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR1501MB2003 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2018-02/txt/msg00066.txt.bz2 On 2018-01-30 10:15 AM, Alan Hayward wrote: > > >> On 29 Jan 2018, at 16:54, Yao Qi wrote: >> >> On Mon, Jan 29, 2018 at 4:12 PM, Simon Marchi wrote: >>> >>> That seems like unnecessary boilerplate to me. I really don't see why classes derived >>> from tdesc_element_visitor have to implement methods for nodes they don't care about. >>> >>> I added Yao in CC so he can chime in. >> >> When I wrote tdesc_element_visitor, in my mind, it is an interface, so >> I expect child >> class implement all the methods, because at that moment, all methods are needed, >> no empty methods. However, the situation changed a little bit, as per >> Alan's needs, >> part of the methods of tdesc_element_visitor are needed, and the rest of methods >> are empty somewhere. I don't mind converting tdesc_element_visitor into a base >> class which has all these methods empty as a default. That is fine to >> me. By the >> way, Alan's approach is fine to me as well :) >> > > I’ve removed the extra class and replaced with default implementations in > tdesc_element_visitor. > > All ok? > > > Tested on a make check on x86 targets=all build with target board unix native-gdbserver. > Built for power (because it does not use new target descriptions), but am unable to test. Hi Alan, This version LGTM. Thanks, Simon