xref: /llvm-project/flang/include/flang/ISO_Fortran_binding_wrapper.h (revision 8ebf741136c66f51053315bf4f0ef828c6f66094)
1 /*===-- include/flang/ISO_Fortran_binding_wrapper.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 
10 #ifndef FORTRAN_ISO_FORTRAN_BINDING_WRAPPER_H_
11 #define FORTRAN_ISO_FORTRAN_BINDING_WRAPPER_H_
12 
13 /* A thin wrapper around flang/include/ISO_Fortran_binding.h
14  * This header file must be included when ISO_Fortran_binding.h
15  * definitions/declarations are needed in Flang compiler/runtime
16  * sources. The inclusion of Common/api-attrs.h below sets up
17  * proper values for the macros used in ISO_Fortran_binding.h
18  * for the device offload builds.
19  * flang/include/ISO_Fortran_binding.h is made a standalone
20  * header file so that it can be used on its own in users'
21  * C/C++ programs.
22  */
23 
24 /* clang-format off */
25 #include <stddef.h>
26 #include "Common/api-attrs.h"
27 #ifdef __cplusplus
28 namespace Fortran {
29 namespace ISO {
30 #define FORTRAN_ISO_NAMESPACE_ ::Fortran::ISO
31 #endif /* __cplusplus */
32 #include "ISO_Fortran_binding.h"
33 #ifdef __cplusplus
34 } // namespace ISO
35 } // namespace Fortran
36 #endif /* __cplusplus */
37 /* clang-format on */
38 
39 #endif /* FORTRAN_ISO_FORTRAN_BINDING_WRAPPER_H_ */
40