From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 916 invoked by alias); 29 Jan 2018 16:13:11 -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 577 invoked by uid 89); 29 Jan 2018 16:13:11 -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=H*r:302, visit 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, 29 Jan 2018 16:13:08 +0000 Received: from ESESSHC005.ericsson.se (Unknown_Domain [153.88.183.33]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id A6.B8.31026.1184F6A5; Mon, 29 Jan 2018 17:13:06 +0100 (CET) Received: from NAM02-BL2-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.33) with Microsoft SMTP Server (TLS) id 14.3.352.0; Mon, 29 Jan 2018 17:13:05 +0100 Received: from [142.133.62.3] (192.75.88.130) by MW2PR1501MB2012.namprd15.prod.outlook.com (2603:10b6:302:c::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.444.14; Mon, 29 Jan 2018 16:13:02 +0000 Subject: Re: [PATCH] Use visitors for make_gdb_type To: Alan Hayward , Philipp Rudo , Simon Marchi CC: "gdb-patches@sourceware.org" , nd , Yao Qi References: <20180129102836.5d521e5f@ThinkPad> <707546ED-241F-4641-97A9-551C6FF0E7B4@arm.com> From: Simon Marchi Message-ID: Date: Mon, 29 Jan 2018 16:13: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: <707546ED-241F-4641-97A9-551C6FF0E7B4@arm.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-ClientProxiedBy: MWHPR13CA0014.namprd13.prod.outlook.com (2603:10b6:300:16::24) To MW2PR1501MB2012.namprd15.prod.outlook.com (2603:10b6:302:c::12) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c14407ec-8de6-4d76-f255-08d567332c5c X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020);SRVR:MW2PR1501MB2012; X-Microsoft-Exchange-Diagnostics: 1;MW2PR1501MB2012;3:xh1NbWfy+3qB4vVe+Iusur+3SO0v9S/59Bif4OQ67Uc2TJvikjwjLDxs6U7W/6HTDlD4tUPDz7hydRZ1LI7sGiNIvFhtw7DCQOo2JwqUNAwA5cTUeNISveX9cTM/RBObFfYoujmev+VQaDuWW75bSRwCrg1N5sXhYkXdk4KvVcSBztWLrj/L9soLqyBgUhYboqvPT6pYoh1BrpheWaSDSEDqqFq5siJSsRSd0QBZc0Jx0Rdb3Ep8WaDRN8+MHFzv;25:sVNzqk3NFOSlnbEiEt5zCuKHLeKcQziCA6IlNNgko4GzluWK0zXsVyZ06zX4VzhgH0ndwAymx3XIfjxkVJtpkThouVVoe0ogyCQLSQhC+VYMQUZ291rbRoBUa4XHigZg7PLPXDhg6u/6A7yS0nFqCc2tlj28xMjCKgt0kkfEI5w4RcNgTA1hYh51LZJskqkcM5+59+VOy1A/GuPM3z3OtIKpV2L3LA5nw89Ypb+7mShAhBHi8xXMYe0F2OdsryBveC09B6aZfhqoB1vFEGQWZkpdP/+b1q9pikY8G35dlPuRCeTUroycHDsts7/geqF2zSl2rixmRiW2dW2OggdKJQ==;31:vwfXHgfTDccpdRbG9qFH5tGfV8mE4RfLJ4bubnL0B8Ym6fhY4xebrnwyk5boVKi3GYQ5nSUr4XF5WE6vU97Zg2L9ss+JpUeOc4xGAeEPi/dFJEhBlWvLmH9mTeuOs71OwWlonR8KpSf0AWS4htuK4QYTctbnGbzrW6bBkZ1uVjp37+/vqZ2dCP0Z0w2s4Cr+o3LdSadkBVPXWtC1tHl0mG8S83yhglTfR8xRNIA+I2s= X-MS-TrafficTypeDiagnostic: MW2PR1501MB2012: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; X-Microsoft-Exchange-Diagnostics: 1;MW2PR1501MB2012;20:aK9foyC7rV/K0fQVCsLf/Go8rJvQOFDgpGPEQjo0Ve2v6yRkx3jeaF311ghjAZusE959/ipM+UUQUitPjkFj3osrER0Y/2plTNtnzIryfKk+/LqotFXXg29UVnEaXwKQVbPcK/bJKLEoMIsc6HUscTJeg4RZECMWg52JEB26FerlyF2LsHdUypIPHggPPHLb+S1FuAz0zXTY52ESFEvBJA0tOFBVvUPoe560GcQPIHP2wUxIOw3y30oSs6a7aAfQUxYIV+XSViHN2nQPNUiGzlvLgAIQ5Md5Abk3M8WT8ZksoWNfExtFj5FBx5u2dwgBuuTDNBbSBgnbhYWITawRec3Xq5DUVnnJR51HO3rufTBulxkSRJEYuPfwEh6AMW0m13xvrS2NTQMShVU1o0P1yor2d3HwGf+BIzFl5YMl7WXLoIHn3lIyNGFL+cDK88LMie46DuL65r005eref6jLK8FGtHwTyLZn3hAtud/+RD2F5DDU2ypHwj1m/R60C9wr;4:14W70GSyC2D7rCmmpe3T3Z11yHTP/ArdkikVteX4Aw72mawV6iAYJfNkeIlD8CUEyyx3HGtA+oZDK75Xhg8Vp8kndjAXly4YUOdpOLTiucStPksvDtdX6FXW+Nl4D9P6beAWDMo5dPx80oiuOxdRDTgILMc20BtHDX8uHZzpczjG13gFQODNEVyXSCekJ9nn9kFsuIOcn9NqCDtH/PUptKeM+leTQsQPV/o4wb28QcIgIOeUu6iWlj0S2vBJjfnutIfyjW9c8jll7HntE7EBlg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040501)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231101)(944501161)(10201501046)(3002001)(6041288)(20161123560045)(20161123564045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(6072148)(201708071742011);SRVR:MW2PR1501MB2012;BCL:0;PCL:0;RULEID:;SRVR:MW2PR1501MB2012; X-Forefront-PRVS: 0567A15835 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(366004)(39380400002)(39860400002)(396003)(376002)(346002)(189003)(199004)(377424004)(386003)(26005)(76176011)(50466002)(2486003)(52116002)(49976009)(52146003)(23676004)(106356001)(478600001)(2950100002)(65826007)(5660300001)(6666003)(47776003)(31686004)(86362001)(65956001)(65806001)(97736004)(31696002)(53546011)(305945005)(66066001)(7736002)(58126008)(81166006)(316002)(16576012)(68736007)(83506002)(110136005)(6116002)(3846002)(4326008)(64126003)(36756003)(8676002)(81156014)(16526019)(6246003)(53936002)(39060400002)(8936002)(2870700001)(25786009)(54906003)(93886005)(186003)(105586002)(2906002)(229853002)(6486002)(78286006);DIR:OUT;SFP:1101;SCL:1;SRVR:MW2PR1501MB2012;H:[142.133.62.3];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: =?utf-8?B?MTtNVzJQUjE1MDFNQjIwMTI7MjM6cDd3Qys2N2k5a29obGhTdlNpMlhOalpV?= =?utf-8?B?TGZGMVVOdE5LNGJoN0txUUtNZytiTC9Oay9UWEhRMndQTW1iTm5nMHBWaDRH?= =?utf-8?B?akZ4UEhrbGl0Y0FZSmUzbXVPbEhLbG9GdExHZi9RYXphZStsZStYTEFWWDJQ?= =?utf-8?B?L2Jwcit0Z1FWaW5YZzBTWEpMTnZUMUsvSWVTMm1Gb05tVGM2dFZ0c2lUcHNQ?= =?utf-8?B?RURxV3lEbm1sQkh0TThVTVJYSzRsZzRING5BQjVZRWdSRkIvRFBHdERpU1lp?= =?utf-8?B?cEVtNk85NlZXSTk1YnFaZTlZeDlaY1d6MDhyZEkxejh3WTczVGZacnRuVmN4?= =?utf-8?B?MUhSczJBcWg4cEQrWkY2dW51dHBIMHkxeml4RXhOb2hRcXF6RUpNNXYrY0tl?= =?utf-8?B?ZDI5dzREb0syREY5am9mOXdrM2lQMldKODFJRzZrSGRGdTRZNFE3TE16RlJC?= =?utf-8?B?Um53MEZ4WHRPNUFxdW9XbkJudTBmSXdIeHA4ayswbnAzS3BXT3pOSHVSbWdK?= =?utf-8?B?dTBRZFRkNFJsV21KcXhuZDBMWW5WZWtuZmU4dmIxVmtqZzZ5ZWdIZEhQVG1J?= =?utf-8?B?bnhyeXdkN1BQYUFmRHRQaTdJbjhvZXVRaWNJOTF4WHU1SE96bTFhUmZoVC94?= =?utf-8?B?WWZjVXZ1Z3JBT01iNml0eVdVa1g0c3hlSlRsQytaSEl5T09GNzQ3WU84Y0pj?= =?utf-8?B?dGVoQ3R4VGpBLzNmcG5MRk5wbHZPSWs3b2ZBdWE5WEJoWEJWSWlEeUh0dlZn?= =?utf-8?B?VmRlbnVyWkJBQmxvUXl3UTJJWWE0QmRBUGxIeWZIbmZBMDdiSTFPZlNZaHFr?= =?utf-8?B?cGRFWktac1RHV29VSmFhY2F5K3RxcUlGOERRS0lYeUQ0VWdGN1o1MkVleG1O?= =?utf-8?B?aDNTU0g1LytqUFdNdU9WQm12QVdiY29IRFNwYmNVR1BpU2xyZGcya3BtQW02?= =?utf-8?B?QXNzdzlQWEp3OG45OHV6K3JNRVBYV3VFeTdFRnBOUEdxQllhTU9YSVFhUEZV?= =?utf-8?B?NzZ3ZEhOOWlZOEJrdVBLZGE1UHE0cXBUTUFvektpR1d3S3h4V251bXF6eXY5?= =?utf-8?B?Q29WVXMyU0RRQkt3N0VVQ3UrODdQYm9qcEVWWVd1SUhBc3QyOFdEMjZIMmxB?= =?utf-8?B?eStFU0xwMjFaTlk2MGlHZGkyZ01mR25rS0Frcm1xUG9jMmV3QllERGFxd0Uy?= =?utf-8?B?YnBiU3QwS2xRRWNpUG81K2hZTlJPNmRXQyszVDJheFcvR3F4VUFteVp1RmFY?= =?utf-8?B?YzN3VVVCQTJlVUl2M3Q0V3FXa0Z2RXdUak1RQUg1WFYyQTUxK25VS2dWdm52?= =?utf-8?B?bGUySVBleXdHMDBtbDZ0THhvaCt2RlVsYktTOWJSb1pXcy9tQTNMUkJQWkww?= =?utf-8?B?UGJDR1dGaWs2TWpoTlIvcUMrd0lxdlR1ZWxMZVluem9hTndKTEpMMEFEZEUv?= =?utf-8?B?elBCckhxS00zKzNoTXgxa214K0J6Y0tzQUJSWnhSV0Nuemc5ZjMrMHUxWGJL?= =?utf-8?B?TnZzUWtOUmZBN0NVQXZRMkVVek1wYWJpS0FSckpKeExIdkNuRU53VE9QQk5Z?= =?utf-8?B?V1hPOGRoOG1ieVo1blJqVEMxcHpEOWhuVkFQRkp3enh4SmR1K054cVR4RGRS?= =?utf-8?B?dWhGU2hoSm9BM1lyNkxBTUdyNGN2MEVOaGliYkYvUEltVjVIdDZhdE9IdDVM?= =?utf-8?B?NTZ0MHdJbkFWZXB6bzVaOGsrY0trK3BCRG1zWTVVc1Blbm11d0pldlJHV2pR?= =?utf-8?B?Z2toa3BKc2UvZVQ5UjVnOUVJRSs1QUJoYXNqSWFiQkJJdWUyK0xnMndqYTZJ?= =?utf-8?B?Z0xtZUV2OFFIalB0M0JkRjZIVWtzeG5wanlvNGN2YllLbVprSDB6WmFRZUZQ?= =?utf-8?B?aWJBQ2l6djY0SGxsUllTQzdWQWlCUVkxTGZ0eHN1TFNFcmFML0IzNk0rUUth?= =?utf-8?B?ODA4RTZEejZOSkkxUmdCRVNvZVo3dUFCYkFWNEM2dzlYL1RMQmFrRXpsNzdx?= =?utf-8?B?WlJ3Qk56OVBjWWpQS2luTzFDVFVVY2N0LzhnT2VnPT0=?= X-Microsoft-Exchange-Diagnostics: 1;MW2PR1501MB2012;6:LQ6gZ109Z2t++XTq6ur3u7vptRUit4yMUsypS/ii5hslPwuDkJNMwHRSU5egvQr//6shz4p3koGsrXJK6n5y1eL2YCZeKTeDdSfo05iFsHavSqJiL2UkVE0VTgoNIyD+lpwDiR6Rx1PGvmaVe/8LFUct9KF6vvbJaNqCQyY9Z/5qMSpGK5eE+q8zKHmmZk/vcsT6JeoLs9yxk6BhOJnsoMlKcseduEzOWaC0d1778yyJP5u/y7GnHsD1Rl2pjVMSeaVKANDPtuuIsBtNV4J0eicv4z+pK4KaWo8LMFsaBgn4FvduqmxL1eJfPVneM8qLiIxtcodo76ofVeBTYoRqEPAPHduNtCgzcWXtqL6snog=;5:/lz4yQpqM1HaMlGgW5NGimSZ2TwUGt9Sviz+0HMPjnJVvSOb6t0Q4bAsG36No7B2rVwqwyFMmeoQW0wGr8s9oZe5AuClXJ79TY8uvEMuJwTZTtuJ14Dtq7oYdUUVeMGkYhX/pe+lnzwn95m2CuE5Ez31W4MRciDT/GTMp94IfyE=;24:ec2NZXFLlvOFVpaLRrHuwapeE3q4isqOBpIngvALtDsBuuVjOGA2CjvBWtJp1Zjpgvlp2FzmzNGZ2AobH07o/TJ3eVv2ToNiMbt7hxpswtY=;7:iDV1KQnzxHIMxfzXbAm9G9jjqkPfcGMPEf7Pss3kKJRpzJPu8bKDyhB0JKqy+vSzSvSHuM+F9uuk00jy8tbvRr6m38HLlFRINuCFUonQWUNe24L5tDi1T5V/6k6eYtzu+/kfk8QSnaVDTsJGFUlwfmRD5acWlDhmk9juxkuVG3ORdB23vKwTY8O+0KvYCAYm+1Vau6pnW5sQiDWldAptbfBmRwUnMI6nnSpe7zcvUUi1A091byLnnmTzadflJW9v SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jan 2018 16:13:02.2137 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c14407ec-8de6-4d76-f255-08d567332c5c X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR1501MB2012 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2018-01/txt/msg00599.txt.bz2 On 2018-01-29 10:31 AM, Alan Hayward wrote: >> On Sun, 28 Jan 2018 21:24:19 -0500 >> Simon Marchi wrote: >> >>> On 2018-01-26 10:30 AM, Alan Hayward wrote: >>>> I appear to still have email issues - previous post had the tabs stripped out. >>>> Hoping this version is ok. Apologies. >>> >>> Hi Alan, >>> >>> I was able to apply it correctly. >>>> > > Very strange! Think I’m ok now. Well, now I am unable to apply this one :(. The message body is encoded in base64, I tried to decode it and apply it with git-apply, but it doesn't apply, not sure why. git-send-email is really the safest way. >>>> + void visit_pre (const target_desc *e) >>>> + {} >>> >>> I think we should have empty default implementations of these visit functions in the >>> base class, instead of having to declare them empty when unnecessary. Maybe Yao had >>> a reason not to do this initially? >>> > > I think Yao didn’t add the method because tdesc_element_visitor is meant to be an interface > and remain abstract. A type can be abstract but have implementations for some of its methods. To make a type abstract, it is common to make the destructor pure virtual, if no other method is pure virtual. > I considered putting the types into a parent class of tdesc_element_visitor, but that breaks > the accept() functions horribly. > Instead, I’ve created a new subclass from tdesc_element_visitor called tdesc_element_type_visitor > which provides null implementations for all the non type visit functions. gdb_type_creator can > now inherit from tdesc_element_type_visitor and only has to provide the three visitors. > > Are you happy with that? 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. Simon