1! { dg-do compile } 2! { dg-options "-O -fdump-tree-optimized" } 3! 4! Check that the GNU additions to ISO_C_Binding are accepted 5! 6use, intrinsic :: iso_c_binding, only: c_int128_t 7use, intrinsic :: iso_c_binding, only: c_int_least128_t 8use, intrinsic :: iso_c_binding, only: c_int_fast128_t 9use, intrinsic :: iso_c_binding, only: c_float128 10use, intrinsic :: iso_c_binding, only: c_float128_complex 11implicit none 12if (c_int128_t >= 0 .and. c_int128_t /= 16) call unreachable() 13if (c_int_least128_t >= 0 .and. c_int_least128_t < 16) call unreachable() 14if (c_int_fast128_t >= 0 .and. c_int_fast128_t < 16) call unreachable() 15if (c_float128 >= 0 .and. c_float128 /= 16) call unreachable() 16if (c_float128_complex >= 0 .and. c_float128_complex /= 16) call unreachable() 17end 18 19! { dg-final { scan-tree-dump-times "unreachable" 0 "optimized" } } 20! { dg-final { cleanup-tree-dump "optimized" } } 21