[flang-commits] [flang] f253a57 - [flang] expand the num_images test coverage
Damian Rouson via flang-commits
flang-commits at lists.llvm.org
Wed Apr 13 16:13:17 PDT 2022
Author: Damian Rouson
Date: 2022-04-13T16:09:19-07:00
New Revision: f253a577b296cdf9a2319661079bf87fe31ccbe6
URL: https://github.com/llvm/llvm-project/commit/f253a577b296cdf9a2319661079bf87fe31ccbe6
DIFF: https://github.com/llvm/llvm-project/commit/f253a577b296cdf9a2319661079bf87fe31ccbe6.diff
LOG: [flang] expand the num_images test coverage
Add a test with a range of num_images() intrinsic function
invocations, including the standard-conforming but previously
untested 'team' argument. Also test that several non-conforming
num_images() invocations generate the correct error messages.
Differential Revision: https://reviews.llvm.org/D121938
Added:
flang/test/Semantics/num_images01.f90
flang/test/Semantics/num_images02.f90
Modified:
Removed:
flang/test/Semantics/num_images.f90
################################################################################
diff --git a/flang/test/Semantics/num_images.f90 b/flang/test/Semantics/num_images01.f90
similarity index 100%
rename from flang/test/Semantics/num_images.f90
rename to flang/test/Semantics/num_images01.f90
diff --git a/flang/test/Semantics/num_images02.f90 b/flang/test/Semantics/num_images02.f90
new file mode 100644
index 0000000000000..378bdc8514d9e
--- /dev/null
+++ b/flang/test/Semantics/num_images02.f90
@@ -0,0 +1,72 @@
+! RUN: %python %S/test_errors.py %s %flang_fc1
+! Check for semantic errors in num_images() function calls
+
+program num_images_with_team_type
+ use iso_fortran_env, only : team_type
+ implicit none
+
+ type(team_type) home, league(2)
+ integer n
+ integer :: standard_initial_value = -1
+ integer coindexed[*]
+ integer array(1)
+
+ !___ standard-conforming statement with no optional arguments present ___
+ n = num_images()
+
+ !___ standard-conforming statements with team_number argument present ___
+ n = num_images(-1)
+ n = num_images(team_number = -1)
+ n = num_images(team_number = standard_initial_value)
+ n = num_images(standard_initial_value)
+ n = num_images(coindexed[1])
+
+ !___ standard-conforming statements with team_type argument present (not yet supported) ___
+
+ !ERROR: too many actual arguments for intrinsic 'num_images'
+ n = num_images(home)
+
+ !ERROR: unknown keyword argument to intrinsic 'num_images'
+ n = num_images(team=home)
+
+ !___ non-conforming statements ___
+
+ ! non-scalar integer argument
+ !ERROR: unknown keyword argument to intrinsic 'num_images'
+ n = num_images(team_number=array)
+
+ ! non-scalar team_type argument
+ !ERROR: unknown keyword argument to intrinsic 'num_images'
+ n = num_images(team=league)
+
+ ! incorrectly typed argument
+ !ERROR: too many actual arguments for intrinsic 'num_images'
+ n = num_images(3.4)
+
+ !ERROR: too many actual arguments for intrinsic 'num_images'
+ n = num_images(1, -1)
+
+ !ERROR: too many actual arguments for intrinsic 'num_images'
+ n = num_images(home, standard_initial_value)
+
+ ! keyword argument with incorrect type
+ !ERROR: unknown keyword argument to intrinsic 'num_images'
+ n = num_images(team_number=1.1)
+
+ ! incorrect keyword argument name but valid type (type number)
+ !ERROR: unknown keyword argument to intrinsic 'num_images'
+ n = num_images(team_num=-1)
+
+ ! incorrect keyword argument name but valid type (team_type)
+ !ERROR: unknown keyword argument to intrinsic 'num_images'
+ n = num_images(my_team=home)
+
+ ! correct keyword argument name but mismatched type
+ !ERROR: unknown keyword argument to intrinsic 'num_images'
+ n = num_images(team=-1)
+
+ ! correct keyword argument name but mismatched type
+ !ERROR: unknown keyword argument to intrinsic 'num_images'
+ n = num_images(team_number=home)
+
+end program num_images_with_team_type
More information about the flang-commits
mailing list