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.