| -- Copyright 2008-2012 Free Software Foundation, Inc. |
| -- |
| -- This program is free software; you can redistribute it and/or modify |
| -- it under the terms of the GNU General Public License as published by |
| -- the Free Software Foundation; either version 3 of the License, or |
| -- (at your option) any later version. |
| -- |
| -- This program is distributed in the hope that it will be useful, |
| -- but WITHOUT ANY WARRANTY; without even the implied warranty of |
| -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| -- GNU General Public License for more details. |
| -- |
| -- You should have received a copy of the GNU General Public License |
| -- along with this program. If not, see <http://www.gnu.org/licenses/>. |
| |
| -- Test Ada additions to core GDB evaluation. |
| |
| with System; |
| with Text_IO; use Text_IO; |
| |
| procedure P is |
| type Int is range System.Min_Int .. System.Max_Int; |
| |
| X, Z : Int; |
| Y : Integer; |
| |
| begin |
| X := 0; |
| -- Set X to 7 by disguised means lest a future optimizer interfere. |
| for I in 1 .. 7 loop |
| X := X + 1; |
| end loop; |
| Z := 1; |
| Y := 0; |
| while Z < Int'Last / X loop |
| Z := Z * X; |
| Y := Y + 1; |
| end loop; |
| |
| Put_Line (Int'Image (X ** Y)); -- START |
| end P; |