brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.5 KiB · e9cfa49 Raw
122 lines · plain
1! REQUIRES: openmp_runtime2 3! RUN: %python %S/../test_errors.py %s %flang_fc1 %openmp_flags 4! Semantic checks on hint clauses, as they appear on critical construct5 6program sample7    use omp_lib8    integer :: y9    logical :: z10    real :: k11    integer :: p(1)12    13    !$omp critical (name) hint(1)14        y = 215    !$omp end critical (name)16    17    !$omp critical (name) hint(2)18        y = 219    !$omp end critical (name)20     21    !ERROR: The synchronization hint is not valid22    !$omp critical (name) hint(3)23        y = 224    !$omp end critical (name)25    26    !$omp critical (name)  hint(5)27        y = 228    !$omp end critical (name)29    30    !ERROR: The synchronization hint is not valid31    !$omp critical (name) hint(7)32        y = 233    !$omp end critical (name)34   35    !ERROR: Synchronization hint must be a constant integer value36    !ERROR: Must be a constant value37    !$omp critical (name) hint(x)38        y = 239    !$omp end critical (name)40    41    !$omp critical (name) hint(4)42        y = 243    !$omp end critical (name)44 45    !$omp critical (name) hint(8)46        y = 247    !$omp end critical (name)48 49    !$omp critical (name) hint(omp_sync_hint_uncontended)50        y = 251    !$omp end critical (name)52 53    !$omp critical (name) hint(omp_lock_hint_speculative)54        y = 255    !$omp end critical (name)56    57    !ERROR: Synchronization hint must be a constant integer value58    !ERROR: Must be a constant value59    !$omp critical (name) hint(omp_sync_hint_uncontended + omp_sync_hint) 60        y = 261    !$omp end critical (name)62 63    !$omp critical (name) hint(omp_sync_hint_nonspeculative)64        y = 265    !$omp end critical (name)66 67     !$omp critical (name) hint(omp_sync_hint_none)68        y = 269    !$omp end critical (name)70 71    !$omp critical (name) hint(omp_sync_hint_uncontended + omp_lock_hint_speculative)72        y = 273    !$omp end critical (name)74 75    !$omp critical (name) hint(omp_lock_hint_nonspeculative + omp_lock_hint_uncontended)76        y = 277    !$omp end critical (name)78 79    !$omp critical (name) hint(omp_lock_hint_contended + omp_sync_hint_speculative)80        y = 281    !$omp end critical (name)82 83    !$omp critical (name) hint(omp_lock_hint_contended + omp_sync_hint_nonspeculative)84        y = 285    !$omp end critical (name)86 87    !ERROR: The synchronization hint is not valid88     !$omp critical (name) hint(omp_sync_hint_uncontended + omp_sync_hint_contended)89        y = 290    !$omp end critical (name)91 92    !ERROR: The synchronization hint is not valid93    !$omp critical (name) hint(omp_sync_hint_nonspeculative + omp_lock_hint_speculative)94        y = 295    !$omp end critical (name)96 97    !ERROR: Synchronization hint must be a constant integer value98    !ERROR: Must have INTEGER type, but is REAL(4)99    !$omp critical (name) hint(1.0) 100        y = 2101    !$omp end critical (name)102 103    !ERROR: Synchronization hint must be a constant integer value104    !ERROR: Operands of + must be numeric; have LOGICAL(4) and INTEGER(4)105    !$omp critical (name) hint(z + omp_sync_hint_nonspeculative)106        y = 2107    !$omp end critical (name)108 109    !ERROR: Synchronization hint must be a constant integer value110    !ERROR: Must be a constant value111    !$omp critical (name) hint(k + omp_sync_hint_speculative)112        y = 2113    !$omp end critical (name)114 115    !ERROR: Synchronization hint must be a constant integer value116    !ERROR: Must be a constant value117    !$omp critical (name) hint(p(1) + omp_sync_hint_uncontended)118        y = 2119    !$omp end critical (name)120end program121 122