From patchwork Mon Jul 30 04:41:59 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Stanley X-Patchwork-Id: 143115 Delivered-To: patch@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp3623547ljj; Sun, 29 Jul 2018 21:42:48 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcHLdmGx7Zu8hjK7Kx7cQOgGWGBysVje9aECxqyE0Na9YduPoek5rcLDwe2YCRcSv83c8Xs X-Received: by 2002:a17:902:8541:: with SMTP id d1-v6mr15177549plo.81.1532925768173; Sun, 29 Jul 2018 21:42:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532925768; cv=none; d=google.com; s=arc-20160816; b=VxImrwJB1UcT+Y8sb5/3GvdcHzY2C/NsfSuGe8+P3YSIW8pHOQRgEijwnsAXYEpi9D +VDtL8sXTE5pLfEU51iHPKjm48bQB6yN/5dXPCEJ161ntRWFeEQn28GOetKgEp9/UpK/ dbB6qfdFl8pjJwZmASkpKwnhyRgxm0zBqcWiheVYYiKCff4ZlYeIQG7WuHUjWKpbvZIQ 4FpZBtIuKHNK2k9VgiefsWRb+vc4kYWdsdK2F8ak1FMe1+1w7WLoWL/ayk0bnqZV4I0b B9tLNv9S0zcDD/oVCLI4BfvLsdb+NmLO9xeeVCuQnI30o/Qt45JdKan+h0oeBHBDlizf 3egA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:sender:content-transfer-encoding:mime-version :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=eo+jxnVov1uxZYVIaSaTK1hk+jBwnJwiPejS9Hviipc=; b=Vs5oDlJ08YPe7oQynitEzNu9Fjly4rllUtgcUO38/45ivERzPzqWOiUMsc5OyUujGK h2qx2SfSZ+jP1FaBSqNwhAwulM7yyg+cCIDozRimM9ITKD+b7YTShRqFn8SWgwow1hpa e00TpSrs2GoYAQ7jisLictjEIU0pnfGGe/Uo7VWYIAzZ4oGo0ubrPPA9fAXWAeRCKs5b cCkwR9ra9R8o1EebOD77EU0Izv0SUsEgem16cl8Rh2CBEb9ZOStE0n7+9HKci2+nrlvB 2xBcVG7+31GMFoiy5hq9Lh/LJW8rgBUxv4L5HZE8sTslIKnHNslfjF9sFFT+vV1PuRH6 hOsw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=l92H4D4R; spf=pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) smtp.mailfrom=openembedded-core-bounces@lists.openembedded.org Return-Path: Received: from mail.openembedded.org (mail.openembedded.org. [140.211.169.62]) by mx.google.com with ESMTP id m61-v6si6861510plb.200.2018.07.29.21.42.47; Sun, 29 Jul 2018 21:42:48 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) client-ip=140.211.169.62; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=l92H4D4R; spf=pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) smtp.mailfrom=openembedded-core-bounces@lists.openembedded.org Received: from layers.openembedded.org (localhost [127.0.0.1]) by mail.openembedded.org (Postfix) with ESMTP id 8E34178D73; Mon, 30 Jul 2018 04:42:45 +0000 (UTC) X-Original-To: openembedded-core@lists.openembedded.org Delivered-To: openembedded-core@lists.openembedded.org Received: from mail-pg1-f195.google.com (mail-pg1-f195.google.com [209.85.215.195]) by mail.openembedded.org (Postfix) with ESMTP id 6E09978D56 for ; Mon, 30 Jul 2018 04:42:16 +0000 (UTC) Received: by mail-pg1-f195.google.com with SMTP id y4-v6so6525396pgp.9 for ; Sun, 29 Jul 2018 21:42:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=caA7v7h9d67aCcrbng+ADP5UAw8/Xtig69vzXzWOxhM=; b=l92H4D4RAyrinQt+8VBY+Kfpwui2nctunkm7wXz52cSt7NomtddqJYPLX+qFJqIYUW cX2XiyFLfS+JPXWqvsWtZnIucVIs1JoPNV2CmAqy+tpSVd/6pLBIg/jds1QXNz6A89D1 GwieNBsE4bhNRw28ubkYbl3WqPYo9YzKbQVHiGtY5/CL7FexCEHDsNV7OwnFYG7xPmMw To/2RQCG1DRKQE1xeiR24LnJrc9Jm9X1uK95uXnCadQNVAs6gy+i3jhcEs/NEPGz2asn mJE7VNkD3xSlOcsRYxlzsRqdTLJGAE3LRpw8mhNUg5SziZp+Es9yst8t9KcerWJU8H40 0quA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=caA7v7h9d67aCcrbng+ADP5UAw8/Xtig69vzXzWOxhM=; b=Q2Tx6cgOf90qMkmHgmHXCTX9FzysgzyI9V+jJVH70Kjulf+iq8gkstMbsnHdbSW7u5 dFBEHQHtwSSExk747oqKUrWEouAYdL4SyfyTCH830oehNOg+6+YLPt98xoZAqSDxLC6i yVNOD7f2rqufvr7ZeMxQWf+0rubJj/2tgTj1LPquvLeQOWuCn6IneisrFkXDWGzBaoFy 4bIqbg2VtgKU/VQ17ythzbZEMv1wKGwdPGc6s0Z0ey633gHTDeqvr9txSTCtAxNTT3W+ tDF0oXuahdSouNzpIVI1JFNm7HniQadSnZqWbwoVLKF2jJhPEndUvvuQOq+OF3i6k5Ym 7A8Q== X-Gm-Message-State: AOUpUlHA2gozwhl4fTC/wYxEYMPYq0APH6wTZdbw+DmFr+2Yr93HZimy 8RGxXswXg/s/lIzhszF+du/+4yHs X-Received: by 2002:aa7:84c2:: with SMTP id x2-v6mr16252048pfn.220.1532925737278; Sun, 29 Jul 2018 21:42:17 -0700 (PDT) Received: from aurora.jms.id.au ([45.124.203.18]) by smtp.gmail.com with ESMTPSA id t12-v6sm14115606pgg.72.2018.07.29.21.42.14 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 29 Jul 2018 21:42:16 -0700 (PDT) Received: by aurora.jms.id.au (sSMTP sendmail emulation); Mon, 30 Jul 2018 14:12:11 +0930 From: Joel Stanley To: openembedded-core@lists.openembedded.org Date: Mon, 30 Jul 2018 14:11:59 +0930 Message-Id: <20180730044200.3164-2-joel@jms.id.au> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180730044200.3164-1-joel@jms.id.au> References: <20180730044200.3164-1-joel@jms.id.au> Subject: [OE-core] [PATCH 1/2] gcc-7.3: Fix build on ppc64le hosts X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: openembedded-core-bounces@lists.openembedded.org Errors-To: openembedded-core-bounces@lists.openembedded.org When building on ppc64le hosts that have GCC 8 (such as Ubuntu 18.10) the GCC build bootstrap fails. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86162 This is a fix that was applied to the upstream GCC 7 branch. Change-Id: I7796d2a999ec420805dd1c6cf0a1ecba1de5a897 Signed-off-by: Joel Stanley --- meta/recipes-devtools/gcc/gcc-7.3.inc | 1 + ...c64le-build-Partial-backport-r256656.patch | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 meta/recipes-devtools/gcc/gcc-7.3/0001-Fix-ppc64le-build-Partial-backport-r256656.patch -- 2.17.1 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core diff --git a/meta/recipes-devtools/gcc/gcc-7.3.inc b/meta/recipes-devtools/gcc/gcc-7.3.inc index b816f7d12f81..81320dc52a59 100644 --- a/meta/recipes-devtools/gcc/gcc-7.3.inc +++ b/meta/recipes-devtools/gcc/gcc-7.3.inc @@ -79,6 +79,7 @@ SRC_URI = "\ BACKPORTS = "\ file://0001-Fix-internal-compiler-error-in-testcase.patch \ file://0001-PR-rtl-optimization-83030.patch \ + file://0001-Fix-ppc64le-build-Partial-backport-r256656.patch \ " SRC_URI[md5sum] = "be2da21680f27624f3a87055c4ba5af2" diff --git a/meta/recipes-devtools/gcc/gcc-7.3/0001-Fix-ppc64le-build-Partial-backport-r256656.patch b/meta/recipes-devtools/gcc/gcc-7.3/0001-Fix-ppc64le-build-Partial-backport-r256656.patch new file mode 100644 index 000000000000..5d8ffb7babca --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-7.3/0001-Fix-ppc64le-build-Partial-backport-r256656.patch @@ -0,0 +1,40 @@ +From aa65a43516da1d48011ef621ed5988289711d99b Mon Sep 17 00:00:00 2001 +From: marxin +Date: Fri, 29 Jun 2018 09:31:30 +0000 +Subject: [PATCH] Partial backport r256656 + +2018-06-29 Martin Liska + + Backport from mainline + 2018-01-10 Kelvin Nilsen + + * lex.c (search_line_fast): Remove illegal coercion of an + unaligned pointer value to vector pointer type and replace with + use of __builtin_vec_vsx_ld () built-in function, which operates + on unaligned pointer values. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@261621 138bc75d-0d04-0410-961f-82ee72b054a4 + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@262243 138bc75d-0d04-0410-961f-82ee72b054a4 +Signed-off-by: Joel Stanley +--- + libcpp/lex.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletion(-) + +diff --git a/libcpp/lex.c b/libcpp/lex.c +index 097c78002cbb..e0fb9e822c44 100644 +--- a/libcpp/lex.c ++++ b/libcpp/lex.c +@@ -568,7 +568,7 @@ search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED) + { + vc m_nl, m_cr, m_bs, m_qm; + +- data = *((const vc *)s); ++ data = __builtin_vec_vsx_ld (0, s); + s += 16; + + m_nl = (vc) __builtin_vec_cmpeq(data, repl_nl); +-- +2.17.1 + From patchwork Mon Jul 30 04:42:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Stanley X-Patchwork-Id: 143116 Delivered-To: patch@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp3623599ljj; Sun, 29 Jul 2018 21:42:54 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcW/1GHlTJCMtxg2K4rKLyFiMbvs/9XD1c20iI+U0IqPDGP/ilqn1VD3UiIe8k07xj7VPsh X-Received: by 2002:a62:9cd7:: with SMTP id u84-v6mr16432167pfk.90.1532925774456; Sun, 29 Jul 2018 21:42:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532925774; cv=none; d=google.com; s=arc-20160816; b=lv/3mfCHEa0qQp8prTydfBHa8stfK6dNT+7I1XH/vMKzOOQfeOkAWr44m+mkR7FLXq C7nsj+LonxdfQTh5LDGPg78g9LxuKp+lUNuP43KKW89HKNCQZD2hcfKOYVRO0Prg0N26 3gaYotDW/X4B5pMNPacmTBeuTCz6FBX6wb8t2rAHaLda0mPImQlAaIUIYatZDnlQY7SH bAiDMPgK5qr6xBLv2mt6/04yezEPw0/i2yOFLK+GSaA7xbdFg+XCYM+s8nntpN8okr18 anQmyWFAprPiTw6m/c5c96qCHBvBDd/hxPqWR3lt+vGxQUoM7WMjErh+Y2MAH4dALz45 ZDeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:sender:content-transfer-encoding:mime-version :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=eEy+MTzqbXbF7gtWE0YGt/u0k3R7pyChXPZg7B+VG90=; b=XhozqJodQ3I9U7/eJEqt7UraKoImt3eSSvLLMDVVDfuv5iau9Q1g1UTR1ZC2lB7fJJ dteMso28QjeVIT6PDks8NIFmFaPJkGCHE1iT0GElHKYmkYj6r3Fe+hQnmANVP1dIDtuN z20nKoPsJzP3jNbeu2gnpv/dkBzyjAIEYoWmlBKi7cZ3/Q3RQBaon4nKHjy8l0bvrgtA 7RBVOR9kEBBI12NcBDzWfX1O/73RflBtPp9wBqlPr0JtBSLkixF0aTmtons1jnlH6M6c 5ZGJ6tarPHUXhbe8SjzBs23xjuuthIqxlAM8YZM6Ms3F9souDv8ubNc1q6m+Me/AM5/l j9OQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=f2F2Bts7; spf=pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) smtp.mailfrom=openembedded-core-bounces@lists.openembedded.org Return-Path: Received: from mail.openembedded.org (mail.openembedded.org. [140.211.169.62]) by mx.google.com with ESMTP id a11-v6si8878473plp.108.2018.07.29.21.42.54; Sun, 29 Jul 2018 21:42:54 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) client-ip=140.211.169.62; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=f2F2Bts7; spf=pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) smtp.mailfrom=openembedded-core-bounces@lists.openembedded.org Received: from layers.openembedded.org (localhost [127.0.0.1]) by mail.openembedded.org (Postfix) with ESMTP id C89FF78D64; Mon, 30 Jul 2018 04:42:50 +0000 (UTC) X-Original-To: openembedded-core@lists.openembedded.org Delivered-To: openembedded-core@lists.openembedded.org Received: from mail-pl0-f54.google.com (mail-pl0-f54.google.com [209.85.160.54]) by mail.openembedded.org (Postfix) with ESMTP id 9DE0378D62 for ; Mon, 30 Jul 2018 04:42:22 +0000 (UTC) Received: by mail-pl0-f54.google.com with SMTP id s17-v6so4932684plp.7 for ; Sun, 29 Jul 2018 21:42:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=f3jYohpcTJZzOS3NmPFD/BaVVkjhKlajPmMJ7791BXM=; b=f2F2Bts7SebqgXDE1V4bYkCfoGtemo/za8kMCe3vJo/i4MvX2THczNOMKiP/Fln9nu 0gUMMGHt5qPIo28g8pISWOrp/zblMF4sVBz8OsZDRH6pzU6vU67u0lxbfWb4n/C+LZBs 95Oh96rG3tUycMqhzqce6nbnBHx5pwo8CXtPhpMHbU0aFY1VQPdMGXxLMeeHxd7XrMbW HRnkhZzBFlef5nETKRfuuwCO7jM+X5of3O1gg8IL6mPo2g34222NMeKfTxlFKmbd/mGM XoRgvGDN1PPM1oPyEaNgjgPPvDmgde14ngi/50IdFFdXgCV99HYZtq+hk15liVpqEBxm fLOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=f3jYohpcTJZzOS3NmPFD/BaVVkjhKlajPmMJ7791BXM=; b=IjqesuCsva+YEgUaATIEGzvSzz4DnSusaXcitMYM3aG3jFUKISQGNpo+26BZcTGgxU qnjclmRh9k3AehLIgT5bt5hkEApXoUMlg5+UDv4MjKdwFIWO5wY+ptFMAtGioUfTLkUQ AM3TNBjRp0q1VSLB/Tz6451mJtgwubHGg0zrruQSXP9S6u3JoyVXfN/OLfIzMg9o0FXx t6+FDDN9nYkdj6MgzGgmHfrn6EKC5Sx/0OCBSPyEMgwRkTIIZ/94dUvjfp1hcuQS7pkv Tylgi7Inq+nPOay/enX42uIZz2v2VABHMleWGdZStOUWS1s62lfIJVua0UYjYero5Or5 AmFA== X-Gm-Message-State: AOUpUlFFbFKmQ60cAcuvPcBqsmX5PY8C6YndUSCta/r2vBwdFow9+qNl zbN4QdIMW6EE6p8HEJr64WC9VYDB X-Received: by 2002:a17:902:184:: with SMTP id b4-v6mr15232211plb.340.1532925743493; Sun, 29 Jul 2018 21:42:23 -0700 (PDT) Received: from aurora.jms.id.au ([45.124.203.18]) by smtp.gmail.com with ESMTPSA id q28-v6sm17502359pfg.144.2018.07.29.21.42.20 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 29 Jul 2018 21:42:22 -0700 (PDT) Received: by aurora.jms.id.au (sSMTP sendmail emulation); Mon, 30 Jul 2018 14:12:17 +0930 From: Joel Stanley To: openembedded-core@lists.openembedded.org Date: Mon, 30 Jul 2018 14:12:00 +0930 Message-Id: <20180730044200.3164-3-joel@jms.id.au> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180730044200.3164-1-joel@jms.id.au> References: <20180730044200.3164-1-joel@jms.id.au> Subject: [OE-core] [PATCH 2/2] gcc-7.3: Backport fixes for std::pair high memory usage X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: openembedded-core-bounces@lists.openembedded.org Errors-To: openembedded-core-bounces@lists.openembedded.org C++ applications that contain a specfic use of std::pair with tempates cause the build to require many gigabytes of RAM to build. This is a fix that was applied to the upstream GCC 7 branch. Change-Id: I213f96d1d6332e2dce5765482ff3413f1abd7ff8 Signed-off-by: Joel Stanley --- meta/recipes-devtools/gcc/gcc-7.3.inc | 1 + ...-PR-c-80290-memory-hog-with-std-pair.patch | 58 +++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 meta/recipes-devtools/gcc/gcc-7.3/0001-PR-c-80290-memory-hog-with-std-pair.patch -- 2.17.1 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core Signed-off-by: Joel Stanley <joel@jms.id.au>
diff --git a/meta/recipes-devtools/gcc/gcc-7.3.inc b/meta/recipes-devtools/gcc/gcc-7.3.inc index 81320dc52a59..c7c88f12e499 100644 --- a/meta/recipes-devtools/gcc/gcc-7.3.inc +++ b/meta/recipes-devtools/gcc/gcc-7.3.inc @@ -80,6 +80,7 @@ BACKPORTS = "\ file://0001-Fix-internal-compiler-error-in-testcase.patch \ file://0001-PR-rtl-optimization-83030.patch \ file://0001-Fix-ppc64le-build-Partial-backport-r256656.patch \ + file://0001-PR-c-80290-memory-hog-with-std-pair.patch \ " SRC_URI[md5sum] = "be2da21680f27624f3a87055c4ba5af2" diff --git a/meta/recipes-devtools/gcc/gcc-7.3/0001-PR-c-80290-memory-hog-with-std-pair.patch b/meta/recipes-devtools/gcc/gcc-7.3/0001-PR-c-80290-memory-hog-with-std-pair.patch new file mode 100644 index 000000000000..ba43af92fff1 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-7.3/0001-PR-c-80290-memory-hog-with-std-pair.patch @@ -0,0 +1,58 @@ +From 8c014bceeca6a558519e86b16a8142accc41e94f Mon Sep 17 00:00:00 2001 +From: jason +Date: Thu, 28 Jun 2018 00:25:21 +0000 +Subject: [PATCH] PR c++/80290 - memory-hog with std::pair. + + * pt.c (type_unification_real): Skip non-dependent conversion + check for a nested list argument. + (braced_init_depth): New. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@262204 138bc75d-0d04-0410-961f-82ee72b054a4 +Signed-off-by: Joel Stanley +--- + gcc/cp/pt.c | 22 ++++++++++++++++++++++ + 1 file changed, 22 insertions(+) + +diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c +index 79cfd0129226..71077a3b0498 100644 +--- a/gcc/cp/pt.c ++++ b/gcc/cp/pt.c +@@ -19242,6 +19242,24 @@ try_array_deduction (tree tparms, tree targs, tree parm) + /*nondeduced*/false, array_deduction_r); + } + ++/* Returns how many levels of { } INIT contains. */ ++ ++static int ++braced_init_depth (tree init) ++{ ++ if (!init || !BRACE_ENCLOSED_INITIALIZER_P (init)) ++ return 0; ++ unsigned i; tree val; ++ unsigned max = 0; ++ FOR_EACH_CONSTRUCTOR_VALUE (CONSTRUCTOR_ELTS (init), i, val) ++ { ++ unsigned elt_d = braced_init_depth (val); ++ if (elt_d > max) ++ max = elt_d; ++ } ++ return max + 1; ++} ++ + /* Most parms like fn_type_unification. + + If SUBR is 1, we're being called recursively (to unify the +@@ -19478,6 +19496,10 @@ type_unification_real (tree tparms, + + if (uses_template_parms (parm)) + continue; ++ /* Workaround for c++/80290: avoid combinatorial explosion on ++ deeply nested braced init-lists. */ ++ if (braced_init_depth (arg) > 2) ++ continue; + if (check_non_deducible_conversion (parm, arg, strict, flags, + explain_p)) + return 1; +-- +2.17.1 +