https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121968
Bug ID: 121968 Summary: Inconsistent bug box from use clause in generic package parameter part Product: gcc Version: 15.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ada Assignee: unassigned at gcc dot gnu.org Reporter: liam at liampwll dot com CC: dkm at gcc dot gnu.org Target Milestone: --- I'm getting a bug box from 15.2.1 that appears to be caused by a use clause in a generic package parameter part. However, this only occurs on one specific package and I've been unable to get it to appear in a small program so I have included a full Alire project that triggers the bug. This may be built with: PRUNT_SKIP_PRE_BUILD=true alr build The bug box is below: +===========================GNAT BUG DETECTED==============================+ | 15.2.0 (x86_64-pc-linux-gnu) Program_Error sem_util.adb:6650 explicit raise| | Error detected at prunt-controller.ads:286:4 | | Compiling /home/liam/Downloads/prunt/src/prunt-controller-gcode_handler.adb| | Please submit a bug report; see https://gcc.gnu.org/bugs/ . | | Use a subject line meaningful to you and us to track the bug. | | Include the entire contents of this bug box in the report. | | Include the exact command that you entered. | | Also include sources listed below. | +==========================================================================+ The diff that fixes the issue for this particular program is below: 1 file changed, 7 insertions(+), 7 deletions(-) src/prunt-step_generator-generator.ads | 14 +++++++------- modified src/prunt-step_generator-generator.ads @@ -25,7 +25,6 @@ with Prunt.Input_Shapers; generic with package Planner is new Motion_Planner.Planner (<>); - use Planner; type Stepper_Name is (<>); @@ -33,22 +32,22 @@ generic with procedure Start_Planner_Block - (Resetting_Data : Flush_Resetting_Data_Type; - Persistent_Data : Block_Persistent_Data_Type; + (Resetting_Data : Planner.Flush_Resetting_Data_Type; + Persistent_Data : Planner.Block_Persistent_Data_Type; Last_Command_Index : Command_Index); with procedure Enqueue_Command (Pos : Position; Stepper_Pos : Stepper_Position; - Data : Corner_Extra_Data_Type; + Data : Planner.Corner_Extra_Data_Type; Index : Command_Index; Loop_Until_Hit : Boolean; Safe_Stop_After : Boolean; Vel_Ratio : Dimensionless); with procedure Finish_Planner_Block - (Resetting_Data : Flush_Resetting_Data_Type; - Persistent_Data : Block_Persistent_Data_Type; + (Resetting_Data : Planner.Flush_Resetting_Data_Type; + Persistent_Data : Planner.Block_Persistent_Data_Type; Next_Block_Pos : Stepper_Position; First_Accel_Distance : Length; Last_Command_Index : Command_Index); @@ -58,7 +57,7 @@ generic with function Get_Axial_Shaper_Parameters - (Data : Block_Persistent_Data_Type) return Input_Shapers.Axial_Shaper_Parameters; + (Data : Planner.Block_Persistent_Data_Type) return Input_Shapers.Axial_Shaper_Parameters; with procedure Report_Loop_Move_Offset (Index : Command_Index; Distance_Delta : Position_Offset); @@ -67,6 +66,7 @@ generic Runner_CPU : System.Multiprocessors.CPU_Range; package Prunt.Step_Generator.Generator is + use Planner; type Stepper_Pos_Map is array (Axis_Name, Stepper_Name) of Length;