From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1285) id 76C753858435; Tue, 25 Oct 2022 10:24:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 76C753858435 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1666693473; bh=Ag6fBfw7cAf3cS8kjmx20sjqtfxHd3fzCqkGVEv80ps=; h=From:To:Subject:Date:From; b=mYvwrie41n5vM8Gdtmn0dtZw+6BMR++WAfaZt78XNPRtsOCigsP+E+DEgOool7SLJ lhg0VuPovFHI6GUn9gfrsY0v4ivrKx476TjRVrw/5T3pNWexhkjvz3G4Q4EejXeAYx EFZq2MUuXz8HOW4vI5QfGPb8pCl+KhPSV13h54f8= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Eric Botcazou To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-3485] Relax assertion in profiler X-Act-Checkin: gcc X-Git-Author: Eric Botcazou X-Git-Refname: refs/heads/master X-Git-Oldrev: 3ee675724cb27eb2e8cfd82f6e234edc4a63f6be X-Git-Newrev: cb21297f9259ceedd5f5dd7c3973535f14124d6d Message-Id: <20221025102433.76C753858435@sourceware.org> Date: Tue, 25 Oct 2022 10:24:33 +0000 (GMT) List-Id: https://gcc.gnu.org/g:cb21297f9259ceedd5f5dd7c3973535f14124d6d commit r13-3485-gcb21297f9259ceedd5f5dd7c3973535f14124d6d Author: Eric Botcazou Date: Tue Oct 25 12:20:33 2022 +0200 Relax assertion in profiler This assertion in branch_prob: if (bb == ENTRY_BLOCK_PTR_FOR_FN (cfun)->next_bb) { location_t loc = DECL_SOURCE_LOCATION (current_function_decl); gcc_checking_assert (!RESERVED_LOCATION_P (loc)); had been correct until the fix for PR debug/101598 was installed. gcc/ * profile.cc (branch_prob): Be prepared for ignored functions with DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION. gcc/testsuite: * gnat.dg/specs/coverage1.ads: New test. * gnat.dg/specs/variant_part.ads: Minor tweak. * gnat.dg/specs/weak1.ads: Add dg directive. Diff: --- gcc/profile.cc | 12 +++++++----- gcc/testsuite/gnat.dg/specs/coverage1.ads | 10 ++++++++++ gcc/testsuite/gnat.dg/specs/variant_part.ads | 1 + gcc/testsuite/gnat.dg/specs/weak1.ads | 2 ++ 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/gcc/profile.cc b/gcc/profile.cc index 96121d60711..1527a04124f 100644 --- a/gcc/profile.cc +++ b/gcc/profile.cc @@ -1457,11 +1457,13 @@ branch_prob (bool thunk) if (bb == ENTRY_BLOCK_PTR_FOR_FN (cfun)->next_bb) { location_t loc = DECL_SOURCE_LOCATION (current_function_decl); - gcc_checking_assert (!RESERVED_LOCATION_P (loc)); - seen_locations.add (loc); - expanded_location curr_location = expand_location (loc); - output_location (&streamed_locations, curr_location.file, - MAX (1, curr_location.line), &offset, bb); + if (!RESERVED_LOCATION_P (loc)) + { + seen_locations.add (loc); + expanded_location curr_location = expand_location (loc); + output_location (&streamed_locations, curr_location.file, + MAX (1, curr_location.line), &offset, bb); + } } for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi)) diff --git a/gcc/testsuite/gnat.dg/specs/coverage1.ads b/gcc/testsuite/gnat.dg/specs/coverage1.ads new file mode 100644 index 00000000000..af7b61ce4e6 --- /dev/null +++ b/gcc/testsuite/gnat.dg/specs/coverage1.ads @@ -0,0 +1,10 @@ +-- { dg-do compile } +-- { dg-options "-ftest-coverage" } + +package Coverage1 is + + type Rec is record + I : Integer := 0; + end record; + +end Coverage1; diff --git a/gcc/testsuite/gnat.dg/specs/variant_part.ads b/gcc/testsuite/gnat.dg/specs/variant_part.ads index afc92cde5d7..72da4108588 100644 --- a/gcc/testsuite/gnat.dg/specs/variant_part.ads +++ b/gcc/testsuite/gnat.dg/specs/variant_part.ads @@ -1,4 +1,5 @@ -- { dg-do compile } + package Variant_Part is type T1(b: boolean) is record case (b) is -- { dg-error "discriminant name may not be parenthesized" } diff --git a/gcc/testsuite/gnat.dg/specs/weak1.ads b/gcc/testsuite/gnat.dg/specs/weak1.ads index 82cddc09ac2..ece05ea68a7 100644 --- a/gcc/testsuite/gnat.dg/specs/weak1.ads +++ b/gcc/testsuite/gnat.dg/specs/weak1.ads @@ -1,3 +1,5 @@ +-- { dg-do compile } + package Weak1 is Myconst : constant Integer := 1234;