From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) by sourceware.org (Postfix) with ESMTPS id E3D2F384FDFF for ; Tue, 30 May 2023 07:21:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E3D2F384FDFF Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=adacore.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=adacore.com Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-3f6d7abe9a4so27231435e9.2 for ; Tue, 30 May 2023 00:21:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adacore.com; s=google; t=1685431276; x=1688023276; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=K+riWEE4YrqnjpIgVLDSdYfHzMzf5uX+jMN2LevsrBA=; b=fPthryN5FXMIGBhbAl5g98Nvi9E/WW+zcGsqlw4krIlwMM+01/D0E8lpZGzthii89O PDeCya8HvM6BxcRrgGJTouujOvd2ZZZecOBf8sj2DoXrbWtmjUddLQLjF1rOjV0vF+jT Viub7Pkbcu9EHShxEGAtK1Ry7hHeLxS8QzwwNiUWGPuRryIMT9iW4S1yo+HhXFbf3PWX MCXAIpo2jKKdorAt4hNtkiQBYMmNHxbJ+vLvLfcuzL5q+jXN004N+1DScbY8yFC6OLqB PQ88BbakW/C5LnmsHc4+3o5Ojc/BPGN8SdlrRH+uHciRP/58VDaigwWElkld580A4VSm gN5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685431276; x=1688023276; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=K+riWEE4YrqnjpIgVLDSdYfHzMzf5uX+jMN2LevsrBA=; b=bFDVHovldBaGa5M8vICGI/nd4yejZx3kbR2SKbkBoAT8ITz2RirUVW2L5CiOuoZB5p SeNduAX3EIiftvnfwt9sscFUrQsw47wgNiSBelC9G1MOkxd+hxw1E0hz1s1vZedHqV46 jZjV59KtRPWO9o04FxN/R91e5WeSt5KKBv/SZJvv3Bih4FuwqShOpnMkpwik3CUxeq8d IolMODeKaZgKeJAOw/uuQlUq4YMakBX2gLKfDkK3Y07D7VNrpeo3FGWrvYltWtNcyeUz Uw8rmpiA6q6cPJ55obhxLSi0naVegA32VsHJPKSg4/gfE9Y+eRCUWU0aMnCzBJ7hRmPV RH0g== X-Gm-Message-State: AC+VfDxrMcsJYVPnIjYU+IUpW108/gpMjgL33l6X6THJ8/pUR/Ucvubd MP680V+ItqBSw7IR0IVUKbJFEMM4vNC+NuIDWFSTZA== X-Google-Smtp-Source: ACHHUZ6lKO9UWhchcOCdsUL1PCpo2Su2O6W+xMVBmZdKaibsZTVoJ7oUVs92rONBt842if7VukmZag== X-Received: by 2002:a1c:7911:0:b0:3f6:e79:3a7b with SMTP id l17-20020a1c7911000000b003f60e793a7bmr872745wme.19.1685431276838; Tue, 30 May 2023 00:21:16 -0700 (PDT) Received: from localhost.localdomain ([2001:861:3382:1a90:7733:a608:a415:6b2a]) by smtp.gmail.com with ESMTPSA id u9-20020a05600c00c900b003f182a10106sm16628280wmm.8.2023.05.30.00.21.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 May 2023 00:21:16 -0700 (PDT) From: =?UTF-8?q?Marc=20Poulhi=C3=A8s?= To: gcc-patches@gcc.gnu.org Cc: Eric Botcazou Subject: [COMMITTED] ada: Make internal_error_function more robust Date: Tue, 30 May 2023 09:21:15 +0200 Message-Id: <20230530072115.2500614-1-poulhies@adacore.com> X-Mailer: git-send-email 2.40.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-13.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: From: Eric Botcazou gcc/ada/ * gcc-interface/misc.cc (internal_error_function): Be prepared for an input_location set to UNKNOWN_LOCATION. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/gcc-interface/misc.cc | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/gcc/ada/gcc-interface/misc.cc b/gcc/ada/gcc-interface/misc.cc index 56c7bb9b533..30319ae58b1 100644 --- a/gcc/ada/gcc-interface/misc.cc +++ b/gcc/ada/gcc-interface/misc.cc @@ -330,13 +330,23 @@ internal_error_function (diagnostic_context *context, const char *msgid, sp.Bounds = &temp; sp.Array = buffer; - xloc = expand_location (input_location); - if (context->show_column && xloc.column != 0) - loc = xasprintf ("%s:%d:%d", xloc.file, xloc.line, xloc.column); + if (input_location == UNKNOWN_LOCATION) + { + loc = NULL; + temp_loc.Low_Bound = 1; + temp_loc.High_Bound = 0; + } else - loc = xasprintf ("%s:%d", xloc.file, xloc.line); - temp_loc.Low_Bound = 1; - temp_loc.High_Bound = strlen (loc); + { + xloc = expand_location (input_location); + if (context->show_column && xloc.column != 0) + loc = xasprintf ("%s:%d:%d", xloc.file, xloc.line, xloc.column); + else + loc = xasprintf ("%s:%d", xloc.file, xloc.line); + temp_loc.Low_Bound = 1; + temp_loc.High_Bound = strlen (loc); + } + sp_loc.Bounds = &temp_loc; sp_loc.Array = loc; -- 2.40.0