From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from JPN01-TYC-obe.outbound.protection.outlook.com (mail-tycjpn01olkn2053.outbound.protection.outlook.com [40.92.99.53]) by sourceware.org (Postfix) with ESMTPS id 685E83858400 for ; Thu, 22 Sep 2022 14:09:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 685E83858400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UuxtOhe0YoC+KDdxe+9k7LJsDcglBnOUwbej58wqzdSb3rh7hOQYkHHLdoBseS7ZVfKHPwUldBGMdpSgN7Qq+d5iQeOZUwLRAQ8CItELoRDNlW1m7Or5KLZfqUTQ8MsXoODfVB4+bxQAWRWAfbxcEaV9Q1ZyBexfDzJcdsN+NnZ/bo0M04ZIqrmW90smfAyIyzSd4sGWcH+m77pRoQ3daXRmm8jopcbO/5ELdiJeV4qy5LEf1FbLbw4gBRYE1Yrs2K0CUSu3wXtHu2X2H27N74rKRKC/eppm4dJ4GkjvRbg017bPr9jTsU5vSDMBRXkP/bwMfW9T4ZIEQsksm0KuCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=4RhHeC1InaMW9wlL6hgAN9kKj88GXqGb+9gkFrNTsbc=; b=ELm/BG/U3/8KsgU1t9jdJ5WDGvQwzGWsX8Mg8o7G519HPp64rEWxify68tUGpvuuQrAwrfR8mhIIajci2ya89+phyIRUChb+IJ0n3qj/tbQw8pSbB8cZol/U0Lhpv+L3+AjPdlEZsPXQvmfkxIK5nZEKKXJtcYD3iB540ORa4GdHywCLWKXZZr89g+uqKhBXC2xLoz7m8SX/aR8o47WiInNnLUl4ucAR9CDWexQEAH+ga0fq2Hw+NzWsBfEgtVJO+3Bc9Ehs338MboVgNdahn0ipwdVwT6cop6brMqJp7/jpOyD+Lh54z7o1LDs/SME6dbTddY6++7G5hFNmsuIWwQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from OS3P286MB2152.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:197::9) by OSZP286MB1943.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:1a6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.14; Thu, 22 Sep 2022 14:09:24 +0000 Received: from OS3P286MB2152.JPNP286.PROD.OUTLOOK.COM ([fe80::e442:a4b4:201c:8097]) by OS3P286MB2152.JPNP286.PROD.OUTLOOK.COM ([fe80::e442:a4b4:201c:8097%4]) with mapi id 15.20.5654.016; Thu, 22 Sep 2022 14:09:24 +0000 From: Enze Li To: Tom Tromey Cc: Enze Li via Gdb-patches , schwab@linux-m68k.org, enze.li@gmx.com Subject: Re: [PATCH v2] gdb: add a numeric check after the exponent (PR cli/24124) References: <875yhg38bm.fsf@tromey.com> Date: Thu, 22 Sep 2022 22:09:18 +0800 In-Reply-To: <875yhg38bm.fsf@tromey.com> (Tom Tromey's message of "Wed, 21 Sep 2022 12:12:45 -0600") Message-ID: Content-Type: text/plain X-TMN: [L3Hdg5RytNfUt0U/edg4eGBUTfIkJti8] X-ClientProxiedBy: SGXP274CA0023.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b8::35) To OS3P286MB2152.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:197::9) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS3P286MB2152:EE_|OSZP286MB1943:EE_ X-MS-Office365-Filtering-Correlation-Id: 8874fffb-b8ee-48ab-5214-08da9ca40d66 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4k4z2w5eHebCHhkx05/YMCaLdIk1Q32P7f+CsBnCnyf33pG0qmcOElPHNOw6PDF9eirHu/4biRmKvjFqE0oJQQSpavX0OsC3SE0YbxFQhLfhRYBdRIaQkxBTuuNgJvptFLIyyVNVFmf6Fhq4veOSfKJfmEWi0DzsjfZl+2UpEAecnO0v206Vv2GCz3SOmnm97FoIacbhgIMpcR9m80rpV+ChBtfTfzD4O1mievO7hNa+pkhgL7rKzX+c11klEObfrvxKWRxJrviYRJcHvJJFPRpjL6TyNmOtlbxasaO9OC/TFXlg+avcI8270jQj8ySG90ThkT2e8P5drjGrNxFdAuyN2YePlojtAPWEtsaMyvjr/soy6P0oBIVpGCNQkObdRtVlcIIKAHFP5Y1nZbIznoi8LofghUscaHTQHPpAgajaf66FvOJvqPKZsVcvOfP4YEjPclKg9RV03YMOcHHzisqfCo3cktCVMIOTISphSmctJcT02hOmNfWZH9Ymn8VXMXeGvnSQSKo0IOY13YIPb/z3D4kUr61HS4CZn49JNBA38w5n6WPZ7xGu0ICqJyT2iq7OgXenYRVdW0Es+DxsDrRFPCg3CyHTDt9JIwCFi8UZdOARUq1zsJg178fp8ViwVcMdrtZuRlf8kgl3cHE+Q62QZdHtHvKtREGA5TuY11jLlJnXMWKOLIqOE+dKrpou X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?lwnY8fad1wwmIQM1kw/7E9Kk4KqMTThvMFXvtfkd7JubECQTRzd5N5RSvKY+?= =?us-ascii?Q?EcPyQlxXjVWzrqtZbFP7vvLuFn7JQzVR8UJVjJVqEFuvIjPln/bTTXI3uOwC?= =?us-ascii?Q?8qa1G5m1f+UKaStmOIhyA6bKWyuxiHaY5wmFOufe04SRFAbwXMtV0knO9BHa?= =?us-ascii?Q?xjDemPUr986fz2SrZ1n61u7x05+3OmvWDXSfR3BsApLzT/H37FmAlpVADI/o?= =?us-ascii?Q?HgD2crEfuQCE6Cwb7PEhGRSFA81SSj0xUk0GrIBMHfMyggy8SQPIzQ27kD6L?= =?us-ascii?Q?3jr1HofW0P/J7kXVAjKCWO29yf/C89bukLJC7q1cyDIlQxJrLZvxAwKKeK9m?= =?us-ascii?Q?2Lb6ywC6NLKBKFYRFIFYkBUNClwIR9sCfWduyB4ulzSiOh6+bqUSI72stUmh?= =?us-ascii?Q?gRV/pGvgIbB+EDPEnWrRoXbZyf2w/D5obci4XdUMEOK12hldNtjmfRjE3hUg?= =?us-ascii?Q?xkA11Jj//GXfA/n6n8ckvp90nlT3mXXf1QuvefnVn8THBBnXDeW53Jfuje7L?= =?us-ascii?Q?FaRp1PcxdD4H1w26dK1fMR7rbuQ2tiQ+or7XpXujjt/iayzca2ihNwDXLt2Z?= =?us-ascii?Q?nhJLlBwAb9ETAQgyKU9fu2R9w+ar09sUsEIwjOJIUp7lWIS/1gHqG+ioDxmY?= =?us-ascii?Q?UBUirvjSxRXnfopxpFHi4p0GHa1nXQ5VsbMadbqUp7mtttNNh2KXvGdc+WWd?= =?us-ascii?Q?8YK0a/jgoptsd5RkYTS30RbymVhVL5xgKybFmZ417/clf3xsLt2Mn+5+aWKq?= =?us-ascii?Q?eNs/fvFYJnT7hPRKoUOhBKy/lzWVisOk3o0zUMgyoICgeRmdC/t3JxmLRLWW?= =?us-ascii?Q?aG/5Plkl0wUaWBEdiN5CgAxMTAfweYp7uX4KIzMpQu3k0OrPAEZWJPMFXBq9?= =?us-ascii?Q?iHolP0Z5qlxJ45tk2AcndOtzpbvpowJ7a8de1XqEecqgAFYB6+gc1PAU21Hz?= =?us-ascii?Q?YyKzfjFbSJXPD3l2Mk4f/3+EKEQFdZsp5maSmstgzHvZSsU3hIkI2e1r8WpO?= =?us-ascii?Q?TiSZ1FFUqZ/SEHmAl6oUdAyl7F+b1vGYpQfUIWqp1gPt6bXpWu0Pkap+0w2/?= =?us-ascii?Q?ch1v9Ldb+6T8OeZpxNTJlKj/0pq6DoGkOxsCfJ2TczhU2LHurenRavxkyeNd?= =?us-ascii?Q?o1zWPLnR2yK41fWhYc2LENEyIApyPhJpzWIEfC/pRQqSRxZcb/3rGvYSNRBW?= =?us-ascii?Q?KJmGWKxOONaDcdJCYGPWXv1vMDmqOD30pfqCXFWjdE5k+fC5gwIzSjOmzTm5?= =?us-ascii?Q?wWQuizpV++10+PqRVKBsXyxTRK5OrNKP6uMydG+9kA=3D=3D?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-05f45.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 8874fffb-b8ee-48ab-5214-08da9ca40d66 X-MS-Exchange-CrossTenant-AuthSource: OS3P286MB2152.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Sep 2022 14:09:24.2238 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSZP286MB1943 X-Spam-Status: No, score=-5.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Sep 2022 14:09:30 -0000 Hi Tom, Thanks for your review. A few questions, please see below. On Wed, Sep 21 2022 at 12:12:45 PM -0600, Tom Tromey wrote: >>>>>> Enze Li via Gdb-patches writes: > >> PR cli/24124 points out that `b *804874d` or `b *804874f` gives output >> `Invalid number "804874d".` or `Invalid number "804874f".` And the >> output of `b *804874e` is `Breakpoint 1 at 0xc480a`. > > Thank you for the patch. > >> That is to say, when "e" or "E" appears after a decimal value, it will >> be incorrectly parsed as a floating point number. Importantly, this >> parsing is not consistent with the C language. > > I suspect the change has to be in c-exp.y:parse_number, in order to > support the case where the input radix is 16. In this situation, ^^ Sorry, I didn't get that. Shouldn't this radix be 10? > something like "80e" is a valid number. If the radix is 16, is that mean that we should treat the "80" as a hex number, and "80e" equals "128e0"(radix is 10)? > > The input radix seems like a misfeature, IMNSHO, but I think people do > actually use it. In addition, do these test cases below meet expectations? ...... + gdb_test "break *804874d" "Invalid number.*" "804874d is an invalid number" + gdb_test "break *804874e" "Invalid number.*" "804874e is an invalid number" + gdb_test "print 80d" "Invalid number.*" "(print) 80d is an invalid number" + gdb_test "ptype 80d" "Invalid number.*" "(ptype) 80d is an invalid number" + gdb_test "print 80e" "Invalid number.*" "(print) 80e is an invalid number" + gdb_test "ptype 80e" "Invalid number.*" "(ptype) 80e is an invalid number" + gdb_test "print 80e0" " = 80" "(print) 80e0" + gdb_test "print 80e1" " = 800" "(print) 80e1" + gdb_test "print 80e+2" " = 8000" "(print) 80e+2" + gdb_test "ptype 80e-1" " = double" "(ptype) 80e-1" ...... Thanks, Enze