I can only guess that when you added "-gnato", gnatmake simply replied gnatmake: "compute" up to date.
leaving you with the same executable.
brian@Gannet:~/Ada/Play$ gnatmake -gnato compute.adb
brian@Gannet:~/Ada/Play$ ./compute
1
2
...
536870912
1073741824
raised CONSTRAINT_ERROR : compute.adb:9 overflow check failed
Then without -gnato (I had to touch the source or I got the "up to date" message)
brian@Gannet:~/Ada/Play$ gnatmake compute.adb
brian@Gannet:~/Ada/Play$ ./compute
1
2
...
536870912
1073741824
-2147483648
0
0
0
0
which subsequently appears as a string of zeroes. Adding your extra "if" statement touched the file, forcing recompilation : the "if" itself is not strictly necessary (though testing and preventing constraint error is a Good Thing!)
The moral : without -gnato, or rather, without at least the flags -gnataoE -fstack_check
, Gnat is not an Ada compiler.