{"id":2220138,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2220138/?format=json","project":{"id":17,"url":"http://patchwork.ozlabs.org/api/1.0/projects/17/?format=json","name":"GNU Compiler Collection","link_name":"gcc","list_id":"gcc-patches.gcc.gnu.org","list_email":"gcc-patches@gcc.gnu.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<CAGkQGiJDuiOKSmoHX31hnoS1joUhqzbZCb3cC=RsDvtVGYKSag@mail.gmail.com>","date":"2026-04-06T14:08:31","name":"[fortran] PR124598] (PDT) - ICE instantiating nested PDTs","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"ebb70f39282364564bfd0f7dd0fc56476a1f9a8c","submitter":{"id":4392,"url":"http://patchwork.ozlabs.org/api/1.0/people/4392/?format=json","name":"Paul Richard Thomas","email":"paul.richard.thomas@gmail.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/gcc/patch/CAGkQGiJDuiOKSmoHX31hnoS1joUhqzbZCb3cC=RsDvtVGYKSag@mail.gmail.com/mbox/","series":[{"id":498858,"url":"http://patchwork.ozlabs.org/api/1.0/series/498858/?format=json","date":"2026-04-06T14:08:31","name":"[fortran] PR124598] (PDT) - ICE instantiating nested PDTs","version":1,"mbox":"http://patchwork.ozlabs.org/series/498858/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2220138/checks/","tags":{},"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=ge/d0KEe;\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=ge/d0KEe","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=74.125.82.54"],"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 4fqB5q0WM6z1xy1\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 07 Apr 2026 00:09:19 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id E46CD4BA23F0\n\tfor <incoming@patchwork.ozlabs.org>; Mon,  6 Apr 2026 14:09:16 +0000 (GMT)","from mail-dl1-f54.google.com (mail-dl1-f54.google.com\n [74.125.82.54])\n by sourceware.org (Postfix) with ESMTPS id 389A14BA2E13\n for <gcc-patches@gcc.gnu.org>; Mon,  6 Apr 2026 14:08:45 +0000 (GMT)","by mail-dl1-f54.google.com with SMTP id\n a92af1059eb24-12bfa7fe691so977798c88.0\n for <gcc-patches@gcc.gnu.org>; Mon, 06 Apr 2026 07:08:45 -0700 (PDT)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org E46CD4BA23F0","OpenDKIM Filter v2.11.0 sourceware.org 389A14BA2E13"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 389A14BA2E13","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 389A14BA2E13","ARC-Seal":["i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1775484525; cv=pass;\n b=v7HXkHASxQi8lh4Kn3ih9B4YBTRffi3Wqy4QKY7fyis95AurZfl2WhlhxQBda/kWSgxwaeiPRQgYdKhDzoNNmGfpxch0kAJvJ3jgE82L73lB1vw33sQq8IQmKT0q2s91gVHkZOK4rputy+5tPQVMe02ZrOm0ywYQDX9S5GWH1fU=","i=1; a=rsa-sha256; t=1775484524; cv=none;\n d=google.com; s=arc-20240605;\n b=dQCQSIRkHnf14p41oXTxP783MJszwSZQn6GiWR3KzWWD3RupGeq9kCZ546rqQvohQ5\n 3T8uvnRpim+nZpMEPlcq4vTTHI02WtHbBB8Djv515RLl3VXCsQJmpNfpBj2pNcG6+hE1\n 1u7pv35fSYMZEIgNdaBtQKMHct4DWuEJYnXt5jbzsXqXVjfIVcDJNpbBUHngvyMoEsbS\n lF21OYME32fnIhbPkCo1DjoxziX3vnOeClt+2hU5tmj+8KIJmI6kFxPCJcp1n3FqxRX3\n ghtSIRn7iatalrCDCK7ndtCqgbFOQHSM+ySTByn6RQO5pogSwDPGJ03CZOJ2i8ivOhr/\n 6eIQ=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=sourceware.org; s=key;\n t=1775484525; c=relaxed/simple;\n bh=0PPJEiIXVga8udJO1ursBtC2NSLSbiSdZ0aGuiJCHQM=;\n h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To;\n b=od19+90ySb2ZjO3ifYCGrlLQG+jJoKWjScLg28+AZafDLH7T3PJJl4yBc+BGMORMXyGCy6m/+yrVnwALKwHedN1zjY0qapiafH18kKV8/2PJB0Z0+MgYM2i+Rx+eWr1Tq2q3Iv95L8V+NmlUx0qd9O3i2KC+DsTdUaiL0jivf/k=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n h=to:subject:message-id:date:from:mime-version:dkim-signature;\n bh=0PPJEiIXVga8udJO1ursBtC2NSLSbiSdZ0aGuiJCHQM=;\n fh=2zu8i8MZ4OHwTSZ07NTSScH8yFJTuYOulRfZ7uB7ea8=;\n b=ccN7jwXfIlvPL+MddSIqD29M8fn7cSndHGwCB8+70uVBL8ZbH5m9NdUs/UTbBvaTM6\n eC41JM5FgWB0oY506jQRSvmch/8wK5hntG/Rlq6UrW30sAWvnitch/IFqj6+wuHC8OIk\n wwvy9JkHeoH2msSJReu46xzH0/jPeyQk97xBT5345KSlEnsS1jYW7so2s3OiuIhc/ypu\n Yb3Y8LB07yBRKmLwiYhaR7JKK835Dv8ejjii767Ipki7NDYDhwCMzjY/NDgLlb/1mYl2\n DgYBj05UkdE621m4c5rmwU9mmrqJHohwAhAMejP2zOwYClS5LxUeLOybmw8/n2D31H74\n Iplg==; 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=1775484524; x=1776089324; darn=gcc.gnu.org;\n h=to:subject:message-id:date:from:mime-version:from:to:cc:subject\n :date:message-id:reply-to;\n bh=0PPJEiIXVga8udJO1ursBtC2NSLSbiSdZ0aGuiJCHQM=;\n b=ge/d0KEe4okg9Dj0o+16J4/2BDSIqqbPvMh3Qk4K/D4s2R85fFNopZyuefAp2Kpk+g\n t8UfBkROepRB9W2UB4Yyk8M4c6U8+2XJ9NgAXlEz3r9t+5APCKC2x1TjHWRsqTSW1dEi\n CpLOSni60w0l6mRnlOMD9QnBOK6wao0f53ua8hKD2mFdznQVCpYZjv+xjhMdFOT008JW\n PB/iHsA/NSDBWpioqNQiOUyM6WyymgEp+JERgzfW5VaazXiXK8eUvFb+xRta4GyPNRtR\n LT3jItRPvFTe6TpH9fbf/Oq7bEhRcHaNVBJDN3NxEbiYAcKcZjb4kTf+8rUZNzlWNXwJ\n MxxQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1775484524; x=1776089324;\n h=to:subject:message-id:date:from:mime-version:x-gm-gg\n :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n bh=0PPJEiIXVga8udJO1ursBtC2NSLSbiSdZ0aGuiJCHQM=;\n b=JS1clTyg5QKBIGHa8iz8u/T118qWmfUdTOFfuV15XlFwnJOkCjquOgdbxlus1xVNCQ\n 0V6JB8vDr/1zLAXJbvquTzAxke8S6lL/1Z5mzcpD5VAezhl1gahb3fI+glmRBQ2Xg+x/\n ogqs7jtYxa1Dj9/qPmsgN0Mob8scoYbUXW6HJr4Uk6dfdiMr/tUENG8Lz1wlUlkfv71a\n ToMc0h/mmO6EtFi2myIuMSSJAuWSoiUtp/0tSewyAlA8Rm2cgKajKmYPHkPhPMz/iT3c\n 20+L60BqRCFFFSodVEYdNtO51JEqR0S+hkOgY+wpbGvxBJ9nVyI5oXwHLaQ+CQnR1QLj\n qEbw==","X-Forwarded-Encrypted":"i=1;\n AJvYcCXYUx9SETMG9c4myWXKhzZcpC6zgO42GEImkF1dxv3U9m1uDAGUzac2Gx7QIYjqU/v+Y/mMGv7cxsRoHg==@gcc.gnu.org","X-Gm-Message-State":"AOJu0Yxc4vTWhZHPEG6pJK5agnaktyhzjkyCGkAMF/wIEN1Z/z7EZV0L\n ZhhJE7BWBmW8X6fRzeYDoQd5wkqRqVqXcvuwwy0TJvxOCFAC7E+RJaX/0T4ZoxuIWshrKxag/wS\n XF9zRsohksm6x4s6OnDeZ7+Ev7wstM9m4RQ==","X-Gm-Gg":"AeBDieuHZwRt38IVg9xHkhn9D78lZkGc6oTrHb3mWmUWLskhqxuxbK2aMB+UhcbJneb\n 7ixBpxZLaXfVPMgel4EwlnOvj9L1DZ/uxSaMI5E1tU3OzrOmSXJID8j0Ov6PGLjFyXdEEZoUcr4\n slvUn2Hfhn/+4JvInbtUnuMTr8R3rvDDzJP4B9a2ZjZ4x6a7QGjBp+Je2hD9AdcmaESbmcmCpJZ\n k1ALYg5tuxM5XRNwdc7rbjJ2ao/S4HCZ30BW9QuYJVCfQSXBMw+p3Ngr5RcSpQIcp7qUjmS8Wkn\n 8UweFZNiNuFu28szPBC7VDHXsW8pBgn9qv0XKPBdlg==","X-Received":"by 2002:a05:7022:ec17:b0:12a:6c84:601f with SMTP id\n a92af1059eb24-12bfb773429mr6750533c88.36.1775484523860; Mon, 06 Apr 2026\n 07:08:43 -0700 (PDT)","MIME-Version":"1.0","From":"Paul Richard Thomas <paul.richard.thomas@gmail.com>","Date":"Mon, 6 Apr 2026 15:08:31 +0100","X-Gm-Features":"AQROBzAWh2EbtQJxZn96X8ZFubpE10RZE_aqfFCXjsKRzEXwGEj1dAFF5RPvyEs","Message-ID":"\n <CAGkQGiJDuiOKSmoHX31hnoS1joUhqzbZCb3cC=RsDvtVGYKSag@mail.gmail.com>","Subject":"[Patch, fortran] PR124598] (PDT) - ICE instantiating nested PDTs","To":"\"fortran@gcc.gnu.org\" <fortran@gcc.gnu.org>,\n gcc-patches <gcc-patches@gcc.gnu.org>","Content-Type":"multipart/mixed; boundary=\"00000000000059dcba064ecb3405\"","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"},"content":"Hi All,\n\nI intend to push the attached to mainline tomorrow morning if there\nare no objections.\n\nCheers\n\nPaul","diff":"From 962caa6cd0a025056ffaf8f28ff53f9dece6a84b Mon Sep 17 00:00:00 2001\nFrom: Paul Thomas <pault@gcc.gnu.org>\nDate: Mon, 6 Apr 2026 15:02:15 +0100\nSubject: [PATCH] Fortran: Fix ICE instantiating nested PDTs [PR124598]\n\n2026-04-06  Paul Thomas  <pault@gcc.gnu.org>\n\ngcc/fortran\n\tPR fortran/124598\n\t* trans-expr.cc (gfc_conv_structure): Do not add parameterized\n\tcomponents to a structure constructor.\n\ngcc/testsuite/\n\tPR fortran/124598\n\t* gfortran.dg/pdt_91.f03: New test.\n---\n gcc/fortran/trans-expr.cc            |  4 +++-\n gcc/testsuite/gfortran.dg/pdt_91.f03 | 30 ++++++++++++++++++++++++++++\n 2 files changed, 33 insertions(+), 1 deletion(-)\n create mode 100644 gcc/testsuite/gfortran.dg/pdt_91.f03\n\ndiff --git a/gcc/fortran/trans-expr.cc b/gcc/fortran/trans-expr.cc\nindex f50ddce8e82..6c0bd5ce910 100644\n--- a/gcc/fortran/trans-expr.cc\n+++ b/gcc/fortran/trans-expr.cc\n@@ -10528,7 +10528,9 @@ gfc_conv_structure (gfc_se * se, gfc_expr * expr, int init)\n \t components.  Although the latter have a default initializer\n \t of EXPR_NULL,... by default, the static nullify is not needed\n \t since this is done every time we come into scope.  */\n-      if (!c->expr || (cm->attr.allocatable && cm->attr.flavor != FL_PROCEDURE))\n+      if (!c->expr\n+\t  || (cm->attr.allocatable && cm->attr.flavor != FL_PROCEDURE)\n+\t  || (IS_PDT (cm) && has_parameterized_comps (cm->ts.u.derived)))\n \tcontinue;\n \n       if (cm->initializer && cm->initializer->expr_type != EXPR_NULL\ndiff --git a/gcc/testsuite/gfortran.dg/pdt_91.f03 b/gcc/testsuite/gfortran.dg/pdt_91.f03\nnew file mode 100644\nindex 00000000000..ca0a79130ed\n--- /dev/null\n+++ b/gcc/testsuite/gfortran.dg/pdt_91.f03\n@@ -0,0 +1,30 @@\n+! {dg-do compile }\n+! { dg-options \"-fdump-tree-original\" }\n+!\n+! Test the fix for PR124598.\n+!\n+! Contributed by Antoine Lemoine  <antoine.lemoine@bordeaux-inp.fr>\n+!\n+program test_pdt\n+   implicit none\n+\n+   type t_foo\n+      integer :: c\n+   end type t_foo\n+\n+   type t_bar(n)\n+      integer, len :: n = 1\n+      type(t_foo) :: foo(n)\n+   end type t_bar\n+\n+   type t_baz(n)\n+      integer, len :: n = 1\n+      type(t_bar(n)) :: bar(n)\n+   end type t_baz\n+\n+   type(t_baz(n=10)) :: baz         ! Used to ICE at this line\n+!   baz%bar(1)%foo = t_foo(1)\n+   print *, baz%bar(1)%foo\n+end program test_pdt\n+! Check that the upper bound for baz%bar%foo is set correctly.\n+! { dg-final { scan-tree-dump-times \"foo.dim.0..ubound = 10\" 1 \"original\" } }\n-- \n2.53.0\n\n","prefixes":["fortran"]}