12ab1c6d3SDavid Truby //===- AllocatableTest.cpp -- allocatable runtime builder unit tests ------===// 22ab1c6d3SDavid Truby // 32ab1c6d3SDavid Truby // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 42ab1c6d3SDavid Truby // See https://llvm.org/LICENSE.txt for license information. 52ab1c6d3SDavid Truby // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 62ab1c6d3SDavid Truby // 72ab1c6d3SDavid Truby //===----------------------------------------------------------------------===// 82ab1c6d3SDavid Truby 92ab1c6d3SDavid Truby #include "flang/Optimizer/Builder/Runtime/Allocatable.h" 102ab1c6d3SDavid Truby #include "RuntimeCallTestBase.h" 112ab1c6d3SDavid Truby #include "gtest/gtest.h" 12*c91ba043SMichael Kruse #include "flang/Runtime/descriptor-consts.h" 132ab1c6d3SDavid Truby 142ab1c6d3SDavid Truby using namespace Fortran::runtime; 152ab1c6d3SDavid Truby 162ab1c6d3SDavid Truby TEST_F(RuntimeCallTest, genMoveAlloc) { 172ab1c6d3SDavid Truby mlir::Location loc = firBuilder->getUnknownLoc(); 182ab1c6d3SDavid Truby mlir::Type seqTy = 192ab1c6d3SDavid Truby fir::SequenceType::get(fir::SequenceType::Shape(1, 10), i32Ty); 202ab1c6d3SDavid Truby mlir::Value from = firBuilder->create<fir::UndefOp>(loc, seqTy); 212ab1c6d3SDavid Truby mlir::Value to = firBuilder->create<fir::UndefOp>(loc, seqTy); 222ab1c6d3SDavid Truby mlir::Value errMsg = firBuilder->create<fir::UndefOp>(loc, seqTy); 232ab1c6d3SDavid Truby mlir::Value hasStat = firBuilder->createBool(loc, false); 242ab1c6d3SDavid Truby fir::runtime::genMoveAlloc(*firBuilder, loc, to, from, hasStat, errMsg); 25f88bc7d4SValentin Clement checkCallOpFromResultBox(to, "_FortranAMoveAlloc", 5); 262ab1c6d3SDavid Truby } 27