1*b0cea894SPeter Klausler! RUN: %python %S/test_errors.py %s %flang_fc1 2*b0cea894SPeter Klausler! C815: an attribute may be applied at most once per scope 3*b0cea894SPeter Klauslermodule m 4*b0cea894SPeter Klausler real a1, a2, v1, v2 5*b0cea894SPeter Klausler asynchronous a1 6*b0cea894SPeter Klausler asynchronous a2 7*b0cea894SPeter Klausler !ERROR: ASYNCHRONOUS attribute was already specified on 'a2' 8*b0cea894SPeter Klausler asynchronous a2 9*b0cea894SPeter Klausler volatile v1 10*b0cea894SPeter Klausler volatile v2 11*b0cea894SPeter Klausler !ERROR: VOLATILE attribute was already specified on 'v2' 12*b0cea894SPeter Klausler volatile v2 13*b0cea894SPeter Klausler contains 14*b0cea894SPeter Klausler subroutine modsub 15*b0cea894SPeter Klausler asynchronous a1 16*b0cea894SPeter Klausler asynchronous a2 17*b0cea894SPeter Klausler !ERROR: ASYNCHRONOUS attribute was already specified on 'a2' 18*b0cea894SPeter Klausler asynchronous a2 19*b0cea894SPeter Klausler volatile v1 20*b0cea894SPeter Klausler volatile v2 21*b0cea894SPeter Klausler !ERROR: VOLATILE attribute was already specified on 'v2' 22*b0cea894SPeter Klausler volatile v2 23*b0cea894SPeter Klausler block 24*b0cea894SPeter Klausler asynchronous a1 25*b0cea894SPeter Klausler asynchronous a2 26*b0cea894SPeter Klausler !ERROR: ASYNCHRONOUS attribute was already specified on 'a2' 27*b0cea894SPeter Klausler asynchronous a2 28*b0cea894SPeter Klausler volatile v1 29*b0cea894SPeter Klausler volatile v2 30*b0cea894SPeter Klausler !ERROR: VOLATILE attribute was already specified on 'v2' 31*b0cea894SPeter Klausler volatile v2 32*b0cea894SPeter Klausler end block 33*b0cea894SPeter Klausler end 34*b0cea894SPeter Klauslerend 35*b0cea894SPeter Klausler 36*b0cea894SPeter Klauslersubroutine s 37*b0cea894SPeter Klausler use m 38*b0cea894SPeter Klausler asynchronous a1 39*b0cea894SPeter Klausler asynchronous a2 40*b0cea894SPeter Klausler !ERROR: ASYNCHRONOUS attribute was already specified on 'a2' 41*b0cea894SPeter Klausler asynchronous a2 42*b0cea894SPeter Klausler volatile v1 43*b0cea894SPeter Klausler volatile v2 44*b0cea894SPeter Klausler !ERROR: VOLATILE attribute was already specified on 'v2' 45*b0cea894SPeter Klausler volatile v2 46*b0cea894SPeter Klausler block 47*b0cea894SPeter Klausler asynchronous a1 48*b0cea894SPeter Klausler asynchronous a2 49*b0cea894SPeter Klausler !ERROR: ASYNCHRONOUS attribute was already specified on 'a2' 50*b0cea894SPeter Klausler asynchronous a2 51*b0cea894SPeter Klausler volatile v1 52*b0cea894SPeter Klausler volatile v2 53*b0cea894SPeter Klausler !ERROR: VOLATILE attribute was already specified on 'v2' 54*b0cea894SPeter Klausler volatile v2 55*b0cea894SPeter Klausler end block 56*b0cea894SPeter Klausler contains 57*b0cea894SPeter Klausler subroutine internal 58*b0cea894SPeter Klausler asynchronous a1 59*b0cea894SPeter Klausler asynchronous a2 60*b0cea894SPeter Klausler !ERROR: ASYNCHRONOUS attribute was already specified on 'a2' 61*b0cea894SPeter Klausler asynchronous a2 62*b0cea894SPeter Klausler volatile v1 63*b0cea894SPeter Klausler volatile v2 64*b0cea894SPeter Klausler !ERROR: VOLATILE attribute was already specified on 'v2' 65*b0cea894SPeter Klausler volatile v2 66*b0cea894SPeter Klausler block 67*b0cea894SPeter Klausler asynchronous a1 68*b0cea894SPeter Klausler asynchronous a2 69*b0cea894SPeter Klausler !ERROR: ASYNCHRONOUS attribute was already specified on 'a2' 70*b0cea894SPeter Klausler asynchronous a2 71*b0cea894SPeter Klausler volatile v1 72*b0cea894SPeter Klausler volatile v2 73*b0cea894SPeter Klausler !ERROR: VOLATILE attribute was already specified on 'v2' 74*b0cea894SPeter Klausler volatile v2 75*b0cea894SPeter Klausler end block 76*b0cea894SPeter Klausler end 77*b0cea894SPeter Klauslerend 78*b0cea894SPeter Klausler 79