Warning: This file is not a C or C++ file. It does not have highlighting.

1/*===-- include/flang/Runtime/entry-names.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/* Defines the macro RTNAME(n) which decorates the external name of a runtime
11 * library function or object with extra characters so that it
12 * (a) is not in the user's name space,
13 * (b) doesn't conflict with other libraries, and
14 * (c) prevents incompatible versions of the runtime library from linking
15 *
16 * The value of REVISION should not be changed until/unless the API to the
17 * runtime library must change in some way that breaks backward compatibility.
18 */
19#ifndef FORTRAN_RUNTIME_ENTRY_NAMES_H
20#define FORTRAN_RUNTIME_ENTRY_NAMES_H
21
22#include "flang/Common/api-attrs.h"
23
24#ifndef RTNAME
25#define NAME_WITH_PREFIX_AND_REVISION(prefix, revision, name) \
26 prefix##revision##name
27#define RTNAME(name) NAME_WITH_PREFIX_AND_REVISION(_Fortran, A, name)
28#endif
29
30#ifndef RTDECL
31#define RTDECL(name) RT_API_ATTRS RTNAME(name)
32#endif
33
34#ifndef RTDEF
35#define RTDEF(name) RT_API_ATTRS RTNAME(name)
36#endif
37
38#ifndef RTNAME_STRING
39#define RTNAME_STRINGIFY_(x) #x
40#define RTNAME_STRINGIFY(x) RTNAME_STRINGIFY_(x)
41#define RTNAME_STRING(name) RTNAME_STRINGIFY(RTNAME(name))
42#endif
43
44#endif /* !FORTRAN_RUNTIME_ENTRY_NAMES_H */
45

Warning: This file is not a C or C++ file. It does not have highlighting.

source code of flang/include/flang/Runtime/entry-names.h