diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2022-06-21 10:17:57 +0200 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2022-07-12 12:24:12 +0000 |
commit | a8d17a88a52d2f773423adb55399d23ed5ea03c8 (patch) | |
tree | fed1c2e45aaac773f78b64dc10bec2c7ce87e4bc /gcc/testsuite/gnat.dg | |
parent | a54ad45a63182bf6d1873ed55d641769638e4c8f (diff) | |
download | gcc-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.ads | 5 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/specs/empty_variants.ads | 4 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/specs/pack13.ads | 2 |
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; |