FLANG
Exceptions.h
1//===-- Exceptions.h --------------------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef FORTRAN_OPTIMIZER_BUILDER_RUNTIME_EXCEPTIONS_H
10#define FORTRAN_OPTIMIZER_BUILDER_RUNTIME_EXCEPTIONS_H
11
12#include "mlir/IR/Value.h"
13
14namespace mlir {
15class Location;
16} // namespace mlir
17
18namespace fir {
19class FirOpBuilder;
20}
21
22namespace fir::runtime {
23
26mlir::Value genMapExcept(fir::FirOpBuilder &builder, mlir::Location loc,
27 mlir::Value excepts);
28
29void genFeclearexcept(fir::FirOpBuilder &builder, mlir::Location loc,
30 mlir::Value excepts);
31
32void genFeraiseexcept(fir::FirOpBuilder &builder, mlir::Location loc,
33 mlir::Value excepts);
34
35mlir::Value genFetestexcept(fir::FirOpBuilder &builder, mlir::Location loc,
36 mlir::Value excepts);
37
38void genFedisableexcept(fir::FirOpBuilder &builder, mlir::Location loc,
39 mlir::Value excepts);
40
41void genFeenableexcept(fir::FirOpBuilder &builder, mlir::Location loc,
42 mlir::Value excepts);
43
44mlir::Value genFegetexcept(fir::FirOpBuilder &builder, mlir::Location loc);
45
46mlir::Value genSupportHalting(fir::FirOpBuilder &builder, mlir::Location loc,
47 mlir::Value excepts);
48
49mlir::Value genGetUnderflowMode(fir::FirOpBuilder &builder, mlir::Location loc);
50void genSetUnderflowMode(fir::FirOpBuilder &builder, mlir::Location loc,
51 mlir::Value bit);
52
53mlir::Value genGetModesTypeSize(fir::FirOpBuilder &builder, mlir::Location loc);
54mlir::Value genGetStatusTypeSize(fir::FirOpBuilder &builder,
55 mlir::Location loc);
56
57} // namespace fir::runtime
58#endif // FORTRAN_OPTIMIZER_BUILDER_RUNTIME_EXCEPTIONS_H
Definition FIRBuilder.h:55
Definition AbstractConverter.h:34
Definition AbstractConverter.h:29