diff --git a/gcc/testsuite/gnat.dg/nan_max.adb b/gcc/testsuite/gnat.dg/nan_max.adb new file mode 100644 index 00000000000..a2cac30f5e8 --- /dev/null +++ b/gcc/testsuite/gnat.dg/nan_max.adb @@ -0,0 +1,30 @@ +-- { dg-do run } + +procedure Nan_Max is + + function NaN return Long_Float is + Zero : Long_Float := 0.0; + begin + return Zero / Zero; + end; + + Z : Long_Float := 1.0; + N : Long_Float := NaN; + +begin + if Long_Float'Max (N, Z) /= Z then + raise Program_Error; + end if; + + if Long_Float'Max (Z, N) /= Z then + raise Program_Error; + end if; + + if Long_Float'Max (NaN, Z) /= Z then + raise Program_Error; + end if; + + if Long_Float'Max (Z, NaN) /= Z then + raise Program_Error; + end if; +end;