This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/22019] [4.1 Regression] do_structure_copy ICE on Ada gnatlib
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Jun 2005 04:27:45 -0000
- Subject: [Bug tree-optimization/22019] [4.1 Regression] do_structure_copy ICE on Ada gnatlib
- References: <20050611183034.22019.laurent@guerby.net>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-06-14 04:27 -------
This is the smallest testcase I can get it:
WITH REPORT; USE REPORT;
PROCEDURE C37213J IS
BEGIN
DECLARE
SUBTYPE SM IS INTEGER RANGE 1..10;
TYPE REC (D1, D2 : SM) IS
RECORD NULL; END RECORD;
TYPE MY_ARR IS ARRAY (SM RANGE <>) OF INTEGER;
GENERIC TYPE CONS IS PRIVATE;
PROCEDURE SUBTYP_CHK (OBJ_XCP : BOOLEAN;
TAG : STRING);
PROCEDURE SUBTYP_CHK (OBJ_XCP : BOOLEAN;
TAG : STRING) IS
SUBTYPE SCONS IS CONS;
X : SCONS;
FUNCTION VALUE RETURN SCONS IS
BEGIN
RETURN X;
END VALUE;
BEGIN
IF X /= VALUE THEN
FAILED ("");
END IF;
END SUBTYP_CHK;
TYPE VAR_REC_DEF1 (D3 : INTEGER := 1) IS
RECORD
CASE D3 IS
WHEN 1 =>
C1 : REC (D3, IDENT_INT(11));
WHEN OTHERS =>
C2 : INTEGER := IDENT_INT(5);
END CASE;
END RECORD;
PROCEDURE PROC3 IS NEW SUBTYP_CHK (VAR_REC_DEF1);
BEGIN
PROC3 (OBJ_XCP => TRUE, TAG => "PROC3");
END;
END C37213J;
Note the use of case.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22019