! RUN: %python %S/test_errors.py %s %flang_fc1
! Test that associations constructs can be correctly combined. The intrinsic
! functions are not what is tested here, they are only use to reveal the types
! of local variables.

  implicit none
  real res
  complex zres
  integer ires
  class(*), allocatable :: a, b
  select type(a)
    type is (integer)
      select type(b)
        type is (integer)
          ires = selected_int_kind(b)
          ires = selected_int_kind(a)
      end select
    type is (real)
     res = acos(a)
     !ERROR: Actual argument for 'x=' has bad type 'CLASS(*)'
     res = acos(b)
  end select

  select type(c => a)
    type is (real)
     res = acos(c)
    class default
     !ERROR: Actual argument for 'x=' has bad type 'CLASS(*)'
     res = acos(c)
  end select
  select type(a)
    type is (integer)
     !ERROR: Actual argument for 'x=' has bad type 'INTEGER(4)'
     res = acos(a)
  end select

  select type(b)
    type is (integer)
      associate(y=>1.0, x=>1, z=>(1.0,2.3))
        ires = selected_int_kind(x)
        select type(a)
          type is (real)
            res = acos(a)
            res = acos(y)
            !ERROR: Actual argument for 'x=' has bad type 'INTEGER(4)'
            res = acos(b)
          type is (integer)
            ires = selected_int_kind(b)
            zres = acos(z)
           !ERROR: Actual argument for 'x=' has bad type 'INTEGER(4)'
           res = acos(a)
        end select
      end associate
      ires = selected_int_kind(b)
      !ERROR: No explicit type declared for 'c'
      ires = selected_int_kind(c)
      !ERROR: Actual argument for 'x=' has bad type 'CLASS(*)'
      res = acos(a)
    class default
      !ERROR: Actual argument for 'r=' has bad type 'CLASS(*)'
      ires = selected_int_kind(b)
  end select
  !ERROR: Actual argument for 'r=' has bad type 'CLASS(*)'
  ires = selected_int_kind(a)
  !ERROR: Actual argument for 'x=' has bad type 'CLASS(*)'
  res = acos(b)
end
