[Bug ada/20300] New: ICE on undefined value of type derived from Character

fw at deneb dot enyo dot de gcc-bugzilla@gcc.gnu.org
Thu Mar 3 13:35:00 GMT 2005


The following program results in an ICE:

procedure Undefined_Derived_Char is

   type Char is new Character;
   C : Char;

begin
   case C is
      when XXX =>
         null;
      when others =>
         null;
   end case;
end Undefined_Derived_Char;

It seems that the checks in Sem_Ch8.Find_Direct_Name.Undefined should take into
account that Case_Typ can be a type derived from one of the character types:

               if Is_Enumeration_Type (Case_Typ)
                 and then Case_Typ /= Standard_Character
                 and then Case_Typ /= Standard_Wide_Character
                 and then Case_Typ /= Standard_Wide_Wide_Character
               then

Maybe Is_Enumeration_Type (Case_Typ) and not Is_Character_Type (Case_Typ) is the
correct test?

-- 
           Summary: ICE on undefined value of type derived from Character
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: fw at deneb dot enyo dot de
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20300



More information about the Gcc-bugs mailing list