aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2022-06-21 10:17:57 +0200
committerPierre-Marie de Rodat <derodat@adacore.com>2022-07-12 12:24:12 +0000
commita8d17a88a52d2f773423adb55399d23ed5ea03c8 (patch)
treefed1c2e45aaac773f78b64dc10bec2c7ce87e4bc /gcc/testsuite/gnat.dg
parenta54ad45a63182bf6d1873ed55d641769638e4c8f (diff)
downloadgcc-a8d17a88a52d2f773423adb55399d23ed5ea03c8.zip
gcc-a8d17a88a52d2f773423adb55399d23ed5ea03c8.tar.gz
gcc-a8d17a88a52d2f773423adb55399d23ed5ea03c8.tar.bz2
[Ada] Warn on unset objects in packages with no bodies
Fix an inconsistency, where GNAT was warning about references to unset objects inside generic packages with no bodies but not inside ordinary packages with no bodies. gcc/ada/ * sem_ch7.adb (Analyze_Package_Declaration): Check references to unset objects. gcc/testsuite/ * gnat.dg/specs/discr5.ads: Expect new warnings. * gnat.dg/specs/empty_variants.ads: Likewise. * gnat.dg/specs/pack13.ads: Likewise.
Diffstat (limited to 'gcc/testsuite/gnat.dg')
-rw-r--r--gcc/testsuite/gnat.dg/specs/discr5.ads5
-rw-r--r--gcc/testsuite/gnat.dg/specs/empty_variants.ads4
-rw-r--r--gcc/testsuite/gnat.dg/specs/pack13.ads2
3 files changed, 6 insertions, 5 deletions
diff --git a/gcc/testsuite/gnat.dg/specs/discr5.ads b/gcc/testsuite/gnat.dg/specs/discr5.ads
index c265723..79c234a 100644
--- a/gcc/testsuite/gnat.dg/specs/discr5.ads
+++ b/gcc/testsuite/gnat.dg/specs/discr5.ads
@@ -22,7 +22,7 @@ package Discr5 is
subtype Rt is R(True);
subtype Rf is R(False);
- type R1 (D1 : Boolean) is new R (X) with record
+ type R1 (D1 : Boolean) is new R (X) with record -- { dg-warning "\"X\" may be referenced before it has a value" }
FF : Float;
case D1 is
when True =>
@@ -38,7 +38,7 @@ package Discr5 is
subtype R1t is R1 (True);
subtype R1f is R1 (False);
- type R2 (D2 : Boolean) is new R1 (Y) with record
+ type R2 (D2 : Boolean) is new R1 (Y) with record -- { dg-warning "\"Y\" may be referenced before it has a value" }
FFF: System.Address;
case D2 is
when True =>
@@ -55,3 +55,4 @@ package Discr5 is
subtype R2f is R2 (False);
end Discr5;
+
diff --git a/gcc/testsuite/gnat.dg/specs/empty_variants.ads b/gcc/testsuite/gnat.dg/specs/empty_variants.ads
index 079b64a..9b0cdad 100644
--- a/gcc/testsuite/gnat.dg/specs/empty_variants.ads
+++ b/gcc/testsuite/gnat.dg/specs/empty_variants.ads
@@ -1,5 +1,4 @@
-- { dg-do compile }
--- { dg-options "-gnatdF" }
package Empty_Variants is
@@ -23,10 +22,11 @@ package Empty_Variants is
R : Rec;
- I : Integer := R.I;
+ I : Integer := R.I; -- { dg-warning "\"R\.I\" may be referenced before it has a value" }
J : Integer := R.J;
K : Integer := R.K;
L : Integer := R.L;
M : Integer := R.L;
end Empty_Variants;
+
diff --git a/gcc/testsuite/gnat.dg/specs/pack13.ads b/gcc/testsuite/gnat.dg/specs/pack13.ads
index 4594ab7..8614550 100644
--- a/gcc/testsuite/gnat.dg/specs/pack13.ads
+++ b/gcc/testsuite/gnat.dg/specs/pack13.ads
@@ -20,6 +20,6 @@ package Pack13 is
A : Arr;
- package My_G is new G (Boolean, A(True).B);
+ package My_G is new G (Boolean, A(True).B); -- { dg-warning "\"A\" may be referenced before it has a value" }
end Pack13;