foo.adb 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. -- Copyright 2014-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. procedure Foo is
  16. function Range_Count (L, U : Integer) return Natural
  17. is
  18. type Array_Type is array (L .. U) of Natural;
  19. A : Array_Type := (others => 1);
  20. Result : Natural := 0;
  21. begin
  22. for I of A loop -- START
  23. Result := Result + I;
  24. end loop;
  25. return Result;
  26. end Range_Count;
  27. R2 : constant Natural := Range_Count (5, 10);
  28. begin
  29. null;
  30. end Foo;