[{"id":3679755,"web_url":"http://patchwork.ozlabs.org/comment/3679755/","msgid":"<CAFiYyc1zEmoaEo_3yLQ+Ms0TUezoaOCZ99x2ibHnkRZUNERk1g@mail.gmail.com>","list_archive_url":null,"date":"2026-04-21T09:04:24","subject":"Re: [GCC17-PATCH] c++: Handle EXACT_DIV_EXPR as printing `/`\n [PR119567]","submitter":{"id":1765,"url":"http://patchwork.ozlabs.org/api/people/1765/","name":"Richard Biener","email":"richard.guenther@gmail.com"},"content":"On Mon, Apr 20, 2026 at 7:06 AM Andrew Pinski\n<andrew.pinski@oss.qualcomm.com> wrote:\n>\n> Before r8-4233-g6ff16d19d26a41, we would print EXACT_DIV_EXPR as `(ceiling /)`\n> which is wrong. Now we print it as `unknown operator` which is also wrong.\n> Printing it as `/` is correct here since it is the similar to `FLOOR_DIV_EXPR`\n> except it is undefined behavior if it is not exact (so floor is fine :)).\n> This shows up when printing out the reason why the following is not a contexpr:\n> constexpr int (*p1)[0] = 0, (*p2)[0] = 0;\n> constexpr int k2 = p2 - p1;\n>\n> Bootstrapped and tested on x86_64-linux-gnu.\n\nLGTM.\n\n> gcc/cp/ChangeLog:\n>\n>         * error.cc (dump_expr): Treat EXACT_DIV_EXPR the same as FLOOR_DIV_EXPR.\n>\n> Signed-off-by: Andrew Pinski <andrew.pinski@oss.qualcomm.com>\n> ---\n>  gcc/cp/error.cc | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n>\n> diff --git a/gcc/cp/error.cc b/gcc/cp/error.cc\n> index b3e66924e31..81e44627f34 100644\n> --- a/gcc/cp/error.cc\n> +++ b/gcc/cp/error.cc\n> @@ -2629,7 +2629,6 @@ dump_expr (cxx_pretty_printer *pp, tree t, int flags)\n>      case EQ_EXPR:\n>      case NE_EXPR:\n>      case SPACESHIP_EXPR:\n> -    case EXACT_DIV_EXPR:\n>        dump_binary_op (pp, OVL_OP_INFO (false, TREE_CODE (t))->name, t, flags);\n>        break;\n>\n> @@ -2637,6 +2636,7 @@ dump_expr (cxx_pretty_printer *pp, tree t, int flags)\n>      case FLOOR_DIV_EXPR:\n>      case ROUND_DIV_EXPR:\n>      case RDIV_EXPR:\n> +    case EXACT_DIV_EXPR:\n>        dump_binary_op (pp, \"/\", t, flags);\n>        break;\n>\n> --\n> 2.43.0\n>","headers":{"Return-Path":"<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":["incoming@patchwork.ozlabs.org","gcc-patches@gcc.gnu.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","gcc-patches@gcc.gnu.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=aw4M8QYV;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=aw4M8QYV","sourceware.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","sourceware.org; spf=pass smtp.mailfrom=gmail.com","server2.sourceware.org;\n arc=pass smtp.remote-ip=209.85.208.43"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g0Gdz5hK4z1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2026 19:05:10 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 63F894BA2E3F\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2026 09:05:08 +0000 (GMT)","from mail-ed1-f43.google.com (mail-ed1-f43.google.com\n [209.85.208.43])\n by sourceware.org (Postfix) with ESMTPS id 77ED94BA2E17\n for <gcc-patches@gcc.gnu.org>; Tue, 21 Apr 2026 09:04:40 +0000 (GMT)","by mail-ed1-f43.google.com with SMTP id\n 4fb4d7f45d1cf-6746d0b2b4aso3916185a12.3\n for <gcc-patches@gcc.gnu.org>; Tue, 21 Apr 2026 02:04:40 -0700 (PDT)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 63F894BA2E3F","OpenDKIM Filter v2.11.0 sourceware.org 77ED94BA2E17"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 77ED94BA2E17","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 77ED94BA2E17","ARC-Seal":["i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1776762280; cv=pass;\n b=ihF5sI0+ltLhobagGpUoiQ/1J86Xnvh/uvpMoapT7/ftDhY90Y/5T5JJ2sga/l1Up/oG6mEFOPDcNTE3bW84yOEzqw+lvXI1ASR7BjvFzs25OFYanhq35USWOVkHawnGWLdobAyOQ9rY31HtY82JqKuirN9jZl8C+PJiqeF7FbY=","i=1; a=rsa-sha256; t=1776762279; cv=none;\n d=google.com; s=arc-20240605;\n b=TXI9m3O413Oh8H6YIvKsQjH/iZZFWGUgYJtTfcXst9WDXDxgVfwv+W8xR5HIP3054e\n qq1FsZAuIqo1wTkJ7gthppGiknGduqNxohj/GecfSZBewnKUAmNoYkEsPj+B3jtf4Ftw\n zXfd6PVDutQeICekNJXw4pHc5acoC6sY4eKcOx60cQ4hn4YuEWB/2PeOkRhsQF9fSDLo\n yFYLR8hYnqsLbm/GX3Jpyqw29yarRxhHpjcOQDU/fbWYNy4IgSQnAi9nqjCnkGhw1wPF\n Nw+M9NhnOjbGocmphgoZYBhYq2opma3vN9BeNeD9l9ft2xw5PG8AyhS5ycEy3iev5o6A\n tiNA=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776762280; c=relaxed/simple;\n bh=ZtstiWUpl78qdY6BexAuE5PFQXdLbIfsQY/dovfQRKQ=;\n h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To;\n b=K30m/Izi71EQYOFbopYXNZgI7IpDJMWlheIDpi0f7oCV3qPjErTYvtaHN35espFd/skNQBiZ9a0TdzlCunTuCcZiNFHsOQD7/xAX/NzV3RXe0oE6qZBd3vwcGaAK2jAqTF762rSOCn2FvMACJtuqrSDfCALD09DxvQnFQw1MmO4=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:dkim-signature;\n bh=GlyhCigVq4/ix2c92/CBUYaQmFcK37rfTSHbORhO5Ro=;\n fh=+uEDwx55CzEWtNA/tzpV1shOHaMh+Xh7AN17D33930Y=;\n b=O+G6bgoDGf8910dcz9bGkGesyXl5SeAgNi7xU/WnZy7RnxskZT0Cd38vJIjkm1O80p\n /e/jat2Yhjr18mUeY7yL88KmmbdFjo8uEhELG9bpY/P7hC0/RlD72GsDWqxOv6EIeW/G\n Fua5zG0UFrWavHFf7ogbksKK5jW2e7GDt/Aa+U0zJ1lPtCvwCbkqtirEP3vxNNNwMMmZ\n EOKXFOtjPx+2+wGye1WW6v3CJ1B4LOgpbm9WKzeELz4dAfXqT6X/b1cXYG7hzwbup6oQ\n x1pS9q6r55+VRXRuE6fZlxmfoAc9rt6Quf1KYEz6kojJdrQkFc1RPc9NyfbMjUqH1Luk\n R/XQ==; darn=gcc.gnu.org"],"ARC-Authentication-Results":["i=2; server2.sourceware.org","i=1; mx.google.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1776762279; x=1777367079; darn=gcc.gnu.org;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:from:to:cc:subject:date\n :message-id:reply-to;\n bh=GlyhCigVq4/ix2c92/CBUYaQmFcK37rfTSHbORhO5Ro=;\n b=aw4M8QYVKGAy4p3DJuGhLzcAChNw4GV8gI0Gjf0tG2lqrkosg1WVtQZLV+/mSWYH2A\n 5m463GP2pX7TamATGtuLgYdFAmT/4Aj6zIrjWMUmnFTtdu4YRCD0RVG/f8yJ5F9Alk7x\n +ZmFAQwglDg/mtBuGN073y5HzPRyUDZiIgOCLuX12sZWRLLkvo3rlOkBOPXmcLae4fJH\n HbSUhqDs0S6LQ2KjNAZtJjYJDAdft7nAfC3D8VWRxfGdVWJ8NNy/HMYR+JB4CBNSgJyZ\n stX7sRNs7pU3dfjcLqpQce/GjjaFFYw7SNhLezhwFSzEJT1CL9C4shhXTKTgO9jRH5WD\n L1hQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776762279; x=1777367079;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=GlyhCigVq4/ix2c92/CBUYaQmFcK37rfTSHbORhO5Ro=;\n b=M0DqJgr8f+fT+Z+fKgRUhMZFwqiAtS9ZXRadt1BfwkSlJFRVHm9S5Ex81AlHdPVrYm\n jRutM7wdSKsmytRkvZzvP5HjA3OLdvC+1pl731hykLMXPAJHXmeoxEj+jnHW/vCJATuk\n po4MmqfdZkq5GDXzE8VvD+cpYvifX+2OhjX3w7J7eojNMs9t7XGcooKb+K+2HKHtwMof\n ZSJanwy0mXIhEraKF2U0q+ZIWgf1oclAshYxMPjOFlTk94CG8YPASl+u2+Q797MjYfPX\n 0/ypXGXksg9uRIQlIC8Dd86Nt5KbAOJysJVmjMKn6mKa1Oh/0O5hYVeoWlXhDYphsJuU\n ONHA==","X-Gm-Message-State":"AOJu0YxKVfFQZSIbw+EM689P4SSJFjAxe8Me4yokeN59ybM5+2R7VTBs\n WlhS0S07vLlcjkpxhkCD8WBSNbB2fNzyzfrufY8F2+6fzdwPmRPINB1hmPOwUgYkdSIM2DgF0ZJ\n rm55M9SbAQcrZuF3kJNrtiNzL0HPx+04tkg==","X-Gm-Gg":"AeBDieu1SWLlYsl47tMpktjemTgQV9pXWUeB6Z3n+CNeCvbw1dBQct6pIKw6HM2xNiy\n Vtj5bN89QKiQ/wc1OTamy0NOaeRYhUgWfi+jdiSlKEuFBNfAM8UbbclynWZPpFGMu0gaJWTqOBw\n 4qwBAH20GYeuodh3prV9dnj/Evy1N+wInSjOs4gNhT+pf58un/Cl6K1XpSZY1dYHvM4Tkhrf+vO\n RbMc9KheWChLPOLB70LcIf/eQEJ0AvyfpnKHI7V9BCIpRkjFPq2+VV3RK0qTYVWqAaQDQDif8dI\n sbMa+bK5EVOEFtlI","X-Received":"by 2002:a17:907:60cf:b0:ba6:be92:a595 with SMTP id\n a640c23a62f3a-ba6be92a79emr474560066b.37.1776762279080; Tue, 21 Apr 2026\n 02:04:39 -0700 (PDT)","MIME-Version":"1.0","References":"<20260420050533.1228415-1-andrew.pinski@oss.qualcomm.com>","In-Reply-To":"<20260420050533.1228415-1-andrew.pinski@oss.qualcomm.com>","From":"Richard Biener <richard.guenther@gmail.com>","Date":"Tue, 21 Apr 2026 11:04:24 +0200","X-Gm-Features":"AQROBzAaMyHx_5xYmnoeedMu1bf25NxDatJw6Nv2zaRm4LgEZuOSj0yg_u-mLwI","Message-ID":"\n <CAFiYyc1zEmoaEo_3yLQ+Ms0TUezoaOCZ99x2ibHnkRZUNERk1g@mail.gmail.com>","Subject":"Re: [GCC17-PATCH] c++: Handle EXACT_DIV_EXPR as printing `/`\n [PR119567]","To":"Andrew Pinski <andrew.pinski@oss.qualcomm.com>","Cc":"gcc-patches@gcc.gnu.org","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","X-BeenThere":"gcc-patches@gcc.gnu.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Gcc-patches mailing list <gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>","List-Archive":"<https://gcc.gnu.org/pipermail/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-request@gcc.gnu.org?subject=help>","List-Subscribe":"<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>","Errors-To":"gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"}}]