From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4082 invoked by alias); 30 Nov 2016 11:53:40 -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 4057 invoked by uid 89); 30 Nov 2016 11:53:39 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2 spammy= 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; Wed, 30 Nov 2016 11:53:29 +0000 Received: from ESESSHC022.ericsson.se (Unknown_Domain [153.88.183.84]) by (Symantec Mail Security) with SMTP id 04.3B.04375.6BDBE385; Wed, 30 Nov 2016 12:53:26 +0100 (CET) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.84) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 30 Nov 2016 12:53:21 +0100 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=antoine.tremblay@ericsson.com; Received: from elxa4wqvvz1 (192.75.88.130) by AM5PR0701MB1873.eurprd07.prod.outlook.com (10.167.216.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.761.5; Wed, 30 Nov 2016 11:53:19 +0000 References: <1480428758-2481-1-git-send-email-yao.qi@linaro.org> <20161130111459.GG22209@E107787-LIN> User-agent: mu4e 0.9.17; emacs 24.5.50.1 From: Antoine Tremblay To: Yao Qi CC: Antoine Tremblay , Subject: Re: [PATCH 1/2] Add unit test to aarch64 prologue analyzer In-Reply-To: <20161130111459.GG22209@E107787-LIN> Date: Wed, 30 Nov 2016 11:53:00 -0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-ClientProxiedBy: SN2PR18CA0029.namprd18.prod.outlook.com (10.169.189.39) To AM5PR0701MB1873.eurprd07.prod.outlook.com (10.167.216.22) X-MS-Office365-Filtering-Correlation-Id: 95ee108d-ae08-4dcd-4564-08d419177b31 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:AM5PR0701MB1873; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0701MB1873;3:lPm+X/Zvfw4kC80fwFEVkBr4U+8ixeUB89/NwOySBSMvSuKuPpnAB71dEkk3r7LqlD8LwPy7tEtUhfdm8NBUIDmxLV8CQZPkOZw9oLjl1WqhIOTjeHgGS/INuBglZTSt7jxPah1MruvHMXmAzozVSbvdWDwSmd5QoNzgnxaiE7xRxRKP0UzNhyQwpi6cQFrZQ8Wasmoqs48C5k0ZiL/aMifjFmBSB48Y0rkTBcWFtRpS8tS1t1eXij+wAuP+vvSWSaQ/BwsU0d1tI3QDIjcTjg==;25:Y4ihCaJLolr/cIt795+SUST4sCRJhN24KOT8Uk0egVIy0yiouigh5yEBY88WPHHoc338F52Jn66KXtoQd7pIu22bT69tIbAwNgp6txiEL6v/KgyADd2NqfvqF2q9kmWF+cVwu6lF/62sxK71PFgkI1JDED1dGIK7iKawH4fUcsqqHEJPlMfAOWjw0QsSq2fpF4tgaNVckIJ6EjjkkOHtLMjYBSe3OuH30SC8hc8T7wwGW24RwS4yhKiBamDvaY4lxD0mEceVMBqRaeo4WyUS2g5r+XPCceDH2M0JzCYcf57gpjCmKY0w0EwvcHcmrTPoeQKRyf5UMl6jEO39/mGhsZCk4ICalG2K1IDCL7KmhIp8YxJJ4F4rqW0QJqsjy/SiBGtZ9Zckf+sxKBuQKr4Cqgi0kR+e/d+M6/tXmlxkdGQo2GwAio0HiZgcAdkZmeLI8xUBRV4YUlM4bfR1hjiAgg== X-Microsoft-Exchange-Diagnostics: 1;AM5PR0701MB1873;31:9ogvw8btcmQaLIASX6M8Ui8AEKxPAlaFXz31LK5IoTIXjmUUioi8jY1j8mVh/pvmSlI9pI18IEb0I4ujbLiBU2le7s+AwyBrK7urs+5aAe4fyHqRLINDHEA7BM3SK0fPOgSHJb18tcFGakj+eMB0dICRmPc63GA5HqkL846b1zb6bbQnMcyrhOwtTfq9Snv3Zvucc/YWxTb7pjMkk4/3C0CMCR4AvsKFXQtEAgrH74IEM+eIMWd/fJlw/ugBOmXaFFf1lJW6iBPHqn7iYhbvcyYOriN7banUyFRyDuEKats=;20:DAdMDqn4HduvWjY6bpjNR0vHft6bcE405vnSdmJqOk4C4hi7eWWkkN8VTKWlgP1OdmKo/QJGPfJWMq5joJuqTI86lOJNwMvRwuNsVbz+CI1kqbvpvFSy6x+mJEhwap80DV+JGDfOMZAhutQ3WB8Qx5pmlLPp9ON3p8geOPt0bgCfIcPnBtPzQZC7NbbUTm7p5Sgn2OtzHZRSvb3p7vC4qEeqwzXbDCEwFFfY11RYT7aFvopas9WEQo/AihL3iiMz/VsmW9KxaXSDbp+IMr59cCHJ7/D9o3IjHfTdVXmlIQ8+eKNhrkXWMk3NeV6KV/4wEa/TGRDuy6GQMtq2m5xeUkuMKOgQxbkkzU/4ACnRMffel8ZOWOoQv4cepT2o5PJdPpaEtTwb5rqXOgH9b9cWC5kGpPJ2H2PrkuWsubqlPqqS+2OSmMf4ztWOPlAP6w6/1qgnr7p+g/1PWxbVDZ5A1SCgMeg6ibSh7ANCXoTH4MDOtZPkS1JuT30JKeCrdL1A X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6041248)(20161123562025)(20161123560025)(20161123555025)(20161123564025)(6072148);SRVR:AM5PR0701MB1873;BCL:0;PCL:0;RULEID:;SRVR:AM5PR0701MB1873; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0701MB1873;4:QclcfSUc4LH4+3J75RReiOom0gI2BSeW+xsV1SfSpSoSbnTWb72pws/2G1Chncix8mqCaLUFZG7foQixwTRwKgS17YoNgIRnXEIlnpqhFuhCFP8O96PcmqpHFgXic3P5IxoxyVKN8ArjTbePubn2tF1aJYzcMft5QZZ07chcK1QD4ioCDg88av1FP+5hRj0lsHP+27xZEvmQOzkZ3H/BJpUmh6FwkoZ+urLbwuW8TjhjqTSHxjjHXs16LpVb4kaLfvU9yxh6f8yEE9uWJIyD+8hLOx3LTgAqaTuTKPmssdP24cLOfJzcvAstpaKBBVmJQjAdKv46bLZEAx74ReuQxFY71NWo6/NKb6eELm2LKBeTwaIvJEQkpcXqVTj9sDGvRhm1W1oFXJqbWCFL9PhJd7Q2z7j5Kp48Q+67ZeoyD67Mb1oU6GLIZgJfvC+0ms0wGLXeLVNQ52TBpMQCybwp3FxnB4jUWLopq8FbQpFyIEpXrWQsvpepe+ywI+CmsH/kAwir+OTJjBzVmH7PWTWstO59iNi6gc/RTdq+HHjKMhEgMbMTV+hssQCy0axYNUrajLrTxz8dZN8I72AUZBC1LA== X-Forefront-PRVS: 0142F22657 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(199003)(54094003)(189002)(24454002)(50466002)(48376002)(6666003)(54356999)(42186005)(76176999)(50986999)(7846002)(92566002)(33646002)(2906002)(68736007)(105586002)(101416001)(4326007)(305945005)(229853002)(189998001)(66066001)(110136003)(36756003)(97736004)(47776003)(1411001)(4001350100001)(81166006)(2950100002)(5003940100001)(6116002)(6916009)(3846002)(7736002)(86362001)(6486002)(5660300001)(39060400001)(38730400001)(83506001)(6496003)(733004)(106356001)(39410400001)(81156014)(8676002)(39450400002);DIR:OUT;SFP:1101;SCL:1;SRVR:AM5PR0701MB1873;H:elxa4wqvvz1;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: =?us-ascii?Q?1;AM5PR0701MB1873;23:DGs7i6cdv36K96gQ5ufezGWBGqUoYA6fRJUAia4?= =?us-ascii?Q?isgYhmornXCsUvwYwUMxXfXzcw8LISCa1ni84iZJK7oZmfruuE143Wv8QLWQ?= =?us-ascii?Q?DIDRW3qB9WrChKY2ltjVBDID6xmu6XmUpIjrOC05yxdM4dleIq20Ip3UiNML?= =?us-ascii?Q?B178xLuXijLqDyyqbHk8WvcdLOQxqjZKVrE7GI/cbJU9wD3enbDLkCJyXXHs?= =?us-ascii?Q?3P51pmgcruhA3Dcx48PJF+uh1DR6gldnAn0h00Ge5obv6lhTgIyM9Dfnf9Rx?= =?us-ascii?Q?zS9R3CFLnvo7/qteDUrHnk86L6Nee9sIdbvkt2H272gLJe8IUcYWVSdPDTD0?= =?us-ascii?Q?dWK83KWmzPn8hHJvZOEyyzu7AJInkrYYjiH3hjbgSUPDnVwpV7HgnJgm6Olx?= =?us-ascii?Q?59gydFjKXHKe/CKmpZ8xg5kRcUX/6JNh7bhXAih3MB+WQ8m/7aFxVnQmfBLa?= =?us-ascii?Q?yMWFAOX73r/YAaugTyMAYKiyUs8Sv+JcQ8lkjafMb3tg0zKP+C5W7fZKdYg5?= =?us-ascii?Q?eUVJMEDeWTxeEU9y4MD72MkQdMQd5rqCtqK/+EPrX0WJ2A7r0hRexSIMHcbp?= =?us-ascii?Q?LUdS3fgnL0zG3zkJKDdVNIEfQBD2ym5YXqMlgT6GsuFM+6hJC62dbtN2qPjs?= =?us-ascii?Q?md7Eb+93yZzgSZ/ybjBXy43vVz+G+IDEdMbHYlzdWiFHH4EWyqTunviXOYFN?= =?us-ascii?Q?1gF15Y5b6D+v4OyaJcBeIodfPtgzRFagQxD9bcnfAXavppF5k1fk8g+wjePw?= =?us-ascii?Q?Eoy6hJ09m5i67FseDsweNQBD8lH4Qy6ggqms78TzAVhi5IjWeSBIcTNyrrkU?= =?us-ascii?Q?4VnEiU3Bmn2FhljS1gtGvLWE2p5+cdHllx7s0q/i8LaIFoBShzRfVKGd1D/6?= =?us-ascii?Q?cU/DJYCEpeBGnoWsGVhKMNrIRhMPA6FuuujoiurQ4TxR0izetnVLL3q6wxab?= =?us-ascii?Q?uiUvPMikxcNLvUcubOiwHqPtV9W32d0YHAKOkukAtIc5AW6sHRfIyUyWw+Ep?= =?us-ascii?Q?bASX2/aWw+htcOdtRf49YnTZLdJza7IYapAVozaFUwlmv8/jQ7YtN4HZaFBI?= =?us-ascii?Q?+TL9pYt9kkPjpjPtSK7nX9SywHuh/9a1pdNi4gkTTGcvo0aMDInpp/6R2TH5?= =?us-ascii?Q?zL+d2xH2hEIya4yFZc42IpJue7tY/XyL5IVicGaCNgfFOCWxMH579xldiN9a?= =?us-ascii?Q?nGfZeYuXpk8SEn3+jv6qXCv8zIurhgLfz6azN/grHZ4p2tHhZGjddmtw+Xks?= =?us-ascii?Q?//I3L10+T8nDtc0+eCspTebFSXJmbiFN2D6gqpwiM?= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0701MB1873;6:93NosMRe0vzsFBg59NQpoUnZA/DPjjqJHWgES7TCNQ0ixGqVzt8uES6VJK+qC7q4JCvP05hWUfef8pUYU1ekRYNcVBI1YCABEtN6kXJtONCOn2Otcncl4LcEm84ti53VtChS2Gyc80hXPgTFohtWOLZokKKZaI8s0mky7Vs/TOwx47HUqaw/reWjhQu5tk1fD/6l0Z7mR4KaYLg2kZh1fNYty9kXZMzvJBQg4RY8Lk5C1NEkpAg6E2422ggH6ZbZYD0CWYOGt75QdePckAAbO/hGFQ/sQBaRMYJUBrqeshgWJhoD+382ufqN+BDD7CQIxAqklPy8S4nG+zL0FR0zqkCioYY1dSf2XJH4rk16r4w6MbjhCvVg3wej/AjJOvG1AKkwVf6tW9e33U4X3IYwwswc138y32Ca7HqN4KkJkvXoGMEN5aWQcS1Y9ojC7H0dYE8gt5mtsrXt3wC4+vPrrQ==;5:7DaHW5ZKV0IsE0jwRr57z22VQavCuH2lpahz2alRYNF8yihkugQTK3PXBR5isxH/O8gw6p261x/d0a4RCO0LWvxITXNqC9YKKWKxCD3+vo7XrzRp/laE9OK2ncS8JKsUNOtHxAbJzlk1fcNDCgo6bQ==;24:8lW+vUheuaAK3mvYSWY/iGfEiEXEVVgLu/wTC094EyF6QnMP27BIJGKcdFNl+FvJqStmljXyw4ubwVe/1zKb9FkQhCvdIwdrEIIisQviaCA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM5PR0701MB1873;7:iPodZX3eSVY9DYdj331+nfuQckxSabSFRRPFA/aJZ8aNT/NqKaExHMBcE6tNzXGC/X1j9F1Kn+iecnJ6FWrnRD2zxPEGO57OyutObHr//UAb1YHZGobp234dPNvIyvdz87RLNhDsnLfihEGEUhAvvzi8sja2XUUAN38lIKblOqEo90Y2L8WY6BBeP+j9andNntj4pLPDAYp+irpWzkU+fnL+/3rPmplyoiEVRG3nJH0C6Cl+re/KyB2oDEEjNJI2pfJx+PS881Yp9WkpO5FBSWDwOrjD0nOO6qnOKK8Q35W00Ef3/DGQzgPqCjMyzceF7C43PAk0FN54OvHfTYFES2SOaycBPEj3n61Ma6ySFGFl93iWFQ5FvD6tcfLFwZg7mt9Ve+bj6uQ5XWYwuGif6NWn+1VOELsAzWxV4Hp0xAuONEL86Fz2BBkzmgpbeE8nrWKctyqArZUenu70V8Zy/Q== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2016 11:53:19.8543 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0701MB1873 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2016-11/txt/msg00973.txt.bz2 Yao Qi writes: > On Tue, Nov 29, 2016 at 09:57:46AM -0500, Antoine Tremblay wrote: >> >> Yao Qi writes: >> >> > @@ -436,6 +461,89 @@ aarch64_analyze_prologue (struct gdbarch *gdbarch, >> > return start; >> > } >> > >> > +static CORE_ADDR >> > +aarch64_analyze_prologue (struct gdbarch *gdbarch, >> > + CORE_ADDR start, CORE_ADDR limit, >> > + struct aarch64_prologue_cache *cache) >> > +{ >> > + instruction_reader reader { }; >> > + >> >> Could we use the default constructor here? If it's kept. >> > > It uses the default constructor. instruction_reader has the default > constructor. > > + public: > + instruction_reader () = default; > > Do you mean I need to remove it? > No, sorry I need to improve on C++11 I thought you needed a std::initializer_list to init with {} like in the _test class but it it works with the default constructor. >> > + return aarch64_analyze_prologue (gdbarch, start, limit, cache, >> > + reader); >> > +} >> > + >> > +#if GDB_SELF_TEST >> > + >> > +namespace selftests { >> > + >> > + /* Instruction reader from manually cooked instruction sequences. */ >> > + class instruction_reader_test : public abstract_instruction_reader >> > + { >> > + public: >> > + instruction_reader_test() = default ; >> >> Very nit, but there's a space before ';' >> > > Oh, yes, it should be "instruction_reader_test () = default;" > >> Also I wonder if we need to specify the default constructor explicitly ? >> Is there a rationale for it? >> >> It's never used too, unless you apply my previous comment. > > The instruction_reader_test default constructor is never used. How > about using "= delete"? > > instruction_reader_test () = delete; > instruction_reader_test (std::initializer_list init) > : insns{init} {} Yes that would be more appropriate if we're going to specify that. I just wrote a patch with a C++ class and did not include explicit default constructors do you think we should make it a code convention to explicitly specify their existence or non-existence (=default, =delete) ? I could not find mention of that in GCC's C++ conventions...