xref: /llvm-project/flang/unittests/Optimizer/Builder/Runtime/AllocatableTest.cpp (revision c91ba04328e1ded6f284469a7828d181324d4e30)
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