[flang] Add test for AssignmentChecker
authorTim Keith <tkeith@nvidia.com>
Wed, 6 Mar 2019 22:12:20 +0000 (14:12 -0800)
committerTim Keith <tkeith@nvidia.com>
Wed, 6 Mar 2019 22:12:20 +0000 (14:12 -0800)
Add a test to verify that AssignmentChecker is actually running.

Original-commit: flang-compiler/f18@2c91604e9bff06eb8d63d79abda916802966602f
Reviewed-on: https://github.com/flang-compiler/f18/pull/315
Tree-same-pre-rewrite: false

flang/test/semantics/CMakeLists.txt
flang/test/semantics/assign01.f90 [new file with mode: 0644]

index 00e6797..365e661 100644 (file)
@@ -75,6 +75,7 @@ set(ERROR_TESTS
   structconst01.f90
   structconst02.f90
   structconst03.f90
+  assign01.f90
 )
 
 # These test files have expected symbols in the source
diff --git a/flang/test/semantics/assign01.f90 b/flang/test/semantics/assign01.f90
new file mode 100644 (file)
index 0000000..10f9d07
--- /dev/null
@@ -0,0 +1,28 @@
+! Copyright (c) 2019, NVIDIA CORPORATION.  All rights reserved.
+!
+! Licensed under the Apache License, Version 2.0 (the "License");
+! you may not use this file except in compliance with the License.
+! You may obtain a copy of the License at
+!
+!     http://www.apache.org/licenses/LICENSE-2.0
+!
+! Unless required by applicable law or agreed to in writing, software
+! distributed under the License is distributed on an "AS IS" BASIS,
+! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+! See the License for the specific language governing permissions and
+! limitations under the License.
+
+integer :: a1(10), a2(10)
+logical :: m1(10), m2(5,5)
+m1 = .true.
+m2 = .false.
+a1 = [((i),i=1,10)]
+where (m1)
+  a2 = 1
+!ERROR: mask of ELSEWHERE statement is not conformable with the prior mask(s) in its WHERE construct
+elsewhere (m2)
+  a2 = 2
+elsewhere
+  a2 = 3
+end where
+end