{"id":2223603,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2223603/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/patch/20260415173801.963400-1-torbjorn.svensson@foss.st.com/","project":{"id":17,"url":"http://patchwork.ozlabs.org/api/1.1/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":"<20260415173801.963400-1-torbjorn.svensson@foss.st.com>","date":"2026-04-15T17:31:10","name":"[v2] analyzer: do not segfault when printing unknown impl location","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"354a135dcfc4eac42905ac56a70bc8ff35ac1991","submitter":{"id":84848,"url":"http://patchwork.ozlabs.org/api/1.1/people/84848/?format=json","name":"Torbjörn SVENSSON","email":"torbjorn.svensson@foss.st.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/gcc/patch/20260415173801.963400-1-torbjorn.svensson@foss.st.com/mbox/","series":[{"id":500021,"url":"http://patchwork.ozlabs.org/api/1.1/series/500021/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/list/?series=500021","date":"2026-04-15T17:31:10","name":"[v2] analyzer: do not segfault when printing unknown impl location","version":2,"mbox":"http://patchwork.ozlabs.org/series/500021/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2223603/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2223603/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=foss.st.com header.i=@foss.st.com header.a=rsa-sha256\n header.s=selector2 header.b=bzbsngBE;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.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=foss.st.com header.i=@foss.st.com header.a=rsa-sha256\n header.s=selector2 header.b=bzbsngBE","sourceware.org;\n dmarc=pass (p=none dis=none) header.from=foss.st.com","sourceware.org; spf=pass smtp.mailfrom=foss.st.com","server2.sourceware.org;\n arc=pass smtp.remote-ip=52.101.66.51"],"Received":["from vm01.sourceware.org (vm01.sourceware.org [38.145.34.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 4fwpKZ35Hjz1yHc\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 16 Apr 2026 03:38:57 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 1C7284BA2E1F\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 15 Apr 2026 17:38:55 +0000 (GMT)","from DUZPR83CU001.outbound.protection.outlook.com\n (mail-northeuropeazon11012051.outbound.protection.outlook.com [52.101.66.51])\n by sourceware.org (Postfix) with ESMTPS id F07894BA23D0\n for <gcc-patches@gcc.gnu.org>; Wed, 15 Apr 2026 17:38:22 +0000 (GMT)","from DUZPR01CA0309.eurprd01.prod.exchangelabs.com\n (2603:10a6:10:4ba::9) by PA1PR10MB9410.EURPRD10.PROD.OUTLOOK.COM\n (2603:10a6:102:4fc::16) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.48; Wed, 15 Apr\n 2026 17:38:18 +0000","from DU6PEPF0000A7E2.eurprd02.prod.outlook.com\n (2603:10a6:10:4ba:cafe::90) by DUZPR01CA0309.outlook.office365.com\n (2603:10a6:10:4ba::9) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.51 via Frontend Transport; Wed,\n 15 Apr 2026 17:38:18 +0000","from smtpO365.st.com (164.130.1.60) by\n DU6PEPF0000A7E2.mail.protection.outlook.com (10.167.8.42) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9769.17 via Frontend Transport; Wed, 15 Apr 2026 17:38:18 +0000","from STKDAG1NODE2.st.com (10.75.128.133) by smtpO365.st.com\n (10.250.44.72) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Wed, 15 Apr\n 2026 19:41:06 +0200","from jkgcxl0012.jkg.st.com (10.74.22.122) by STKDAG1NODE2.st.com\n (10.75.128.133) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Wed, 15 Apr\n 2026 19:38:17 +0200"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 1C7284BA2E1F","OpenDKIM Filter v2.11.0 sourceware.org F07894BA23D0"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org F07894BA23D0","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org F07894BA23D0","ARC-Seal":["i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1776274703; cv=pass;\n b=H7NoE3uroJOCpOJNuve4axiPEPqQa7lDuc+MVZ/Fi5bs/2zh1wHFckpEXTTmjOAn16V/1NBGJSHjdoN2Vvc8rMpybrPTJPn9iFDL0wB1dolp/zj3T4OoZq44xNumKFPIgFVJ3+wEuV3JOAdkBECRcXpxQZLJGYOpzMkXKjjvcRA=","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=u7cYM+keSAHY2k/t1frhJWoUu774Rg5bVQnWBELW2I2rbMp1b2ViMmiUFFGM4IJoqzAqRlH2zVlxYZLHPZBAsUmJCa1cRSwZE+Lf18KFFol1A9Jhu0yguWkX6ZIrjWMnXzjdrCFwngyVJHU/bnlcsW6jqEAk+7TArF47puwcCHGi39ozTLeYzZCgqmnR7JshxvymYIRRjeEEUe8Uhae4QWqmeEbeD1Pudn6suhZOY688hTOpSE0bVbqnb176zMsC7JevjwUt8iMHv1ELeBjFUucCS9As0Hm81Gyx7eDU2085OSTjtBWAhpWNdsA5ECrJr//fjAI86n/VG+ckt8MS0g=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776274703; c=relaxed/simple;\n bh=IsBdtYSsUbDSsRlGvf+XZh0/sxmDTpu4XVUWV0zUTK0=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=Uy9DlceYGyolyO2wwxwhQcTlc4mBojpJwnmhffCaymlVXD5sYak8rchGIwu76PCOGMqu5iPCBQ2YNEOGpxXaXWWqqE8mUdTNKjtbE9wpKGGVfMR7LDBV/8MSdPF2Vj2FTH1dLkFTS74iTdYN7w3ctd/HILSGD8XQQygeGRnI7HA=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=gXd80bz+Rs4oaTFm6G4J+o9THGc5798z/F4hWqn65ls=;\n b=dLqL+3zEeo6MEryCeQnhrTUWeTe3DSMnsD9p4yucz7fox/HcuatyG4JWRJ0ESo0WoHHZeJ1soSqzUQ3Zbq3SmHYdsaoIlyxfFn+EyP2wOUOg9RUWM/redufo/AePUBkNB82KktkNKMT3NJxVrI1P7Sckq3MLoRGV9f8VncATRSUPNLKb4X3EKTtwUlV+V9bO5Z3G6TFyL58KttmMbERkgZDtZfvQ/b/OSIi/q6lmAJkM0wbI3lZ6uF4oL3ssNi3wsbRWMEKLbDeBvUDB2Ig2DQto9r90g7A4VlE6n4NdPpn8ChgUdpQi/OdU28bcU2/rOTbyjXtGJsm3tIzX4O+Jpg=="],"ARC-Authentication-Results":["i=2; server2.sourceware.org","i=1; mx.microsoft.com 1; spf=fail (sender ip is\n 164.130.1.60) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=foss.st.com;\n dmarc=fail (p=none sp=none pct=100) action=none header.from=foss.st.com;\n dkim=none (message not signed); arc=none (0)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=gXd80bz+Rs4oaTFm6G4J+o9THGc5798z/F4hWqn65ls=;\n b=bzbsngBEO63Pnio/F9AUwEKL4ztqOGR7XUPd2RYGfqMY270q4+lNUEpb7ReJpZjPdJbqNcGLodBhdC8D0RWjcX8/lVFhWlh0pJDEy6hAvX538BPEfMHdmvZjKS571LIDfND7klOUYkjcHcRMHHuc3bGBmHtScBS6FKrtxKHISf60vbH1qtTpkb0YOyFb6mp0xd18UcUYbhgq+SO8srHxqv6nwEWZAe9Er7HxRDzMAjTlX/uzPptjt4p5NaMFwEVqBZGw7h/ip3RSdQmWsFwrgEkktlTfve7zBNmJhU82x30kZ5l4WKOZJf5zY5d3i7RdxzyAEd36EsIPl+nMZ0So/A==","X-MS-Exchange-Authentication-Results":"spf=fail (sender IP is 164.130.1.60)\n smtp.mailfrom=foss.st.com; dkim=none (message not signed)\n header.d=none;dmarc=fail action=none header.from=foss.st.com;","Received-SPF":"Fail (protection.outlook.com: domain of foss.st.com does not\n designate 164.130.1.60 as permitted sender) receiver=protection.outlook.com;\n client-ip=164.130.1.60; helo=smtpO365.st.com;","From":"=?utf-8?q?Torbj=C3=B6rn_SVENSSON?= <torbjorn.svensson@foss.st.com>","To":"<gcc-patches@gcc.gnu.org>, <dmalcolm@redhat.com>, <rguenther@suse.de>","CC":"=?utf-8?q?Torbj=C3=B6rn_SVENSSON?= <torbjorn.svensson@foss.st.com>","Subject":"[PATCH v2] analyzer: do not segfault when printing unknown impl\n location","Date":"Wed, 15 Apr 2026 19:31:10 +0200","Message-ID":"<20260415173801.963400-1-torbjorn.svensson@foss.st.com>","X-Mailer":"git-send-email 2.43.0","In-Reply-To":"<d08653e0ea4592ecc8bc0fbe4c630081b119429f.camel@redhat.com>","References":"<d08653e0ea4592ecc8bc0fbe4c630081b119429f.camel@redhat.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"8bit","X-Originating-IP":"[10.74.22.122]","X-ClientProxiedBy":"ENXCAS1NODE2.st.com (10.75.128.138) To STKDAG1NODE2.st.com\n (10.75.128.133)","X-EOPAttributedMessage":"0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"DU6PEPF0000A7E2:EE_|PA1PR10MB9410:EE_","X-MS-Office365-Filtering-Correlation-Id":"01ded070-390c-4b9c-0bbf-08de9b15c7cb","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"BCL:0;\n ARA:13230040|82310400026|42112799006|1800799024|36860700016|376014|56012099003|22082099003|18002099003;","X-Microsoft-Antispam-Message-Info":"\n e1jycvTpY5tn1PKcDl4/FVNwErJedXRQSYqr5K7Auo/cHmQRHDX8xEAxYJbJgPYXNimgM7+ywnwMUG3wlRo206y9JQMjkuBnfn+0CyK6v7eMnTA82VtrcXSFC2t2Pr/lIqecAHLAWnl46MVbS3XEuJgbFD1jp0mCe2N1tvTmoQVScKYl7KFUHpSm3oLuTWtutwYnkAQVXRGy8QKrL4hLq95ZLq0MdOatbC6PZB0BRy2hAKJqjNDk60YNBekH+mMbgMapzyqvrv5174Ol7oqRmP1UGB4zqz/4SDk6SAoqNa8TAQLcw8uwlNNO63zlWJVXZ/ZO5DNHHB+23a7FhXyVxKmifRjcusi6QCVwTu4YrOA95oZhDzj+lZyMHH6GsUheM9pWJghvLRZWiQKKf9o+7nzKqiyiPCkHI4eIw8pdi31NjHzew60iroY9uz5vNYuMxQMQfH69NmpZ9bCMAvheY4iZ2ojoyE3Z+OYgSaagjrAMI2rL+a1BEMV5rqSySFE67PsRGYjyyvijDhMLL6+6F8JhWhq70W9V09xKyZXnWeUIzYPJ7dePVrA157PXua6D1/5TRvtg5VaWZJNzQYOxyc+QLFcuDQaMWrKMlwxRMJ4+60XF8ILMXimlTk7404kexKwe5vA+BCOo8YDlNi/hcNZdOFAtYx79W6/R/lGAxvgS4GX0zKWQCEP6yeIQ7ltk0U2PEKHmt4qujSl4f3QDDmm1vyjbBnJrwVASmWS8uFFfO5KQxLUrDtrH7qdNnCJKjVkROdhZhZpYJ3hNTam3XQ==","X-Forefront-Antispam-Report":"CIP:164.130.1.60; CTRY:IT; LANG:en; SCL:1; SRV:;\n IPV:CAL; SFV:NSPM; H:smtpO365.st.com; PTR:InfoDomainNonexistent; CAT:NONE;\n SFS:(13230040)(82310400026)(42112799006)(1800799024)(36860700016)(376014)(56012099003)(22082099003)(18002099003);\n DIR:OUT; SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"\n 0zC6skG2SmZr1MqZNHkEEl4WruorS6fiQxa3+x7XrFGiLVqYlifvjeVTZjDespIELg0196OFCJ7j3vzrNBpCFBmgxdMz6aycMBi1NEhsUp/34aAqZPhTaljeQhVoXA1vxRczkYW/M6/4LE6Ofv5qvQUnSA9fVCMmR7bbTnQgeYHyW82UzMLmpGrLjNIt3oXHUXyVToik0odULpJ9Ec6e4Gk5Xr/+yEyG534qKXv7iCrtIf/4iv2R36DmmL+DyN1GUt7uzkicPWH72kl6insju951b+rxxewlMz7l9MVgQXykZ9wwwMC0VlxB73oG9cPaqFWX9N6GKhJgGYpkwOMHfE6OnEdW9u8qG7tjKJOJlz3TNQwVL4zTfYD0IrW93ao7eFXYGr+CojVqvYT5qATG68+rlurVJcvunMfp+EacHIc/m6NBgWf8gcDenVq26KQS","X-OriginatorOrg":"foss.st.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"15 Apr 2026 17:38:18.0585 (UTC)","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 01ded070-390c-4b9c-0bbf-08de9b15c7cb","X-MS-Exchange-CrossTenant-Id":"75e027c9-20d5-47d5-b82f-77d7cd041e8f","X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp":"\n TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f; Ip=[164.130.1.60];\n Helo=[smtpO365.st.com]","X-MS-Exchange-CrossTenant-AuthSource":"\n DU6PEPF0000A7E2.eurprd02.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Anonymous","X-MS-Exchange-CrossTenant-FromEntityHeader":"HybridOnPrem","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"PA1PR10MB9410","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":"Changes since v1:\n\n- Removed changes to dumpfile.h\n- If the char pointer is NULL, then print \"<unknown>\" instead.\n\nWith below patch, arm-none-eabi builds fine on macOS, Linux and cross-building for Windows on Linux.\nI've test the ice-pr124055-1.c and it no longer segfaults cc1 so I think the change is fine.\nCurrently re-running the full testsuite. Is this ok for trunk if there are no regressions?\n\nKind regards,\nTorbjörn\n\n--\n\nWhen dump_impl_location_t::m_function or dump_impl_location_t::m_file is NULL,\nthen GCC segfaults when attempting to print the location.\n\n$ ./bin/arm-none-eabi-gcc ../ice-pr124055-1.c -fanalyzer -Wanalyzer-too-complex -Wanalyzer-symbol-too-complex -O -fdump-analyzer -frounding-math -S -o /dev/null -wrapper lldb,--\n(lldb) target create \"/build/r16-8473-g5cc0ead3625fe6/bin/../lib/gcc/arm-none-eabi/16.0.1/cc1\"\n...\n(lldb) r\nProcess 31748 launched: '/build/r16-8473-g5cc0ead3625fe6/lib/gcc/arm-none-eabi/16.0.1/cc1' (arm64)\nProcess 31748 stopped\n* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)\n    frame #0: 0x000000018ae7ea44 libsystem_platform.dylib`_platform_strlen + 4\nlibsystem_platform.dylib`_platform_strlen:\n->  0x18ae7ea44 <+4>:  ldr    q0, [x1]\n    0x18ae7ea48 <+8>:  adr    x3, 0x18ae7e980 ; ___lldb_unnamed_symbol320\n    0x18ae7ea4c <+12>: ldr    q2, [x3], #0x10\n    0x18ae7ea50 <+16>: and    x2, x0, #0xf\nTarget 0: (cc1) stopped.\n(lldb) bt\n* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)\n  * frame #0: 0x000000018ae7ea44 libsystem_platform.dylib`_platform_strlen + 4\n    frame #1: 0x0000000101223d68 cc1`pp_quoted_string(pretty_printer*, char const*, unsigned long) + 244\n    frame #2: 0x0000000101220628 cc1`pretty_printer::format(text_info&) + 2772\n    frame #3: 0x0000000101108b8c cc1`ana::logger::log_va(char const*, char**) + 100\n    frame #4: 0x0000000101108970 cc1`ana::logger::log(char const*, ...) + 28\n    frame #5: 0x0000000101129da4 cc1`ana::impl_region_model_context::on_unexpected_tree_code(tree_node*, dump_location_t const&) + 80\n    frame #6: 0x0000000101174d3c cc1`ana::region_model_manager::get_region_for_unexpected_tree_code(ana::region_model_context*, tree_node*, dump_location_t const&) + 184\n...\n\nThis happens when GCC is built with GCC <4.8 or with another toolchain,\nlike LLVM. Seen on macOS with clang-1600.0.26.6.\n\ngcc/analyzer/ChangeLog:\n\n\t* engine.cc (impl_region_model_context::on_unexpected_tree_code): Print\n\t\"<unknown>\" when m_file or m_function is NULL.\n\nSigned-off-by: Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>\n---\n gcc/analyzer/engine.cc | 14 +++++++++-----\n 1 file changed, 9 insertions(+), 5 deletions(-)","diff":"diff --git a/gcc/analyzer/engine.cc b/gcc/analyzer/engine.cc\nindex a4d870bd3d2..a5ab173ca16 100644\n--- a/gcc/analyzer/engine.cc\n+++ b/gcc/analyzer/engine.cc\n@@ -904,11 +904,15 @@ impl_region_model_context::on_unexpected_tree_code (tree t,\n {\n   logger * const logger = get_logger ();\n   if (logger)\n-    logger->log (\"unhandled tree code: %qs in %qs at %s:%i\",\n-\t\t get_tree_code_name (TREE_CODE (t)),\n-\t\t loc.get_impl_location ().m_function,\n-\t\t loc.get_impl_location ().m_file,\n-\t\t loc.get_impl_location ().m_line);\n+    {\n+      const dump_impl_location_t &impl_loc = loc.get_impl_location ();\n+      const char *unknown = \"<unknown>\";\n+      logger->log (\"unhandled tree code: %qs in %qs at %s:%i\",\n+\t\t   get_tree_code_name (TREE_CODE (t)),\n+\t\t   impl_loc.m_function ? impl_loc.m_function : unknown,\n+\t\t   impl_loc.m_file ? impl_loc.m_file : unknown,\n+\t\t   impl_loc.m_line);\n+    }\n   if (m_new_state)\n     m_new_state->m_valid = false;\n }\n","prefixes":["v2"]}