comparison gcc/testsuite/gfortran.dg/boz_1.f90 @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
comparison
equal deleted inserted replaced
131:84e7813d76e9 145:1830386684a0
1 ! { dg-do run } 1 ! { dg-do run }
2 ! { dg-options "-std=gnu" } 2 ! { dg-options "-std=gnu -fallow-invalid-boz" }
3 ! Test the boz handling 3 ! Test the boz handling
4 program boz 4 program boz
5 5
6 implicit none 6 implicit none
7 7
8 integer(1), parameter :: b1 = b'00000001' 8 integer(1), parameter :: b1 = b'00000001' ! { dg-warning "BOZ literal constant" }
9 integer(2), parameter :: b2 = b'0101010110101010' 9 integer(2), parameter :: b2 = b'0101010110101010' ! { dg-warning "BOZ literal constant" }
10 integer(4), parameter :: b4 = b'01110000111100001111000011110000' 10 integer(4), parameter :: b4 = b'01110000111100001111000011110000' ! { dg-warning "BOZ literal constant" }
11 integer(8), parameter :: & 11 integer(8), parameter :: &
12 & b8 = b'0111000011110000111100001111000011110000111100001111000011110000' 12 & b8 = b'0111000011110000111100001111000011110000111100001111000011110000' ! { dg-warning "BOZ literal constant" }
13 13
14 integer(1), parameter :: o1 = o'12' 14 integer(1), parameter :: o1 = o'12' ! { dg-warning "BOZ literal constant" }
15 integer(2), parameter :: o2 = o'4321' 15 integer(2), parameter :: o2 = o'4321' ! { dg-warning "BOZ literal constant" }
16 integer(4), parameter :: o4 = o'43210765' 16 integer(4), parameter :: o4 = o'43210765' ! { dg-warning "BOZ literal constant" }
17 integer(8), parameter :: o8 = o'1234567076543210' 17 integer(8), parameter :: o8 = o'1234567076543210' ! { dg-warning "BOZ literal constant" }
18 18
19 integer(1), parameter :: z1 = z'a' 19 integer(1), parameter :: z1 = z'a' ! { dg-warning "BOZ literal constant" }
20 integer(2), parameter :: z2 = z'ab' 20 integer(2), parameter :: z2 = z'ab' ! { dg-warning "BOZ literal constant" }
21 integer(4), parameter :: z4 = z'dead' 21 integer(4), parameter :: z4 = z'dead' ! { dg-warning "BOZ literal constant" }
22 integer(8), parameter :: z8 = z'deadbeef' 22 integer(8), parameter :: z8 = z'deadbeef' ! { dg-warning "BOZ literal constant" }
23 23
24 if (z1 /= 10_1) STOP 1 24 if (z1 /= 10_1) STOP 1
25 if (z2 /= 171_2) STOP 2 25 if (z2 /= 171_2) STOP 2
26 if (z4 /= 57005_4) STOP 3 26 if (z4 /= 57005_4) STOP 3
27 if (z8 /= 3735928559_8) STOP 4 27 if (z8 /= 3735928559_8) STOP 4