[flang-commits] [PATCH] D121938: [flang] expand the num_images test coverage

Damian Rouson via Phabricator via flang-commits flang-commits at lists.llvm.org
Wed Apr 6 16:48:39 PDT 2022


rouson updated this revision to Diff 421045.
rouson added a comment.

Add keyword arguments to two non-conforming calls.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D121938/new/

https://reviews.llvm.org/D121938

Files:
  flang/test/Semantics/num_images.f90
  flang/test/Semantics/num_images01.f90
  flang/test/Semantics/num_images02.f90


Index: flang/test/Semantics/num_images02.f90
===================================================================
--- /dev/null
+++ 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


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D121938.421045.patch
Type: text/x-patch
Size: 2607 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/flang-commits/attachments/20220406/6b0654c7/attachment.bin>


More information about the flang-commits mailing list