This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/22019] [4.1 Regression] do_structure_copy ICE on Ada gnatlib


------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]