diff options
Diffstat (limited to 'gcc-4.8/gcc/testsuite/gnat.dg/boolean_subtype1.adb')
-rw-r--r-- | gcc-4.8/gcc/testsuite/gnat.dg/boolean_subtype1.adb | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/gcc-4.8/gcc/testsuite/gnat.dg/boolean_subtype1.adb b/gcc-4.8/gcc/testsuite/gnat.dg/boolean_subtype1.adb new file mode 100644 index 000000000..60e2199db --- /dev/null +++ b/gcc-4.8/gcc/testsuite/gnat.dg/boolean_subtype1.adb @@ -0,0 +1,42 @@ +-- { dg-do compile } +-- { dg-options "-O2" } + +procedure Boolean_Subtype1 is + + subtype Component_T is Boolean; + + function Condition return Boolean is + begin + return True; + end; + + V : Integer := 0; + + function Component_Value return Integer is + begin + V := V + 1; + return V; + end; + + Most_Significant : Component_T := False; + Least_Significant : Component_T := True; + +begin + + if Condition then + Most_Significant := True; + end if; + + if Condition then + Least_Significant := Component_T'Val (Component_Value); + end if; + + if Least_Significant < Most_Significant then + Least_Significant := Most_Significant; + end if; + + if Least_Significant /= True then + raise Program_Error; + end if; + +end; |