with Interfaces; use Interfaces; with System; package Suppress_Initialization_Pkg is type Discriminated_Type (Foo : Unsigned_8 := 0) is record case Foo is when 0 => Bar : Boolean; when 1 => Baz : Unsigned_32; when others => null; end case; end record; for Discriminated_Type use record Foo at 0 range 0 .. 7; Bar at 1 range 0 .. 0; Baz at 1 range 0 .. 31; end record; External : Discriminated_Type with Volatile, Suppress_Initialization, Address => System'To_Address (16#1234_5678#); procedure Read; end Suppress_Initialization_Pkg;