https://gcc.gnu.org/g:409de30d89310ea6ec24b480528c75cb74f8ef85

commit r15-4165-g409de30d89310ea6ec24b480528c75cb74f8ef85
Author: Eric Botcazou <ebotca...@adacore.com>
Date:   Tue Sep 10 15:02:19 2024 +0200

    ada: Remove -gnateE information message for noncontiguous enumeration type
    
    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.

Diff:
---
 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 ebcf2cdf8fe3..a073b2d94f1c 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

Reply via email to