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;