foo.adb 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. -- Copyright 2020-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 Pack; use Pack;
  16. procedure Foo is
  17. type U_W is range 0 .. 65535;
  18. for U_W'Size use 16;
  19. type R_C is
  20. record
  21. One : U_W;
  22. Two : U_W;
  23. end record;
  24. for R_C use
  25. record at mod 2;
  26. One at 0 range 0 .. 15;
  27. Two at 2 range 0 .. 15;
  28. end record;
  29. for R_C'size use 2*16;
  30. Value: R_C := (One => 8000, Two => 51000);
  31. begin
  32. Do_Nothing (Value'Address); -- BREAK
  33. end Foo;