bar.adb 1.0 KB

1234567891011121314151617181920212223242526272829
  1. -- Copyright 2018-2022 Free Software Foundation, Inc.
  2. --
  3. -- This program is free software; you can redistribute it and/or modify
  4. -- it under the terms of the GNU General Public License as published by
  5. -- the Free Software Foundation; either version 3 of the License, or
  6. -- (at your option) any later version.
  7. --
  8. -- This program is distributed in the hope that it will be useful,
  9. -- but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. -- GNU General Public License for more details.
  12. --
  13. -- You should have received a copy of the GNU General Public License
  14. -- along with this program. If not, see <http://www.gnu.org/licenses/>.
  15. with Pck; use Pck;
  16. procedure Bar is
  17. type Union_Type (A : Boolean := False) is record
  18. case A is
  19. when True => B : Integer;
  20. when False => C : Float;
  21. end case;
  22. end record;
  23. pragma Unchecked_Union (Union_Type);
  24. Ut : Union_Type := (A => True, B => 3);
  25. begin
  26. Do_Nothing (Ut'Address); -- STOP
  27. end Bar;