From: Eric Botcazou <ebotca...@adacore.com> It is very confusing for the user because it does not make any reference to the source code but only to details of the underlying implementation.
gcc/ada/ChangeLog: * gcc-interface/trans.cc (Raise_Error_to_gnu) <CE_Invalid_Data>: Do not the generate range information if the value is a call to a Rep_To_Pos function. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/gcc-interface/trans.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gcc/ada/gcc-interface/trans.cc b/gcc/ada/gcc-interface/trans.cc index ebcf2cdf8fe..a073b2d94f1 100644 --- a/gcc/ada/gcc-interface/trans.cc +++ b/gcc/ada/gcc-interface/trans.cc @@ -6124,7 +6124,12 @@ Raise_Error_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p) gnu_index = convert (gnu_type, gnu_index); } + /* Do not print the range information for an enumeration type with + holes since it is meaningless. */ if (with_extra_info + && !(Nkind (gnat_index) == N_Function_Call + && Is_Entity_Name (Name (gnat_index)) + && Is_Rep_To_Pos (Entity (Name (gnat_index)))) && Known_Esize (gnat_type) && UI_To_Int (Esize (gnat_type)) <= 32) gnu_result -- 2.43.0