aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/ada/acats/tests/c2
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/ada/acats/tests/c2')
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23001a.ada64
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23003a.tst104
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23003b.tst103
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23003g.tst129
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23003i.tst71
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006a.ada48
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006b.ada63
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006c.ada75
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006d.ada74
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006e.ada95
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006f.ada57
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006g.ada86
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24002d.ada85
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24003a.ada61
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24003b.ada77
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24003c.ada79
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24106a.ada63
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24202d.ada73
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24203a.ada110
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24203b.ada113
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24207a.ada65
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24211a.ada87
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c250001.aw167
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c250002.aw213
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c25001a.ada211
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c25001b.ada160
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c26006a.ada53
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c26008a.ada51
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a001a.ada60
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a001b.ada59
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a001c.ada63
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a002a.ada111
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a008a.ada66
-rw-r--r--gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a021b.ada44
34 files changed, 3040 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23001a.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23001a.ada
new file mode 100644
index 000000000..55fa97ce9
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23001a.ada
@@ -0,0 +1,64 @@
+-- C23001A.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT UPPER AND LOWER CASE LETTERS ARE EQUIVALENT IN IDENTIFIERS
+-- (INCLUDING RESERVED WORDS).
+
+-- JRK 12/12/79
+-- JWC 6/28/85 RENAMED TO -AB
+
+WITH REPORT;
+PROCEDURE C23001A IS
+
+ USE REPORT;
+
+ AN_IDENTIFIER : INTEGER := 1;
+
+BEGIN
+ TEST ("C23001A", "UPPER/LOWER CASE EQUIVALENCE IN IDENTIFIERS");
+
+ DECLARE
+ an_identifier : INTEGER := 3;
+ BEGIN
+ IF an_identifier /= AN_IDENTIFIER THEN
+ FAILED ("LOWER CASE NOT EQUIVALENT TO UPPER " &
+ "IN DECLARABLE IDENTIFIERS");
+ END IF;
+ END;
+
+ IF An_IdEnTIfieR /= AN_IDENTIFIER THEN
+ FAILED ("MIXED CASE NOT EQUIVALENT TO UPPER IN " &
+ "DECLARABLE IDENTIFIERS");
+ END IF;
+
+ if AN_IDENTIFIER = 1 ThEn
+ AN_IDENTIFIER := 2;
+ END IF;
+ IF AN_IDENTIFIER /= 2 THEN
+ FAILED ("LOWER AND/OR MIXED CASE NOT EQUIVALENT TO " &
+ "UPPER IN RESERVED WORDS");
+ END IF;
+
+ RESULT;
+END C23001A;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23003a.tst b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23003a.tst
new file mode 100644
index 000000000..26fe9577c
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23003a.tst
@@ -0,0 +1,104 @@
+-- C23003A.TST
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT VARIABLE IDENTIFIERS CAN BE AS LONG AS THE MAXIMUM LENGTH
+-- IDENTIFIER PERMITTED AND THAT ALL CHARACTERS ARE SIGNIFICANT.
+
+-- JRK 12/12/79
+-- JRK 1/11/80
+-- JWC 6/28/85 RENAMED TO -AB
+-- KAS 12/04/95 CHANGED "INPUT LINE LENGTH" TO "LENGTH IDENTIFIER"
+
+WITH REPORT;
+PROCEDURE C23003A IS
+
+ USE REPORT;
+
+BEGIN
+ TEST ("C23003A", "MAXIMUM LENGTH VARIABLE IDENTIFIERS");
+
+ -- BIG_ID1 AND BIG_ID2 ARE TWO MAXIMUM LENGTH IDENTIFIERS THAT
+ -- DIFFER ONLY IN THEIR LAST CHARACTER.
+
+ DECLARE
+$BIG_ID1
+ -- BIG_ID1
+ : INTEGER := 1;
+ BEGIN
+ DECLARE
+$BIG_ID2
+ -- BIG_ID2
+ : INTEGER := 2;
+ BEGIN
+
+ IF
+$BIG_ID1
+ -- BIG_ID1
+ +
+$BIG_ID2
+ -- BIG_ID2
+ /= 3 THEN
+ FAILED ("IDENTIFIERS AS LONG AS " &
+ "MAXIMUM INPUT LINE LENGTH " &
+ "NOT PERMITTED OR NOT " &
+ "DISTINGUISHED BY DISTINCT " &
+ "SUFFIXES");
+ END IF;
+
+ END;
+ END;
+
+ -- BIG_ID3 AND BIG_ID4 ARE TWO MAXIMUM LENGTH IDENTIFIERS THAT
+ -- DIFFER ONLY IN THEIR MIDDLE CHARACTER.
+
+ DECLARE
+$BIG_ID3
+ -- BIG_ID3
+ : INTEGER := 3;
+ BEGIN
+ DECLARE
+$BIG_ID4
+ -- BIG_ID4
+ : INTEGER := 4;
+ BEGIN
+
+ IF
+$BIG_ID3
+ -- BIG_ID3
+ +
+$BIG_ID4
+ -- BIG_ID4
+ /= 7 THEN
+ FAILED ("IDENTIFIERS AS LONG AS " &
+ "MAXIMUM INPUT LINE LENGTH " &
+ "NOT PERMITTED OR NOT " &
+ "DISTINGUISHED BY DISTINCT " &
+ "MIDDLES");
+ END IF;
+
+ END;
+ END;
+
+ RESULT;
+END C23003A;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23003b.tst b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23003b.tst
new file mode 100644
index 000000000..00249b68d
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23003b.tst
@@ -0,0 +1,103 @@
+-- C23003B.TST
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+--
+-- CHECK THAT THE NAME OF A LIBRARY UNIT PACKAGE AND THE NAME OF A LIBRARY
+-- SUBPROGRAM CAN BE AS LONG AS THE LONGEST IDENTIFIER ALLOWED BY
+-- AN IMPLEMENTATION.
+
+-- JBG 5/26/85
+-- DTN 3/25/92 CONSOLIDATION OF C23003B.TST AND C23003C.TST.
+-- KAS 11/04/95 CHANGE "LINE" TO "IDENTIFIER"
+
+PACKAGE
+$BIG_ID1
+IS
+ A : INTEGER := 1;
+END
+$BIG_ID1
+;
+PACKAGE
+$BIG_ID2
+IS
+ B : INTEGER := 2;
+END
+$BIG_ID2
+;
+
+PROCEDURE
+$BIG_ID3
+ (X : OUT INTEGER) IS
+BEGIN
+ X := 1;
+END
+$BIG_ID3
+;
+PROCEDURE
+$BIG_ID4
+ (X : OUT INTEGER) IS
+BEGIN
+ X := 2;
+END
+$BIG_ID4
+;
+
+WITH
+$BIG_ID1
+,
+$BIG_ID2
+,
+$BIG_ID3
+,
+$BIG_ID4
+;
+USE
+$BIG_ID1
+,
+$BIG_ID2
+;
+
+WITH REPORT; USE REPORT;
+PROCEDURE C23003B IS
+ X1, X2 : INTEGER := 0;
+BEGIN
+ TEST ("C23003B", "CHECK LONGEST POSSIBLE IDENTIFIER CAN BE USED " &
+ "FOR LIBRARY PACKAGE AND SUBPROGRAM");
+
+ IF A + IDENT_INT(1) /= B THEN
+ FAILED ("INCORRECT PACKAGE IDENTIFICATION");
+ END IF;
+
+
+$BIG_ID3
+ (X1);
+$BIG_ID4
+ (X2);
+
+ IF X1 + IDENT_INT(1) /= X2 THEN
+ FAILED ("INCORRECT PROCEDURE IDENTIFICATION");
+ END IF;
+
+ RESULT;
+END C23003B;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23003g.tst b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23003g.tst
new file mode 100644
index 000000000..5769937ad
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23003g.tst
@@ -0,0 +1,129 @@
+-- C23003G.TST
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT THE NAME OF A GENERIC LIBRARY UNIT PACKAGE AND THE NAME
+-- OF A GENERIC LIBRARY UNIT SUBPROGRAM CAN BE AS LONG
+
+-- JBG 5/26/85
+-- DTN 3/25/92 CONSOLIDATION OF C23003G.TST AND C23003H.TST.
+-- KAS 12/4/95 CHANGE "LINE" TO "IDENTIFIER"
+
+GENERIC
+PACKAGE
+$BIG_ID1
+IS
+ A : INTEGER := 1;
+END
+$BIG_ID1
+;
+GENERIC
+PACKAGE
+$BIG_ID2
+IS
+ B : INTEGER := 2;
+END
+$BIG_ID2
+;
+
+GENERIC
+FUNCTION
+$BIG_ID3
+RETURN INTEGER;
+
+FUNCTION
+$BIG_ID3
+RETURN INTEGER IS
+BEGIN
+ RETURN 3;
+END
+$BIG_ID3
+;
+
+GENERIC
+FUNCTION
+$BIG_ID4
+RETURN INTEGER;
+
+WITH REPORT; USE REPORT;
+PRAGMA ELABORATE (REPORT);
+FUNCTION
+$BIG_ID4
+RETURN INTEGER IS
+BEGIN
+ RETURN IDENT_INT(4);
+END
+$BIG_ID4
+;
+
+WITH
+$BIG_ID3
+;
+PRAGMA ELABORATE (
+$BIG_ID3
+);
+FUNCTION F1 IS NEW
+$BIG_ID3
+;
+
+WITH
+$BIG_ID1
+;
+PRAGMA ELABORATE (
+$BIG_ID1
+);
+PACKAGE C23003G_PKG IS NEW
+$BIG_ID1
+;
+WITH C23003G_PKG, F1,
+$BIG_ID2
+,
+$BIG_ID4
+;
+USE C23003G_PKG;
+WITH REPORT; USE REPORT;
+PROCEDURE C23003G IS
+
+ PACKAGE P2 IS NEW
+$BIG_ID2
+;
+ USE P2;
+ FUNCTION F2 IS NEW
+$BIG_ID4
+;
+
+BEGIN
+ TEST ("C23003G", "CHECK LONGEST POSSIBLE IDENTIFIER CAN BE USED " &
+ "FOR GENERIC LIBRARY PACKAGE AND SUBPROGRAM");
+
+ IF A + IDENT_INT(1) /= B THEN
+ FAILED ("INCORRECT PACKAGE IDENTIFICATION");
+ END IF;
+
+
+ IF F1 + IDENT_INT(1) /= F2 THEN
+ FAILED ("INCORRECT FUNCTION IDENTIFICATION");
+ END IF;
+
+ RESULT;
+END C23003G;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23003i.tst b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23003i.tst
new file mode 100644
index 000000000..7439cf356
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23003i.tst
@@ -0,0 +1,71 @@
+-- C23003I.TST
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT THE LONGEST POSSIBLE IDENTIFIER CAN BE THE NAME OF A
+-- LIBRARY PACKAGE CREATED BY A GENERIC INSTANTIATION.
+
+-- JBG 5/26/85
+-- DTN 3/25/92 DELETED TEST OF TWO MAXIMUM LENGTH PACKAGE NAMES THAT
+-- DIFFER ONLY IN THEIR MIDDLE CHARACTER.
+
+GENERIC
+ C : INTEGER;
+PACKAGE C23003I_PKG IS
+ A : INTEGER := C;
+END C23003I_PKG;
+
+WITH C23003I_PKG;
+PRAGMA ELABORATE (C23003I_PKG);
+PACKAGE
+$BIG_ID1
+ IS NEW C23003I_PKG (1);
+
+WITH REPORT; USE REPORT;
+WITH C23003I_PKG;
+PRAGMA ELABORATE (REPORT, C23003I_PKG);
+PACKAGE
+$BIG_ID2
+ IS NEW C23003I_PKG (IDENT_INT(2));
+
+WITH
+$BIG_ID1
+,
+$BIG_ID2
+;
+WITH REPORT; USE REPORT;
+PROCEDURE C23003I IS
+BEGIN
+ TEST ("C23003I", "CHECK THAT LONGEST POSSIBLE IDENTIFIER CAN BE " &
+ "USED FOR A LIBRARY PACKAGE INSTANTIATION");
+
+ IF
+$BIG_ID1
+ .A + IDENT_INT(1) /=
+$BIG_ID2
+ .A THEN
+ FAILED ("INCORRECT PACKAGE IDENTIFICATION");
+ END IF;
+
+ RESULT;
+END C23003I;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006a.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006a.ada
new file mode 100644
index 000000000..bad6b4e3a
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006a.ada
@@ -0,0 +1,48 @@
+-- C23006A.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT UNDERSCORES ARE SIGNIFICANT IN IDENTIFIERS.
+
+-- JRK 12/12/79
+-- JBG 5/25/85
+
+WITH REPORT; USE REPORT;
+PROCEDURE C23006A IS
+
+ AN_IDENTIFIER : INTEGER := 1;
+
+BEGIN
+ TEST ("C23006A", "UNDERSCORES ARE SIGNFICANT IN IDENTIFERS");
+
+ DECLARE
+ ANIDENTIFIER : INTEGER := 3;
+ BEGIN
+ IF ANIDENTIFIER = AN_IDENTIFIER THEN
+ FAILED ("UNDERSCORE IGNORED " &
+ "IN DECLARABLE IDENTIFIERS");
+ END IF;
+ END;
+
+ RESULT;
+END C23006A;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006b.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006b.ada
new file mode 100644
index 000000000..61ecb77b2
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006b.ada
@@ -0,0 +1,63 @@
+-- C23006B.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT UNDERSCORES ARE SIGNIFICANT IN LIBRARY PACKAGE IDENTIFIERS
+
+-- JBG 5/26/85
+-- PWN 5/25/94 ADDED A PROCEDURE TO KEEP PACKAGE BODIES LEGAL.
+
+PACKAGE C23006B_PKG IS
+ A : INTEGER := 1;
+END C23006B_PKG;
+
+PACKAGE C23006BPKG IS
+ D : INTEGER := 4;
+ PROCEDURE REQUIRE_BODY;
+END C23006BPKG;
+
+WITH REPORT; USE REPORT;
+PRAGMA ELABORATE (REPORT);
+PACKAGE BODY C23006BPKG IS
+ PROCEDURE REQUIRE_BODY IS
+ BEGIN
+ NULL;
+ END;
+BEGIN
+ D := IDENT_INT (5);
+END C23006BPKG;
+
+WITH C23006BPKG, C23006B_PKG;
+USE C23006BPKG, C23006B_PKG;
+WITH REPORT; USE REPORT;
+PROCEDURE C23006B IS
+BEGIN
+ TEST ("C23006B", "CHECK UNDERSCORES ARE SIGNIFICANT " &
+ "FOR LIBRARY PACKAGE IDENTIFIERS");
+
+ IF A + IDENT_INT(4) /= D THEN
+ FAILED ("INCORRECT PACKAGE IDENTIFICATION");
+ END IF;
+
+ RESULT;
+END C23006B;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006c.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006c.ada
new file mode 100644
index 000000000..ddfe5a672
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006c.ada
@@ -0,0 +1,75 @@
+-- C23006C.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT UNDERSCORES ARE SIGNFICANT IN NAMES OF LIBRARY
+-- SUBPROGRAMS.
+
+-- JBG 5/26/85
+
+PROCEDURE C23006C_PROC (X : OUT INTEGER) IS
+BEGIN
+ X := 1;
+END C23006C_PROC;
+
+PROCEDURE C23006CPROC (X : OUT INTEGER);
+
+PROCEDURE C23006CPROC (X : OUT INTEGER) IS
+BEGIN
+ X := 2;
+END C23006CPROC;
+
+FUNCTION C23006C_FUNC RETURN INTEGER IS
+BEGIN
+ RETURN 3;
+END C23006C_FUNC;
+
+FUNCTION C23006CFUNC RETURN INTEGER;
+
+WITH REPORT; USE REPORT;
+PRAGMA ELABORATE (REPORT);
+FUNCTION C23006CFUNC RETURN INTEGER IS
+BEGIN
+ RETURN IDENT_INT(4);
+END C23006CFUNC;
+
+WITH C23006C_PROC, C23006CPROC, C23006C_FUNC, C23006CFUNC;
+WITH REPORT; USE REPORT;
+PROCEDURE C23006C IS
+ X1, X2 : INTEGER;
+BEGIN
+ TEST ("C23006C", "CHECK UNDERSCORES ARE SIGNIFICANT " &
+ "FOR LIBRARY SUBPROGRAM");
+
+ C23006C_PROC (X1);
+ C23006CPROC (X2);
+ IF X1 + IDENT_INT(1) /= X2 THEN
+ FAILED ("INCORRECT PROCEDURE IDENTIFICATION");
+ END IF;
+
+ IF C23006C_FUNC + IDENT_INT(1) /= C23006CFUNC THEN
+ FAILED ("INCORRECT FUNCTION IDENTIFICATION");
+ END IF;
+
+ RESULT;
+END C23006C;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006d.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006d.ada
new file mode 100644
index 000000000..0df360f82
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006d.ada
@@ -0,0 +1,74 @@
+-- C23006D.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT UNDERSCORES ARE SIGNIFICANT IN THE NAMES OF GENERIC
+-- LIBRARY PACKAGES
+
+-- JBG 5/26/85
+-- PWN 5/25/94 ADDED A PROCEDURE TO KEEP PACKAGE BODIES LEGAL.
+
+GENERIC
+PACKAGE C23006D_PKG IS
+ A : INTEGER := 1;
+END C23006D_PKG;
+
+GENERIC
+PACKAGE C23006DPKG IS
+ D : INTEGER := 2;
+ PROCEDURE REQUIRE_BODY;
+END C23006DPKG;
+
+WITH REPORT; USE REPORT;
+PRAGMA ELABORATE (REPORT);
+PACKAGE BODY C23006DPKG IS
+ PROCEDURE REQUIRE_BODY IS
+ BEGIN
+ NULL;
+ END;
+BEGIN
+ D := IDENT_INT (5);
+END C23006DPKG;
+
+WITH C23006D_PKG;
+PRAGMA ELABORATE (C23006D_PKG);
+PACKAGE C23006D_INST IS NEW C23006D_PKG;
+
+WITH C23006DPKG, C23006D_INST;
+USE C23006D_INST;
+WITH REPORT; USE REPORT;
+PROCEDURE C23006D IS
+
+ PACKAGE P2 IS NEW C23006DPKG;
+ USE P2;
+
+BEGIN
+ TEST ("C23006D", "CHECK UNDERSCORES ARE SIGNIFICANT " &
+ "FOR GENERIC LIBRARY PACKAGE IDENTIFIERS");
+
+ IF A + IDENT_INT(4) /= D THEN
+ FAILED ("INCORRECT PACKAGE IDENTIFICATION - 1");
+ END IF;
+
+ RESULT;
+END C23006D;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006e.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006e.ada
new file mode 100644
index 000000000..cd49ba586
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006e.ada
@@ -0,0 +1,95 @@
+-- C23006E.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT UNDERSCORES ARE SIGNIFICANT IN THE NAMES OF GENERIC
+-- LIBRARY UNIT SUBPROGRAMS.
+
+-- JBG 5/26/85
+
+GENERIC
+PROCEDURE C23006E_PROC (X : OUT INTEGER);
+
+PROCEDURE C23006E_PROC (X : OUT INTEGER) IS
+BEGIN
+ X := 1;
+END C23006E_PROC;
+
+GENERIC
+PROCEDURE C230063PROC (X : OUT INTEGER);
+
+PROCEDURE C230063PROC (X : OUT INTEGER) IS
+BEGIN
+ X := 2;
+END C230063PROC;
+
+GENERIC
+FUNCTION C23006E_GFUNC RETURN INTEGER;
+
+FUNCTION C23006E_GFUNC RETURN INTEGER IS
+BEGIN
+ RETURN 3;
+END C23006E_GFUNC;
+
+GENERIC
+FUNCTION C23006EGFUNC RETURN INTEGER;
+
+WITH REPORT; USE REPORT;
+PRAGMA ELABORATE (REPORT);
+FUNCTION C23006EGFUNC RETURN INTEGER IS
+BEGIN
+ RETURN IDENT_INT(4);
+END C23006EGFUNC;
+
+WITH C23006E_PROC;
+PRAGMA ELABORATE (C23006E_PROC);
+PROCEDURE P1 IS NEW C23006E_PROC;
+
+WITH C23006E_GFUNC;
+PRAGMA ELABORATE (C23006E_GFUNC);
+FUNCTION F1 IS NEW C23006E_GFUNC;
+
+WITH P1, F1, C230063PROC, C23006EGFUNC;
+WITH REPORT; USE REPORT;
+PROCEDURE C23006E IS
+
+ X1, X2 : INTEGER;
+ PROCEDURE P2 IS NEW C230063PROC;
+ FUNCTION F2 IS NEW C23006EGFUNC;
+
+BEGIN
+ TEST ("C23006E", "CHECK UNDERSCORES ARE SIGNIFICANT " &
+ "FOR GENERIC LIBRARY SUBPROGRAM IDENTIFIERS");
+
+ P1 (X1);
+ P2 (X2);
+ IF X1 + IDENT_INT(1) /= X2 THEN
+ FAILED ("INCORRECT PROCEDURE IDENTIFICATION");
+ END IF;
+
+ IF F1 + IDENT_INT(1) /= F2 THEN
+ FAILED ("INCORRECT FUNCTION IDENTIFICATION");
+ END IF;
+
+ RESULT;
+END C23006E;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006f.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006f.ada
new file mode 100644
index 000000000..6848ce97e
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006f.ada
@@ -0,0 +1,57 @@
+-- C23006F.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT UNDERSCORES ARE SIGNIFICANT IN LIBRARY PACKAGE NAMES
+-- CREATED BY A GENERIC INSTANTIATION.
+
+-- JBG 5/26/85
+
+GENERIC
+ C : INTEGER;
+PACKAGE C23006F_PKG IS
+ A : INTEGER := C;
+END C23006F_PKG;
+
+WITH C23006F_PKG;
+PRAGMA ELABORATE (C23006F_PKG);
+PACKAGE C23006F_INST IS NEW C23006F_PKG (1);
+
+WITH REPORT; USE REPORT;
+WITH C23006F_PKG;
+PRAGMA ELABORATE (REPORT, C23006F_PKG);
+PACKAGE C23006FINST IS NEW C23006F_PKG (IDENT_INT(2));
+
+WITH C23006F_INST, C23006FINST;
+WITH REPORT; USE REPORT;
+PROCEDURE C23006F IS
+BEGIN
+ TEST ("C23006F", "CHECK THAT UNDERSCORES ARE SIGNIFICANT IN " &
+ "NAMES USED FOR A LIBRARY PACKAGE INSTANTIATION");
+
+ IF C23006F_INST.A + IDENT_INT(1) /= C23006FINST.A THEN
+ FAILED ("INCORRECT PACKAGE IDENTIFICATION - 1");
+ END IF;
+
+ RESULT;
+END C23006F;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006g.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006g.ada
new file mode 100644
index 000000000..ee3ad2896
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c23006g.ada
@@ -0,0 +1,86 @@
+-- C23006G.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT UNDERSCORES ARE SIGNIFICANT IN LIBRARY SUBPROGRAM NAMES
+-- CREATED BY A GENERIC INSTANTIATION.
+
+-- JBG 5/26/85
+
+GENERIC
+ C : INTEGER;
+PROCEDURE C23006G_PROC (X : OUT INTEGER);
+
+PROCEDURE C23006G_PROC (X : OUT INTEGER) IS
+BEGIN
+ X := C;
+END C23006G_PROC;
+
+GENERIC
+ C : INTEGER;
+FUNCTION C23006G_FUNC RETURN INTEGER;
+
+WITH REPORT; USE REPORT;
+PRAGMA ELABORATE (REPORT);
+FUNCTION C23006G_FUNC RETURN INTEGER IS
+BEGIN
+ RETURN IDENT_INT(C);
+END C23006G_FUNC;
+
+WITH C23006G_PROC;
+PRAGMA ELABORATE (C23006G_PROC);
+PROCEDURE C23006G_INSTP IS NEW C23006G_PROC (1);
+
+WITH REPORT; USE REPORT;
+WITH C23006G_PROC;
+PRAGMA ELABORATE (REPORT, C23006G_PROC);
+PROCEDURE C23006GINSTP IS NEW C23006G_PROC (IDENT_INT(2));
+
+WITH C23006G_FUNC;
+PRAGMA ELABORATE (C23006G_FUNC);
+FUNCTION C23006G_INSTF IS NEW C23006G_FUNC (3);
+
+WITH C23006G_FUNC;
+PRAGMA ELABORATE (C23006G_FUNC);
+FUNCTION C23006GINSTF IS NEW C23006G_FUNC (4);
+
+WITH C23006G_INSTP, C23006GINSTP, C23006G_INSTF, C23006GINSTF;
+WITH REPORT; USE REPORT;
+PROCEDURE C23006G IS
+ X1, X2 : INTEGER;
+BEGIN
+ TEST ("C23006G", "CHECK THAT UNDERSCORES ARE SIGNFICANT IN NAMES "&
+ "USED FOR A LIBRARY SUBPROGRAM INSTANTIATION");
+ C23006G_INSTP (X1);
+ C23006GINSTP (X2);
+
+ IF X1 + IDENT_INT(1) /= X2 THEN
+ FAILED ("INCORRECT PROCEDURE IDENTIFICATION");
+ END IF;
+
+ IF C23006G_INSTF + IDENT_INT(1) /= C23006GINSTF THEN
+ FAILED ("INCORRECT FUNCTION IDENTIFICATION");
+ END IF;
+
+ RESULT;
+END C23006G;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24002d.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24002d.ada
new file mode 100644
index 000000000..5a9b06669
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24002d.ada
@@ -0,0 +1,85 @@
+-- C24002D.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT LOWER CASE E MAY BE USED IN INTEGER LITERALS, FLOATING POINT
+-- LITERALS, AND FIXED POINT LITERALS.
+-- CHECK THAT THESE NUMERIC LITERALS YIELD THE CORRECT VALUES.
+
+-- WMC 03/16/92 CONSOLIDATION OF C24002A.ADA, C24002B.ADA, C24002C.ADA
+
+WITH REPORT;
+
+PROCEDURE C24002D IS
+
+ USE REPORT;
+
+BEGIN
+ TEST("C24002D", "CHECK THAT LOWER CASE E WORKS IN INTEGER, " &
+ "FLOATING POINT, AND FIXED POINT LITERALS, " &
+ "AND THAT THESE NUMERIC LITERALS YIELD THE " &
+ "CORRECT VALUES");
+
+ -- Integer Literals
+ DECLARE
+ X,Y : INTEGER;
+ BEGIN
+ X := 12e1;
+ Y := 16#E#e1;
+
+ IF (X /= 120) OR (Y /= 224) THEN
+ FAILED("INCORRECT HANDLING OF LOWER CASE E " &
+ "IN INTEGER LITERALS");
+ END IF;
+ END;
+
+
+ -- Floating Point Literal
+ DECLARE
+ X : FLOAT;
+ BEGIN
+ X := 16#F.FF#e+2;
+
+ IF (X /= 4095.0) THEN
+ FAILED("INCORRECT HANDLING OF LOWER CASE E " &
+ "IN BASED FLOATING POINT LITERALS");
+ END IF;
+ END;
+
+
+ -- Fixed Point Literal
+ DECLARE
+ TYPE FIXED IS DELTA 0.1 RANGE 0.0 .. 300.0;
+ X : FIXED;
+ BEGIN
+ X := 16#F.F#e1;
+
+ IF (X /= 255.0) THEN
+ FAILED("INCORRECT HANDLING OF LOWER CASE E " &
+ "IN BASED FIXED POINT LITERALS");
+ END IF;
+ END;
+
+ RESULT;
+
+END C24002D;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24003a.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24003a.ada
new file mode 100644
index 000000000..61c6fa2a0
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24003a.ada
@@ -0,0 +1,61 @@
+-- C24003A.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT LEADING ZEROES IN INTEGRAL PARTS OF INTEGER LITERALS
+-- ARE IGNORED.
+
+-- JRK 12/12/79
+-- JRK 12/16/80
+-- TBN 10/16/85 RENAMED FROM C24003A.TST AND FIXED LINE LENGTH.
+-- DTN 11/12/91 DELETED SUBPART (B). CHANGED EXTENSION FROM '.TST'
+-- TO '.ADA'.
+
+WITH REPORT;
+PROCEDURE C24003A IS
+
+ USE REPORT;
+
+BEGIN
+ TEST ("C24003A", "LEADING ZEROES IN INTEGER LITERALS");
+
+ IF 0000000000000000000000000000000000000000247 /= 247 THEN
+ FAILED ("LEADING ZEROES IN INTEGER LITERALS NOT " &
+ "IGNORED");
+ END IF;
+
+ IF 35E00000000000000000000000000000000000000001 /= 350 THEN
+ FAILED ("LEADING ZEROES IN EXPONENTS NOT IGNORED");
+ END IF;
+
+ IF 000000000000000000000000000000000000000016#FF# /= 255 THEN
+ FAILED ("LEADING ZEROES IN BASES NOT IGNORED");
+ END IF;
+
+ IF 16#0000000000000000000000000000000000000000FF# /= 255 THEN
+ FAILED ("LEADING ZEROES IN BASED INTEGER LITERALS " &
+ "NOT IGNORED");
+ END IF;
+
+ RESULT;
+END C24003A;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24003b.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24003b.ada
new file mode 100644
index 000000000..c38597356
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24003b.ada
@@ -0,0 +1,77 @@
+-- C24003B.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT LEADING ZEROES IN INTEGRAL PARTS AND TRAILING ZEROES IN
+-- FRACTIONAL PARTS OF FLOATING POINT LITERALS ARE IGNORED.
+
+-- JRK 12/12/79
+-- JRK 12/16/80
+-- TBN 10/21/85 RENAMED FROM C24003B.TST AND FIXED LINE LENGTH.
+-- DTN 11/12/91 DELETED SUBPART (B). CHANGED EXTENSION FROM '.TST'
+-- TO '.ADA'.
+
+WITH REPORT;
+PROCEDURE C24003B IS
+
+ USE REPORT;
+
+ FL : FLOAT := 69.0E1;
+
+BEGIN
+ TEST ("C24003B", "LEADING/TRAILING ZEROES IN " &
+ "FLOATING POINT LITERALS");
+
+ IF 000000000000000000000000000000000000000069.0E1 /= FL THEN
+ FAILED ("LEADING ZEROES IN INTEGRAL PART OF FLOATING " &
+ "POINT LITERAL NOT IGNORED");
+ END IF;
+
+ IF 69.0000000000000000000000000000000000000000E1 /= FL THEN
+ -- MIGHT RAISE NUMERIC_ERROR AT COMPILE-TIME.
+ FAILED ("TRAILING ZEROES IN FRACTIONAL PART OF " &
+ "FLOATING POINT LITERAL NOT IGNORED");
+ END IF;
+
+ IF 0000000000000000000000000000000000000000690.00000 /= FL THEN
+ FAILED ("LEADING/TRAILING ZEROES IN MANTISSA OF " &
+ "FLOATING POINT LITERAL NOT IGNORED");
+ END IF;
+
+ IF 69.0E00000000000000000000000000000000000000001 /= FL THEN
+ FAILED ("LEADING ZEROES IN EXPONENT OF FLOATING " &
+ "POINT LITERAL NOT IGNORED");
+ END IF;
+
+ IF 16#00000000000000000000000000000000000000002B.2#E1 /= FL THEN
+ FAILED ("LEADING ZEROES IN BASED FLOATING POINT " &
+ "LITERAL NOT IGNORED");
+ END IF;
+
+ IF 16#2B.20000000000000000000000000000000000000000#E1 /= FL THEN
+ FAILED ("TRAILING ZEROES IN BASED FLOATING POINT " &
+ "LITERAL NOT IGNORED");
+ END IF;
+
+ RESULT;
+END C24003B;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24003c.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24003c.ada
new file mode 100644
index 000000000..1eb8dd2c8
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24003c.ada
@@ -0,0 +1,79 @@
+-- C24003C.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT LEADING ZEROES IN INTEGRAL PARTS AND TRAILING ZEROES IN
+-- FRACTIONAL PARTS OF FIXED POINT LITERALS ARE IGNORED.
+
+-- JRK 12/12/79
+-- JRK 12/16/80
+-- TBN 10/21/85 RENAMED FROM C24003C.TST AND FIXED LINE LENGTH.
+-- DTN 11/12/91 DELETED SUBPART (B). CHANGED EXTENSION FROM '.TST'
+-- TO '.ADA'.
+
+WITH REPORT;
+PROCEDURE C24003C IS
+
+ USE REPORT;
+
+ TYPE FIXED IS DELTA 1.0 RANGE 0.0 .. 1000.0;
+ FX : FIXED := 69.0E1;
+
+BEGIN
+
+ TEST ("C24003C", "LEADING/TRAILING ZEROES IN " &
+ "FIXED POINT LITERALS");
+
+ IF 000000000000000000000000000000000000000069.0E1 /= FX THEN
+ FAILED ("LEADING ZEROES IN INTEGRAL PART OF FIXED " &
+ "POINT LITERAL NOT IGNORED");
+ END IF;
+
+ IF 69.0000000000000000000000000000000000000000E1 /= FX THEN
+ -- MIGHT RAISE NUMERIC_ERROR AT COMPILE-TIME.
+ FAILED ("TRAILING ZEROES IN FRACTIONAL PART OF " &
+ "FIXED POINT LITERAL NOT IGNORED");
+ END IF;
+
+ IF 0000000000000000000000000000000000000000690.00000 /= FX THEN
+ FAILED ("LEADING/TRAILING ZEROES IN MANTISSA OF " &
+ "FIXED POINT LITERAL NOT IGNORED");
+ END IF;
+
+ IF 69.0E00000000000000000000000000000000000000001 /= FX THEN
+ FAILED ("LEADING ZEROES IN EXPONENT OF FIXED " &
+ "POINT LITERAL NOT IGNORED");
+ END IF;
+
+ IF 16#00000000000000000000000000000000000000002B.2#E1 /= FX THEN
+ FAILED ("LEADING ZEROES IN BASED FIXED POINT " &
+ "LITERAL NOT IGNORED");
+ END IF;
+
+ IF 16#2B.20000000000000000000000000000000000000000#E1 /= FX THEN
+ FAILED ("TRAILING ZEROES IN BASED FIXED POINT " &
+ "LITERAL NOT IGNORED");
+ END IF;
+
+ RESULT;
+END C24003C;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24106a.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24106a.ada
new file mode 100644
index 000000000..fcecd0673
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24106a.ada
@@ -0,0 +1,63 @@
+-- C24106A.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- OBJECTIVE:
+-- CHECK THAT UNDERSCORE CHARACTERS ARE PERMITTED IN ANY PART OF
+-- A NON-BASED DECIMAL LITERAL.
+
+-- HISTORY:
+-- DHH 01/19/88 CREATED ORIGINAL TEST
+
+WITH REPORT; USE REPORT;
+
+PROCEDURE C24106A IS
+
+BEGIN
+ TEST("C24106A", "CHECK THAT UNDERSCORE CHARACTERS " &
+ "ARE PERMITTED IN ANY PART OF " &
+ "A NON-BASED DECIMAL LITERAL");
+
+ IF 1.2_3_4_5_6 /= 1.23456 THEN
+ FAILED("UNDERSCORES NOT PERMITTED IN FRACTIONAL PART " &
+ "OF A NON_BASED LITERAL");
+ END IF;
+ IF 1_2_3_4_5.6 /= 12345.6 THEN
+ FAILED("UNDERSCORES NOT PERMITTED IN INTEGRAL PART " &
+ "OF A NON_BASED LITERAL");
+ END IF;
+ IF 0.12E1_2 /= 0.12E12 THEN
+ FAILED("UNDERSCORES NOT PERMITTED IN EXPONENT PART " &
+ "OF A NON_BASED LITERAL");
+ END IF;
+ IF 1_2_3_4_5 /= 12345 THEN
+ FAILED("UNDERSCORES NOT PERMITTED IN INTEGRAL PART " &
+ "OF A NON_BASED LITERAL INTEGER");
+ END IF;
+ IF 0E1_0 /= 0 THEN
+ FAILED("UNDERSCORES NOT PERMITTED IN EXPONENT PART " &
+ "OF A NON_BASED LITERAL INTEGER");
+ END IF;
+
+ RESULT;
+END C24106A;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24202d.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24202d.ada
new file mode 100644
index 000000000..65c3d2186
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24202d.ada
@@ -0,0 +1,73 @@
+-- C24202D.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT NON-CONSECUTIVE UNDERSCORES ARE PERMITTED
+-- IN EVERY PART OF BASED INTEGER, FLOATING POINT, AND FIXED POINT LITERALS.
+
+-- WMC 03/16/92 CONSOLIDATION OF C24202A.ADA, C24202B.ADA, C24202C.ADA
+
+WITH REPORT;
+
+PROCEDURE C24202D IS
+
+ USE REPORT;
+
+ TYPE FIXED1 IS DELTA 2.0**(-6) RANGE 0.0 .. 10.0;
+
+ I1, I2 : INTEGER;
+ F1, F2, F3 : FLOAT;
+ F4, F5 : FIXED1;
+
+BEGIN
+ TEST("C24202D", "UNDERSCORES ALLOWED IN NUMERIC LITERALS");
+
+ I1 := 12_3;
+ I2 := 16#D#E0_1;
+
+ IF (I1 /= 123) OR (I2 /= 16#D#E01) THEN
+ FAILED("UNDERSCORES IN INTEGER LITERALS NOT HANDLED CORRECTLY");
+ END IF;
+
+
+ F1 := 1.2_5E1;
+ F2 := 8#1_3.5#;
+ F3 := 8#3.4#E1_1;
+
+ IF (F1 /= 1.25E1) OR (F2 /= 8#13.5#) OR (F3 /= 8#3.4#E11) THEN
+ FAILED("UNDERSCORES IN FLOATING POINT LITERALS NOT " &
+ "HANDLED CORRECTLY");
+ END IF;
+
+
+ F4 := 1_6#1.A#;
+ F5 := 8#2.3_7#;
+
+ IF (F4 /= 16#1.A#) OR (F5 /= 8#2.37#) THEN
+ FAILED("UNDERSCORES IN FIXED POINT LITERALS NOT " &
+ "HANDLED CORRECTLY");
+ END IF;
+
+ RESULT;
+
+END C24202D;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24203a.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24203a.ada
new file mode 100644
index 000000000..a97bb866d
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24203a.ada
@@ -0,0 +1,110 @@
+-- C24203A.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT BASED INTEGER LITERALS WITH BASES 2 THROUGH 16 ALL
+-- YIELD CORRECT VALUES.
+
+-- JRK 12/12/79
+-- JRK 10/27/80
+-- JWC 6/28/85 RENAMED FROM C24103A.ADA
+
+WITH REPORT;
+PROCEDURE C24203A IS
+
+ USE REPORT;
+
+ I : INTEGER := 200;
+
+BEGIN
+ TEST ("C24203A", "VALUES OF BASED INTEGER LITERALS");
+
+ IF 2#11# /= 3 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 2 INTEGER");
+ END IF;
+
+ IF 3#22# /= 8 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 3 INTEGER");
+ END IF;
+
+ IF 4#33# /= 15 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 4 INTEGER");
+ END IF;
+
+ IF 5#44# /= 24 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 5 INTEGER");
+ END IF;
+
+ IF 6#55# /= 35 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 6 INTEGER");
+ END IF;
+
+ IF 7#66# /= 48 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 7 INTEGER");
+ END IF;
+
+ IF 8#77# /= 63 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 8 INTEGER");
+ END IF;
+
+ IF 9#88# /= 80 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 9 INTEGER");
+ END IF;
+
+ IF 10#99# /= 99 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 10 INTEGER");
+ END IF;
+
+ IF 11#AA# /= 120 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 11 INTEGER");
+ END IF;
+
+ IF 12#BB# /= 143 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 12 INTEGER");
+ END IF;
+
+ IF 13#CC# /= 168 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 13 INTEGER");
+ END IF;
+
+ IF 14#DD# /= 195 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 14 INTEGER");
+ END IF;
+
+ IF 15#EE# /= 224 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 15 INTEGER");
+ END IF;
+
+ IF 16#FF# /= 255 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 16 INTEGER");
+ END IF;
+
+ ----------------------------------------
+
+ IF 7#66#E1 /= 336 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 7 INTEGER " &
+ "WITH EXPONENT");
+ END IF;
+
+ RESULT;
+END C24203A;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24203b.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24203b.ada
new file mode 100644
index 000000000..8a56bf1e5
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24203b.ada
@@ -0,0 +1,113 @@
+-- C24203B.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- OBJECTIVE:
+-- CHECK THAT BASED REAL LITERALS WITH BASES 2 THROUGH 16 ALL
+-- YIELD CORRECT VALUES.
+
+-- THIS TEST USES MODEL NUMBERS OF DIGITS 6.
+
+-- HISTORY:
+-- DHH 06/15/88 CREATED ORIGINAL TEST.
+-- DTN 11/30/95 REMOVED CONFORMANCE CHECKS WHERE RULES RELAXED.
+
+WITH REPORT; USE REPORT;
+PROCEDURE C24203B IS
+
+ TYPE CHECK IS DIGITS 6;
+
+BEGIN
+ TEST("C24203B", "CHECK THAT BASED REAL LITERALS WITH BASES " &
+ "2 THROUGH 16 ALL YIELD CORRECT VALUES");
+
+ IF
+ 2#0.0000000000000000000000000000000000000000000000000000000000001#
+ /= 2.0 ** (-61) THEN
+ FAILED ("INCORRECT VALUE FOR BASE 2 REAL LITERAL");
+ END IF;
+
+ IF 3#0.00000000001# <
+ ((2.0 ** (-18)) + (251558.0 * (2.0 ** (-37)))) OR
+ 3#0.00000000001# >
+ ((2.0 ** (-18)) + (251559.0 * (2.0 ** (-37)))) THEN
+ FAILED ("INCORRECT VALUE FOR BASE 3 REAL LITERAL");
+ END IF;
+
+ IF 4#13333333.213# /= 32767.609375 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 4 REAL LITERAL");
+ END IF;
+
+ IF 5#2021444.4241121# < 32749.90625 OR
+ 5#2021444.4241121# > 32749.921875 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 5 REAL LITERAL");
+ END IF;
+
+ IF 6#411355.531043# /= 32759.921875 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 6 REAL LITERAL");
+ END IF;
+
+ IF 7#164366.625344# < 32780.90625 OR
+ 7#164366.625344# > 32780.9375 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 7 REAL LITERAL");
+ END IF;
+
+ IF 8#77777.07# /= 32767.109375 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 8 REAL LITERAL");
+ END IF;
+
+ IF 9#48888.820314# < 32804.90625 OR
+ 9#48888.820314# > 32804.9375 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 9 REAL LITERAL");
+ END IF;
+
+ IF 10#32767.921875# /= 32767.921875 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 10 REAL LITERAL");
+ END IF;
+
+ IF 11#2267A.A06682# < 32757.90625 OR
+ 11#2267A.A06682# > 32757.921875 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 11 REAL LITERAL");
+ END IF;
+
+ IF 12#16B5B.B09# /= 32759.921875 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 12 REAL LITERAL");
+ END IF;
+
+ IF 13#11B9C.BB616# < 32746.90625 OR
+ 13#11B9C.BB616# > 32746.921875 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 13 REAL LITERAL");
+ END IF;
+
+ IF 14#BD1D.CC98A7# /= 32759.921875 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 14 REAL LITERAL");
+ END IF;
+
+ IF 15#3D28188D45881111111111.0# <
+ (((2.0 ** 21) -2.0) * (2.0 ** 63)) THEN
+ FAILED ("INCORRECT VALUE FOR BASE 15 REAL LITERAL");
+ END IF;
+
+
+ RESULT;
+END C24203B;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24207a.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24207a.ada
new file mode 100644
index 000000000..ca7e17f7c
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24207a.ada
@@ -0,0 +1,65 @@
+-- C24207A.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT LETTERS IN A BASED LITERAL MAY APPEAR IN UPPER OR LOWER
+-- CASE.
+
+-- TBN 2/28/86
+
+WITH REPORT; USE REPORT;
+PROCEDURE C24207A IS
+
+ TYPE FLOAT IS DIGITS 5;
+ INT_1 : INTEGER := 15#AbC# ;
+ INT_2 : INTEGER := 15#aBc# ;
+ FLO_1 : FLOAT := 16#FeD.C#e1;
+ FLO_2 : FLOAT := 16#fEd.c#E1;
+
+BEGIN
+ TEST("C24207A", "CHECK THAT LETTERS IN A BASED LITERAL MAY " &
+ "APPEAR IN UPPER OR LOWER CASE");
+
+ IF INT_1 /= INT_2 THEN
+ FAILED ("UPPER AND LOWER CASE LETTERS NOT ALLOWED - 1");
+ END IF;
+
+ IF FLO_1 /= FLO_2 THEN
+ FAILED ("UPPER AND LOWER CASE LETTERS NOT ALLOWED - 2");
+ END IF;
+
+ INT_1 := 14#aBc#E1;
+ INT_2 := 14#AbC#e1;
+ FLO_1 := 16#CdEf.aB#E0;
+ FLO_2 := 16#cDeF.Ab#e0;
+
+ IF INT_1 /= INT_2 THEN
+ FAILED ("UPPER AND LOWER CASE LETTERS NOT ALLOWED - 3");
+ END IF;
+
+ IF FLO_1 /= FLO_2 THEN
+ FAILED ("UPPER AND LOWER CASE LETTERS NOT ALLOWED - 4");
+ END IF;
+
+ RESULT;
+END C24207A;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24211a.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24211a.ada
new file mode 100644
index 000000000..f04e0332c
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c24211a.ada
@@ -0,0 +1,87 @@
+-- C24211A.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- OBJECTIVE:
+-- CHECK THAT LEGAL FORMS INVOLVING A DIGIT FOLLOWED BY A COLON ARE
+-- CORRECTLY ANALYZED USING A TWO CHARACTER LOOK-AHEAD.
+
+-- HISTORY:
+-- DHH 01/19/88 CREATED ORIGINAL TEST.
+
+WITH REPORT; USE REPORT;
+
+PROCEDURE C24211A IS
+
+ TYPE FIXED IS DELTA 0.0125 RANGE -1.0 .. 100.0;
+
+ A : INTEGER RANGE 0 .. 2:10::= 1;
+ B : INTEGER RANGE 0 .. 2#10#:= 1;
+ X : FIXED RANGE 0.0 .. 16:3.0::= 1.0;
+ Y : FIXED RANGE 0.0 .. 16#3.0#:= 1.0;
+ IN2 : INTEGER;
+ BOOL : BOOLEAN:=3:10:=3:10:;
+
+BEGIN
+
+ TEST("C24211A", "CHECK THAT LEGAL FORMS INVOLVING A DIGIT " &
+ "FOLLOWED BY A COLON ARE CORRECTLY ANALYZED " &
+ "USING A TWO CHARACTER LOOK-AHEAD");
+
+ IF IDENT_INT(A) /= B THEN
+ FAILED("CALCULATIONS OF BASED INTEGER LITERALS WHEN " &
+ "REPRESENTED BY SHARPS DO NOT MATCH CALCULATIONS " &
+ "OF BASED INTEGER LITERALS REPRESENTED BY COLONS");
+ END IF;
+ A := A + 1;
+
+
+ IF EQUAL(3,3) THEN
+ Y := X + Y;
+ ELSE
+ Y := X - Y;
+ END IF;
+
+ IF (2 * X) = Y THEN
+ NULL;
+ ELSE
+ FAILED("CALCULATIONS OF BASED REAL LITERALS WHEN " &
+ "REPRESENTED BY SHARPS DO NOT MATCH CALCULATIONS " &
+ "OF BASED REAL LITERALS REPRESENTED BY COLONS");
+ END IF;
+ IF NOT BOOL THEN
+ FAILED("BOOLEAN VALUE BASED ON REAL LITERAL WAS CALCULATED " &
+ "INCORRECTLY");
+ IN2:=2:10:;
+ ELSE
+ BOOL := FALSE;
+ IN2:=3:10:;
+ END IF;
+ IF BOOL THEN
+ A := A + 1;
+ ELSE
+ A := A - 1;
+ END IF;
+
+ RESULT;
+END C24211A;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c250001.aw b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c250001.aw
new file mode 100644
index 000000000..fd5334359
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c250001.aw
@@ -0,0 +1,167 @@
+-- C250001.AW
+--
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+--
+-- OBJECTIVE:
+-- Check that wide character literals are supported.
+-- Check that wide character string literals are supported.
+--
+-- TEST DESCRIPTION:
+-- This test utilizes the brackets scheme for representing wide character
+-- values in transportable 7 bit ASCII as proposed by Robert Dewar;
+-- this test defines Wide_Character and Wide_String objects, and assigns
+-- and tests several sample values.
+--
+-- SPECIAL REQUIREMENTS:
+--
+-- This file must be preprocessed before it can be executed as a test.
+--
+-- This test requires that all occurrences of the bracket escape
+-- representation for wide characters be replaced, as appropriate, with
+-- the corresponding wide character as represented by the implementation.
+--
+-- Characters above ASCII.Del are represented by an 8 character sequence:
+--
+-- ["xxxx"]
+--
+-- where the character code represented is specified by four hexadecimal
+-- digits, (<xxxx>) upper case. For example the wide character with the
+-- code 16#ABCD# is represented by the eight character sequence:
+--
+-- ["ABCD"]
+--
+-- The following function documents the translation algorithm:
+--
+-- function To_Wide( S:String ) return Wide_character is
+-- Numerical : Natural := 0;
+-- type Xlate is array(Character range '0'..'F') of Natural;
+-- Xlation : Xlate
+-- := ('0' => 0, '1' => 1, '2' => 2, '3' => 3, '4' => 4,
+-- '5' => 5, '6' => 6, '7' => 7, '8' => 8, '9' => 9,
+-- 'A' => 10, 'B' => 11, 'C' => 12, 'D' => 13, 'E' => 14,
+-- 'F' => 15, others => 0 );
+-- begin
+-- for I in S'Range loop
+-- Numerical := Numerical * 16 + Xlation(S(I));
+-- end loop;
+-- return Wide_Character'Val(Numerical); -- the returned value is
+-- implementation dependent
+-- exception
+-- when Constraint_Error => raise;
+-- end To_Wide;
+--
+--
+-- CHANGE HISTORY:
+-- 26 OCT 95 SAIC Initial .Aversion
+-- 11 APR 96 SAIC Minor robustness changes for 2.1
+-- 12 NOV 96 SAIC Changed file extension to .AW
+--
+--!
+
+----------------------------------------------------------------- C250001_0
+
+package C250001_0 is
+
+ -- The wide characters used in this test are sequential starting with
+ -- the character '["4F42"]' 16#0F42#
+
+ Four_Eff_Four_Two : constant Wide_Character := '["4F42"]';
+
+ Four_Eff_4_3_Through_9 : constant Wide_String :=
+ "["4F43"]["4F44"]["4F45"]["4F46"]["4F47"]["4F48"]["4F49"]";
+
+ Four_Eff_A_B : constant Wide_String := "["4F4A"]["4F4B"]";
+
+end C250001_0;
+
+-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+-- no package body C250001_0 is required or allowed
+
+------------------------------------------------------------------- C250001
+
+with Report;
+with C250001_0;
+with Ada.Tags;
+
+procedure C250001 is
+ use C250001_0;
+
+ function Hex( N: Natural ) return String is
+ S : String := "xxxx";
+ T : String := "0123456789ABCDEF";
+ V : Natural := N;
+ begin
+ for I in reverse 1..4 loop
+ S(I) := T(V rem 16 +1);
+ V := V / 16;
+ end loop;
+ return S;
+ end Hex;
+
+ procedure Match( Check : Wide_Character; Matching : Natural ) is
+ begin
+ if Wide_Character'Pos( Check ) /= Matching then
+ Report.Failed( "Didn't match for " & Hex(Matching) );
+ end if;
+ end Match;
+
+ type Value_List is array(Positive range <>) of Natural;
+
+ procedure Match( Check : Wide_String; Matching : Value_List ) is
+ begin
+ if Check'Length /= Matching'Length then
+ Report.Failed( "Check'Length /= Matching'Length" );
+ else
+ for I in Check'Range loop
+ Match( Check(I), Matching(I) );
+ end loop;
+ end if;
+ end Match;
+
+begin -- Main test procedure.
+
+ Report.Test ("C250001", "Check that wide character literals " &
+ "are supported. Check that wide character " &
+ "string literals are supported." );
+
+ Match( Four_Eff_Four_Two, 16#4F42# );
+
+ Match(Four_Eff_4_3_Through_9,
+ (16#4F43#,16#4F44#,16#4F45#,16#4F46#,16#4F47#,16#4F48#,16#4F49#) );
+
+ -- check catenations
+
+ Match( Four_Eff_Four_Two & Four_Eff_Four_Two, (16#4F42#,16#4F42#) );
+
+ Match( Four_Eff_Four_Two & Four_Eff_A_B, (16#4F42#,16#4F4A#,16#4F4B#) );
+
+ Match( Four_Eff_A_B & Four_Eff_Four_Two, (16#4F4A#,16#4F4B#,16#4F42#) );
+
+ Match( Four_Eff_A_B & Four_Eff_A_B,
+ (16#4F4A#,16#4F4B#,16#4F4A#,16#4F4B#) );
+
+ Report.Result;
+
+end C250001;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c250002.aw b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c250002.aw
new file mode 100644
index 000000000..fe2248155
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c250002.aw
@@ -0,0 +1,213 @@
+-- C250002.AW
+--
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+--
+-- OBJECTIVE:
+-- Check that characters in Latin-1 above ASCII.Del can be used in
+-- identifiers, character literals and strings.
+--
+-- TEST DESCRIPTION:
+-- This test utilizes the brackets scheme for representing Latin-1
+-- character values in transportable 7 bit ASCII as proposed by
+-- Robert Dewar; this test defines Character and String objects,
+-- assigns and tests several sample values. Several Identifiers
+-- used in this test also include Characters via the bracket escape
+-- sequence scheme.
+--
+-- Note that C250001 checks Wide_Characters and Wide_Strings.
+--
+-- SPECIAL REQUIREMENTS:
+--
+-- This file must be preprocessed before it can be executed as a test.
+--
+-- This test requires that all occurrences of the bracket escaped
+-- characters be replaced with the corresponding 8 bit character.
+--
+-- Characters above ASCII.Del are represented by a 6 character sequence:
+--
+-- ["xx"]
+--
+-- where the character code represented is specified by two hexadecimal
+-- digits (<xx>) upper case. For example the Latin-1 character with the
+-- code 16#AB# is represented by the six character sequence:
+--
+-- ["AB"]
+--
+-- None of the values used in this test should be interpreted as
+-- a control character.
+--
+-- The following function documents the translation algorithm:
+--
+-- function To_Char( S:String ) return Character is
+-- Numerical : Natural := 0;
+-- type Xlate is array(Character range '0'..'F') of Natural;
+-- Xlation : Xlate
+-- := ('0' => 0, '1' => 1, '2' => 2, '3' => 3, '4' => 4,
+-- '5' => 5, '6' => 6, '7' => 7, '8' => 8, '9' => 9,
+-- 'A' => 10, 'B' => 11, 'C' => 12, 'D' => 13, 'E' => 14,
+-- 'F' => 15, others => 0 );
+-- begin
+-- for I in S'Range loop
+-- Numerical := Numerical * 16 + Xlation(S(I));
+-- end loop;
+-- return Character'Val(Numerical);
+-- end To_Char;
+--
+--
+-- CHANGE HISTORY:
+-- 10 JAN 96 SAIC Initial version
+-- 12 NOV 96 SAIC Changed file extension to .AW
+--
+--!
+
+----------------------------------------------------------------- C250002_0
+
+package C250002_0 is
+
+ -- The extended characters used in this test start with
+ -- the character '["A1"]' 16#A1# and increase from there
+
+ type Tagged_["C0"]_Id is tagged record
+ Length, Width: Natural;
+ end record;
+
+ X_Char_A2 : constant Character := '["A2"]';
+
+ X_Char_A3_Through_A9 : constant String :=
+ "["A3"]["A4"]["A5"]["A6"]["A7"]["A8"]["A9"]";
+
+ X_Char_AA_AB : constant String := "["AA"]["AB"]";
+
+end C250002_0;
+
+-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+-- no package body C250002_0 is required or allowed
+
+----------------------------------------------------------------- C250002_X
+
+with Ada.Characters.Latin_1;
+package C250002_["C1"] is
+
+ type Enum is ( Item, 'A', '["AD"]', AE_["C6"]["E6"]_ae,
+ '["2D"]', '["FF"]' );
+
+ task type C2_["C2"] is
+ entry C2_["C3"];
+ end C2_["C2"];
+
+end C250002_["C1"];
+
+-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+package body C250002_["C1"] is
+
+ task body C2_["C2"] is
+ begin
+ accept C2_["C3"];
+ end C2_["C2"];
+
+end C250002_["C1"];
+
+------------------------------------------------------------------- C250002
+
+with Report;
+with C250002_0;
+with C250002_["C1"];
+
+with Ada.Tags;
+
+procedure C250002 is
+ use C250002_0;
+
+ My_Task: C250002_["C1"].C2_["C2"];
+
+ function Hex( N: Natural ) return String is
+ S : String := "xx";
+ T : String := "0123456789ABCDEF";
+ begin
+ S(1) := T(N / 16 +1);
+ S(2) := T(N mod 16 +1);
+ return S;
+ end Hex;
+
+ procedure Match( Check : Character; Matching : Natural ) is
+ begin
+ if Check /= Character'Val( Matching ) then
+ Report.Failed( "Didn't match for " & Hex(Matching) );
+ end if;
+ end Match;
+
+ type Value_List is array(Positive range <>) of Natural;
+
+ procedure Match( Check : String; Matching : Value_List ) is
+ begin
+ if Check'Length /= Matching'Length then
+ Report.Failed( "Check'Length /= Matching'Length" );
+ else
+ for I in Check'Range loop
+ Match( Check(I), Matching(I - Check'First + Matching'First) );
+ end loop;
+ end if;
+ end Match;
+
+ TC_Count : Natural := 0;
+
+begin -- Main test procedure.
+
+ Report.Test ("C250002", "Check that characters above ASCII.Del can be " &
+ "used in identifiers, character literals and " &
+ "strings" );
+
+ Report.Comment( Ada.Tags.Expanded_Name(Tagged_["C0"]_Id'Tag) );
+
+ for Specials in C250002_["C1"].Enum loop
+ TC_Count := TC_Count +1;
+ end loop;
+
+ if TC_Count /= 6 then
+ Report.Failed("Expected 6 literals in Enum");
+ end if;
+
+ Match( X_Char_A2, 16#A2# );
+
+ Match(X_Char_A3_Through_A9,
+ (16#A3#,16#A4#,16#A5#,16#A6#,16#A7#,16#A8#,16#A9#) );
+
+ -- check catenations
+
+ Match( X_Char_A2 & X_Char_A2, (16#A2#,16#A2#) );
+
+ Match( X_Char_A2 & X_Char_AA_AB, (16#A2#,16#AA#,16#AB#) );
+
+ Match( X_Char_AA_AB & X_Char_A2, (16#AA#,16#AB#,16#A2#) );
+
+ Match( X_Char_AA_AB & X_Char_AA_AB,
+ (16#AA#,16#AB#,16#AA#,16#AB#) );
+
+ My_Task.C2_["C3"];
+
+ Report.Result;
+
+end C250002;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c25001a.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c25001a.ada
new file mode 100644
index 000000000..bb27be723
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c25001a.ada
@@ -0,0 +1,211 @@
+-- C25001A.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT ALL CHARACTER LITERALS CAN BE WRITTEN.
+
+-- CASE A: THE BASIC CHARACTER SET.
+
+-- TBN 3/17/86
+
+WITH REPORT; USE REPORT;
+PROCEDURE C25001A IS
+
+BEGIN
+ TEST ("C25001A", "CHECK THAT EACH CHARACTER IN THE BASIC " &
+ "CHARACTER SET CAN BE WRITTEN");
+
+ IF CHARACTER'POS('A') /= 65 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'A'");
+ END IF;
+ IF CHARACTER'POS('B') /= 66 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'B'");
+ END IF;
+ IF CHARACTER'POS('C') /= 67 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'C'");
+ END IF;
+ IF CHARACTER'POS('D') /= 68 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'D'");
+ END IF;
+ IF CHARACTER'POS('E') /= 69 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'E'");
+ END IF;
+ IF CHARACTER'POS('F') /= 70 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'F'");
+ END IF;
+ IF CHARACTER'POS('G') /= 71 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'G'");
+ END IF;
+ IF CHARACTER'POS('H') /= 72 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'H'");
+ END IF;
+ IF CHARACTER'POS('I') /= 73 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'I'");
+ END IF;
+ IF CHARACTER'POS('J') /= 74 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'J'");
+ END IF;
+ IF CHARACTER'POS('K') /= 75 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'K'");
+ END IF;
+ IF CHARACTER'POS('L') /= 76 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'L'");
+ END IF;
+ IF CHARACTER'POS('M') /= 77 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'M'");
+ END IF;
+ IF CHARACTER'POS('N') /= 78 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'N'");
+ END IF;
+ IF CHARACTER'POS('O') /= 79 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'O'");
+ END IF;
+ IF CHARACTER'POS('P') /= 80 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'P'");
+ END IF;
+ IF CHARACTER'POS('Q') /= 81 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'Q'");
+ END IF;
+ IF CHARACTER'POS('R') /= 82 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'R'");
+ END IF;
+ IF CHARACTER'POS('S') /= 83 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'S'");
+ END IF;
+ IF CHARACTER'POS('T') /= 84 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'T'");
+ END IF;
+ IF CHARACTER'POS('U') /= 85 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'U'");
+ END IF;
+ IF CHARACTER'POS('V') /= 86 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'V'");
+ END IF;
+ IF CHARACTER'POS('W') /= 87 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'W'");
+ END IF;
+ IF CHARACTER'POS('X') /= 88 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'X'");
+ END IF;
+ IF CHARACTER'POS('Y') /= 89 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'Y'");
+ END IF;
+ IF CHARACTER'POS('Z') /= 90 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'Z'");
+ END IF;
+
+ IF CHARACTER'POS('0') /= 48 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '0'");
+ END IF;
+ IF CHARACTER'POS('1') /= 49 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '1'");
+ END IF;
+ IF CHARACTER'POS('2') /= 50 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '2'");
+ END IF;
+ IF CHARACTER'POS('3') /= 51 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '3'");
+ END IF;
+ IF CHARACTER'POS('4') /= 52 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '4'");
+ END IF;
+ IF CHARACTER'POS('5') /= 53 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '5'");
+ END IF;
+ IF CHARACTER'POS('6') /= 54 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '6'");
+ END IF;
+ IF CHARACTER'POS('7') /= 55 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '7'");
+ END IF;
+ IF CHARACTER'POS('8') /= 56 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '8'");
+ END IF;
+ IF CHARACTER'POS('9') /= 57 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '9'");
+ END IF;
+
+ IF CHARACTER'POS('"') /= 34 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '""'");
+ END IF;
+ IF CHARACTER'POS('#') /= 35 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '#'");
+ END IF;
+ IF CHARACTER'POS('&') /= 38 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '&'");
+ END IF;
+ IF CHARACTER'POS(''') /= 39 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '''");
+ END IF;
+ IF CHARACTER'POS('(') /= 40 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '('");
+ END IF;
+ IF CHARACTER'POS(')') /= 41 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR ')'");
+ END IF;
+ IF CHARACTER'POS('*') /= 42 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '*'");
+ END IF;
+ IF CHARACTER'POS('+') /= 43 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '+'");
+ END IF;
+ IF CHARACTER'POS(',') /= 44 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR ','");
+ END IF;
+ IF CHARACTER'POS('-') /= 45 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '-'");
+ END IF;
+ IF CHARACTER'POS('.') /= 46 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '.'");
+ END IF;
+ IF CHARACTER'POS('/') /= 47 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '/'");
+ END IF;
+ IF CHARACTER'POS(':') /= 58 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR ':'");
+ END IF;
+ IF CHARACTER'POS(';') /= 59 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR ';'");
+ END IF;
+ IF CHARACTER'POS('<') /= 60 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '<'");
+ END IF;
+ IF CHARACTER'POS('=') /= 61 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '='");
+ END IF;
+ IF CHARACTER'POS('>') /= 62 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '>'");
+ END IF;
+ IF CHARACTER'POS('_') /= 95 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '_'");
+ END IF;
+ IF CHARACTER'POS('|') /= 124 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '|'");
+ END IF;
+
+ IF CHARACTER'POS(' ') /= 32 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR ' '");
+ END IF;
+
+ RESULT;
+END C25001A;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c25001b.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c25001b.ada
new file mode 100644
index 000000000..d82547cc7
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c25001b.ada
@@ -0,0 +1,160 @@
+-- C25001B.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT ALL CHARACTER LITERALS CAN BE WRITTEN.
+
+-- CASE B: THE LOWER CASE LETTERS AND THE OTHER
+-- SPECIAL CHARACTERS.
+
+-- TBN 8/1/86
+
+WITH REPORT; USE REPORT;
+PROCEDURE C25001B IS
+
+BEGIN
+ TEST ("C25001B", "CHECK THAT EACH CHARACTER IN THE LOWER CASE " &
+ "LETTERS AND THE OTHER SPECIAL CHARACTERS CAN " &
+ "BE WRITTEN");
+
+ IF CHARACTER'POS('a') /= 97 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'a'");
+ END IF;
+ IF CHARACTER'POS('b') /= 98 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'b'");
+ END IF;
+ IF CHARACTER'POS('c') /= 99 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'c'");
+ END IF;
+ IF CHARACTER'POS('d') /= 100 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'd'");
+ END IF;
+ IF CHARACTER'POS('e') /= 101 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'e'");
+ END IF;
+ IF CHARACTER'POS('f') /= 102 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'f'");
+ END IF;
+ IF CHARACTER'POS('g') /= 103 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'g'");
+ END IF;
+ IF CHARACTER'POS('h') /= 104 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'h'");
+ END IF;
+ IF CHARACTER'POS('i') /= 105 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'i'");
+ END IF;
+ IF CHARACTER'POS('j') /= 106 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'j'");
+ END IF;
+ IF CHARACTER'POS('k') /= 107 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'k'");
+ END IF;
+ IF CHARACTER'POS('l') /= 108 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'l'");
+ END IF;
+ IF CHARACTER'POS('m') /= 109 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'm'");
+ END IF;
+ IF CHARACTER'POS('n') /= 110 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'n'");
+ END IF;
+ IF CHARACTER'POS('o') /= 111 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'o'");
+ END IF;
+ IF CHARACTER'POS('p') /= 112 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'p'");
+ END IF;
+ IF CHARACTER'POS('q') /= 113 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'q'");
+ END IF;
+ IF CHARACTER'POS('r') /= 114 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'r'");
+ END IF;
+ IF CHARACTER'POS('s') /= 115 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 's'");
+ END IF;
+ IF CHARACTER'POS('t') /= 116 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 't'");
+ END IF;
+ IF CHARACTER'POS('u') /= 117 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'u'");
+ END IF;
+ IF CHARACTER'POS('v') /= 118 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'v'");
+ END IF;
+ IF CHARACTER'POS('w') /= 119 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'w'");
+ END IF;
+ IF CHARACTER'POS('x') /= 120 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'x'");
+ END IF;
+ IF CHARACTER'POS('y') /= 121 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'y'");
+ END IF;
+ IF CHARACTER'POS('z') /= 122 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR 'z'");
+ END IF;
+
+ IF CHARACTER'POS('!') /= 33 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '!'");
+ END IF;
+ IF CHARACTER'POS('$') /= 36 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '$'");
+ END IF;
+ IF CHARACTER'POS('%') /= 37 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '%'");
+ END IF;
+ IF CHARACTER'POS('?') /= 63 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '?'");
+ END IF;
+ IF CHARACTER'POS('@') /= 64 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '@'");
+ END IF;
+ IF CHARACTER'POS('[') /= 91 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '['");
+ END IF;
+ IF CHARACTER'POS('\') /= 92 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '\'");
+ END IF;
+ IF CHARACTER'POS(']') /= 93 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR ']'");
+ END IF;
+ IF CHARACTER'POS('^') /= 94 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '^'");
+ END IF;
+ IF CHARACTER'POS('`') /= 96 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '`'");
+ END IF;
+ IF CHARACTER'POS('{') /= 123 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '{'");
+ END IF;
+ IF CHARACTER'POS('}') /= 125 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '}'");
+ END IF;
+ IF CHARACTER'POS('~') /= 126 THEN
+ FAILED ("INCORRECT POSITION NUMBER FOR '~'");
+ END IF;
+
+ RESULT;
+END C25001B;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c26006a.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c26006a.ada
new file mode 100644
index 000000000..b4e8ce6b2
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c26006a.ada
@@ -0,0 +1,53 @@
+-- C26006A.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT ALL ASCII CHARACTERS CAN APPEAR IN THE MIDDLE OF A STRING
+-- (I.E., NONE ARE USED IN THE INTERNAL REPRESENTATION TO TERMINATE THE
+-- STRING).
+
+-- JRK 12/12/79
+
+WITH REPORT;
+PROCEDURE C26006A IS
+
+ USE REPORT;
+
+ S1 : STRING (1..3) := "A 1";
+ S2 : STRING (1..3) := "A 2";
+
+BEGIN
+ TEST ("C26006A", "ALL ASCII CHARACTERS CAN APPEAR IN MIDDLE " &
+ "OF STRINGS");
+
+ FOR C IN CHARACTER'FIRST .. CHARACTER'LAST LOOP
+ S1 (2) := C;
+ S2 (2) := C;
+ IF S1 = S2 THEN
+ FAILED (CHARACTER'IMAGE(C) & " TERMINATED A " &
+ "STRING = COMPARISON");
+ END IF;
+ END LOOP;
+
+ RESULT;
+END C26006A;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c26008a.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c26008a.ada
new file mode 100644
index 000000000..89bb549da
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c26008a.ada
@@ -0,0 +1,51 @@
+-- C26008A.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT UPPER AND LOWER CASE LETTERS ARE DISTINCT WITHIN STRING
+-- LITERALS.
+
+-- JRK 12/12/79
+-- PWN 11/30/94 SUBTYPE QUALIFIED LITERALS FOR ADA 9X.
+
+WITH REPORT;
+PROCEDURE C26008A IS
+
+ USE REPORT;
+
+BEGIN
+ TEST ("C26008A", "UPPER/LOWER CASE ARE DISTINCT IN STRING " &
+ "LITERALS");
+
+ IF CHARACTER'('a') = 'A' THEN
+ FAILED ("LOWER CASE NOT DISTINCT FROM UPPER IN " &
+ "CHARACTER LITERALS");
+ END IF;
+
+ IF STRING'("abcde") = "ABCDE" THEN
+ FAILED ("LOWER CASE NOT DISTINCT FROM UPPER IN " &
+ "STRING LITERALS");
+ END IF;
+
+ RESULT;
+END C26008A;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a001a.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a001a.ada
new file mode 100644
index 000000000..27b8fe0a2
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a001a.ada
@@ -0,0 +1,60 @@
+-- C2A001A.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT NON-CONSECUTIVE UNDERSCORES ARE PERMITTED
+-- IN EVERY PART OF A BASED INTEGER LITERAL WHEN SHARPS
+-- ARE USED INSTEAD OF COLONS.
+
+-- INTEGER LITERALS.
+
+-- DCB 1/24/80
+-- JRK 10/27/80
+-- JBG 5/28/85
+
+WITH REPORT;
+PROCEDURE C2A001A IS
+
+ USE REPORT;
+
+ I1, I2, I3, I4 : INTEGER;
+
+BEGIN
+ TEST("C2A001A", "UNDERSCORES ALLOWED IN BASED INTEGER LITERALS " &
+ "THAT HAVE COLONS");
+
+ I1 := 12_3;
+ I2 := 1_6:D:;
+ I3 := 2:1011_0101:;
+ I4 := 16:D:E0_1;
+
+ IF I1 = 123 AND I2 = 16:D: AND I3 = 2:10110101: AND
+ I4 = 16:D:E01 THEN
+ NULL;
+ ELSE
+ FAILED("UNDERSCORES IN INTEGER LITERALS NOT HANDLED " &
+ "CORRECTLY");
+ END IF;
+
+ RESULT;
+END C2A001A;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a001b.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a001b.ada
new file mode 100644
index 000000000..ea1f1baae
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a001b.ada
@@ -0,0 +1,59 @@
+-- C2A001B.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT NON-CONSECUTIVE UNDERSCORES ARE PERMITTED
+-- IN EVERY PART OF A BASED FLOATING POINT LITERAL THAT
+-- USES COLONS INSTEAD OF SHARPS.
+
+-- DCB 04/22/80
+-- JRK 10/27/80
+-- JBG 5/28/85
+
+WITH REPORT;
+PROCEDURE C2A001B IS
+
+ USE REPORT;
+
+ F1, F2, F3, F4, F5 : FLOAT;
+
+BEGIN
+ TEST("C2A001B", "UNDERSCORES ALLOWED IN BASED FLOATING POINT " &
+ "LITERALS THAT HAVE COLONS");
+
+ F1 := 1.2_5E1;
+ F2 := 1_6:1.A:;
+ F3 := 8:1_3.5:;
+ F4 := 8:2.3_7:;
+ F5 := 8:3.4:E1_1;
+
+ IF F1 = 1.25E1 AND F2 = 16:1.A: AND F3 = 8:13.5: AND
+ F4 = 8:2.37: AND F5 = 8:3.4:E11 THEN
+ NULL;
+ ELSE
+ FAILED("UNDERSCORES IN FLOATING POINT LITERALS NOT " &
+ "HANDLED CORRECTLY");
+ END IF;
+
+ RESULT;
+END C2A001B;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a001c.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a001c.ada
new file mode 100644
index 000000000..db3c98d59
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a001c.ada
@@ -0,0 +1,63 @@
+-- C2A001C.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT NON-CONSECUTIVE UNDERSCORES ARE PERMITTED
+-- IN EVERY PART OF A BASED FIXED POINT LITERAL THAT USES
+-- COLONS INSTEAD OF SHARPS.
+
+-- DCB 04/22/80
+-- JRK 10/27/80
+-- JBG 5/28/85
+
+WITH REPORT;
+PROCEDURE C2A001C IS
+
+ USE REPORT;
+
+ TYPE FIXED1 IS DELTA 2.0**(-6) RANGE 0.0 .. 10.0;
+ TYPE FIXED2 IS DELTA 2.0**(-4) RANGE 0.0 .. 100.0;
+
+ F2, F4 : FIXED1;
+ F1, F3, F5 : FIXED2;
+
+BEGIN
+ TEST("C2A001C", "UNDERSCORES ALLOWED IN BASED FIXED POINT " &
+ "LITERALS THAT USE COLONS");
+
+ F1 := 1.2_5E1;
+ F2 := 1_6:1.A:;
+ F3 := 8:1_3.5:;
+ F4 := 8:2.3_7:;
+ F5 := 8:3.4:E0_1;
+
+ IF F1 = 1.25E1 AND F2 = 16:1.A: AND F3 = 8:13.5: AND
+ F4 = 8:2.37: AND F5 = 8:3.4:E01 THEN
+ NULL;
+ ELSE
+ FAILED("UNDERSCORES IN FIXED POINT LITERALS NOT " &
+ "HANDLED CORRECTLY");
+ END IF;
+
+ RESULT;
+END C2A001C;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a002a.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a002a.ada
new file mode 100644
index 000000000..cd7cd5998
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a002a.ada
@@ -0,0 +1,111 @@
+-- C2A002A.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT BASED INTEGER LITERALS WITH BASES 2 THROUGH 16 ALL
+-- YIELD CORRECT VALUES WHEN COLONS ARE USED INSTEAD OF SHARPS.
+
+-- JRK 12/12/79
+-- JRK 10/27/80
+-- JBG 5/28/85
+
+WITH REPORT;
+PROCEDURE C2A002A IS
+
+ USE REPORT;
+
+ I : INTEGER := 200;
+
+BEGIN
+ TEST ("C2A002A", "VALUES OF BASED INTEGER LITERALS WITH " &
+ "COLONS");
+
+ IF 2:11: /= 3 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 2 INTEGER");
+ END IF;
+
+ IF 3:22: /= 8 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 3 INTEGER");
+ END IF;
+
+ IF 4:33: /= 15 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 4 INTEGER");
+ END IF;
+
+ IF 5:44: /= 24 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 5 INTEGER");
+ END IF;
+
+ IF 6:55: /= 35 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 6 INTEGER");
+ END IF;
+
+ IF 7:66: /= 48 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 7 INTEGER");
+ END IF;
+
+ IF 8:77: /= 63 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 8 INTEGER");
+ END IF;
+
+ IF 9:88: /= 80 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 9 INTEGER");
+ END IF;
+
+ IF 10:99: /= 99 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 10 INTEGER");
+ END IF;
+
+ IF 11:AA: /= 120 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 11 INTEGER");
+ END IF;
+
+ IF 12:BB: /= 143 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 12 INTEGER");
+ END IF;
+
+ IF 13:CC: /= 168 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 13 INTEGER");
+ END IF;
+
+ IF 14:DD: /= 195 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 14 INTEGER");
+ END IF;
+
+ IF 15:EE: /= 224 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 15 INTEGER");
+ END IF;
+
+ IF 16:FF: /= 255 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 16 INTEGER");
+ END IF;
+
+ ----------------------------------------
+
+ IF 7:66:E1 /= 336 THEN
+ FAILED ("INCORRECT VALUE FOR BASE 7 INTEGER " &
+ "WITH EXPONENT");
+ END IF;
+
+ RESULT;
+END C2A002A;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a008a.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a008a.ada
new file mode 100644
index 000000000..70690c7dd
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a008a.ada
@@ -0,0 +1,66 @@
+-- C2A008A.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT UPPER AND LOWER CASE "E" MAY APPEAR IN BASED LITERALS,
+-- WHEN USING COLONS IN PLACE OF THE SHARP SIGN.
+
+-- TBN 2/28/86
+
+WITH REPORT; USE REPORT;
+PROCEDURE C2A008A IS
+
+ TYPE FLOAT IS DIGITS 5;
+ INT_1 : INTEGER := 15:A:E1;
+ INT_2 : INTEGER := 15:A:e1;
+ FLO_1 : FLOAT := 16:FD.C:E1;
+ FLO_2 : FLOAT := 16:FD.C:e1;
+
+BEGIN
+ TEST("C2A008A", "CHECK THAT UPPER AND LOWER CASE ""E"" MAY " &
+ "APPEAR IN BASED LITERALS, WHEN USING COLONS " &
+ "IN PLACE OF THE SHARP SIGN");
+
+ IF INT_1 /= INT_2 THEN
+ FAILED ("UPPER AND LOWER CASE LETTERS NOT ALLOWED - 1");
+ END IF;
+
+ IF FLO_1 /= FLO_2 THEN
+ FAILED ("UPPER AND LOWER CASE LETTERS NOT ALLOWED - 2");
+ END IF;
+
+ INT_1 := 14:BC:E1;
+ INT_2 := 14:BC:e1;
+ FLO_1 := 16:DEF.AB:E0;
+ FLO_2 := 16:DEF.AB:e0;
+
+ IF INT_1 /= INT_2 THEN
+ FAILED ("UPPER AND LOWER CASE LETTERS NOT ALLOWED - 3");
+ END IF;
+
+ IF FLO_1 /= FLO_2 THEN
+ FAILED ("UPPER AND LOWER CASE LETTERS NOT ALLOWED - 4");
+ END IF;
+
+ RESULT;
+END C2A008A;
diff --git a/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a021b.ada b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a021b.ada
new file mode 100644
index 000000000..572e4ce55
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/ada/acats/tests/c2/c2a021b.ada
@@ -0,0 +1,44 @@
+-- C2A021B.ADA
+
+-- Grant of Unlimited Rights
+--
+-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
+-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
+-- unlimited rights in the software and documentation contained herein.
+-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
+-- this public release, the Government intends to confer upon all
+-- recipients unlimited rights equal to those held by the Government.
+-- These rights include rights to use, duplicate, release or disclose the
+-- released technical data and computer software in whole or in part, in
+-- any manner and for any purpose whatsoever, and to have or permit others
+-- to do so.
+--
+-- DISCLAIMER
+--
+-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
+-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
+-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
+-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
+-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
+-- PARTICULAR PURPOSE OF SAID MATERIAL.
+--*
+-- CHECK THAT A STRING LITERAL DELIMITED BY PERCENT SIGNS MUST CONTAIN A
+-- DOUBLED PERCENT CHARACTER IF THE STRING VALUE IS TO CONTAIN A PERCENT
+-- CHARACTER.
+
+-- JBG 5/25/85
+
+WITH REPORT; USE REPORT;
+PROCEDURE C2A021B IS
+ X : STRING (1..5) := %%%%%345%;
+ Y : STRING (1..5) := IDENT_STR ("%%345");
+BEGIN
+ TEST ("C2A021B", "CHECK USE OF PERCENT SIGN INSIDE STRINGS " &
+ "DELIMITED WITH PERCENT SIGNS");
+
+ IF X /= Y THEN
+ FAILED ("STRING LITERALS NOT EQUAL");
+ END IF;
+
+ RESULT;
+END C2A021B;