diff flang/test/Semantics/block-data01.f90 @ 173:0572611fdcc8 llvm10 llvm12

reorgnization done
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 11:55:54 +0900
parents
children 2e18cbf3894f
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/flang/test/Semantics/block-data01.f90	Mon May 25 11:55:54 2020 +0900
@@ -0,0 +1,28 @@
+! RUN: %S/test_errors.sh %s %t %f18
+! Test BLOCK DATA subprogram (14.3)
+block data foo
+  !ERROR: IMPORT is not allowed in a BLOCK DATA subprogram
+  import
+  real :: pi = asin(-1.0) ! ok
+  !ERROR: An initialized variable in BLOCK DATA must be in a COMMON block
+  integer :: notInCommon = 1
+  integer :: uninitialized ! ok
+  !ERROR: 'p' may not appear in a BLOCK DATA subprogram
+  procedure(sin), pointer :: p => cos
+  !ERROR: 'p' is already declared as a procedure
+  common /block/ pi, p
+  real :: inBlankCommon
+  data inBlankCommon / 1.0 /
+  common inBlankCommon
+  !ERROR: An initialized variable in BLOCK DATA must be in a COMMON block
+  integer :: inDataButNotCommon
+  data inDataButNotCommon /1/
+  !ERROR: Two objects in the same EQUIVALENCE set may not be members of distinct COMMON blocks
+  integer :: inCommonA, inCommonB
+  common /a/ inCommonA, /b/ inCommonB
+  equivalence(inCommonA, inCommonB)
+  integer :: inCommonD, initialized ! ok
+  common /d/ inCommonD
+  equivalence(inCommonD, initialized)
+  data initialized /2/
+end block data