54 lines · plain
1! RUN: %python %S/test_errors.py %s %flang_fc12! Check for semantic errors in sync images statements.3! Some of the errors in this test would be hidden by the errors in4! the test synchronization02a.f90 if they were included in that file,5! and are thus tested here.6 7program test_sync_images8 implicit none9 10 integer, parameter :: invalid_rank(*,*) = reshape([1], [1,1])11 integer sync_status, non_scalar(2), superfluous_stat, coindexed_integer[*]12 character(len=128) error_message, superfluous_errmsg, coindexed_character[*]13 logical invalid_type14 15 !___ non-standard-conforming statements ___16 17 ! Image set shall not depend on the value of stat-variable18 sync images(sync_status, stat=sync_status)19 20 ! Image set shall not depend on the value of errmsg-variable21 sync images(len(error_message), errmsg=error_message)22 23 !ERROR: An image-set that is an int-expr must be a scalar or a rank-one array24 sync images(invalid_rank)25 26 !ERROR: Must have INTEGER type, but is LOGICAL(4)27 sync images([1], stat=invalid_type)28 29 !ERROR: Must be a scalar value, but is a rank-1 array30 sync images(*, stat=non_scalar)31 32 !ERROR: Must have CHARACTER type, but is LOGICAL(4)33 sync images(1, errmsg=invalid_type)34 35 !ERROR: The stat-variable in a sync-stat-list may not be repeated36 sync images(1, stat=sync_status, stat=superfluous_stat)37 38 !ERROR: The stat-variable in a sync-stat-list may not be repeated39 sync images(1, stat=sync_status, errmsg=error_message, stat=superfluous_stat)40 41 !ERROR: The errmsg-variable in a sync-stat-list may not be repeated42 sync images([1], errmsg=error_message, errmsg=superfluous_errmsg)43 44 !ERROR: The errmsg-variable in a sync-stat-list may not be repeated45 sync images([1], stat=sync_status, errmsg=error_message, errmsg=superfluous_errmsg)46 47 !ERROR: The stat-variable or errmsg-variable in a sync-stat-list may not be a coindexed object48 sync images(*, stat=coindexed_integer[1])49 50 !ERROR: The stat-variable or errmsg-variable in a sync-stat-list may not be a coindexed object51 sync images(1, errmsg=coindexed_character[1])52 53end program test_sync_images54