clang
20.0.0git
include
clang-c
ExternC.h
Go to the documentation of this file.
1
/*===- clang-c/ExternC.h - Wrapper for 'extern "C"' ---------------*- C -*-===*\
2
|* *|
3
|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *|
4
|* Exceptions. *|
5
|* See https://llvm.org/LICENSE.txt for license information. *|
6
|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *|
7
|* *|
8
|*===----------------------------------------------------------------------===*|
9
|* *|
10
|* This file defines an 'extern "C"' wrapper. *|
11
|* *|
12
\*===----------------------------------------------------------------------===*/
13
14
#ifndef LLVM_CLANG_C_EXTERN_C_H
15
#define LLVM_CLANG_C_EXTERN_C_H
16
17
#ifdef __clang__
18
#define LLVM_CLANG_C_STRICT_PROTOTYPES_BEGIN \
19
_Pragma("clang diagnostic push"
) \
20
_Pragma("clang diagnostic error \"-Wstrict-prototypes\"")
21
#define LLVM_CLANG_C_STRICT_PROTOTYPES_END _Pragma("clang diagnostic pop"
)
22
#else
23
#define LLVM_CLANG_C_STRICT_PROTOTYPES_BEGIN
24
#define LLVM_CLANG_C_STRICT_PROTOTYPES_END
25
#endif
26
27
#ifdef __cplusplus
28
#define LLVM_CLANG_C_EXTERN_C_BEGIN \
29
extern "C"
{ \
30
LLVM_CLANG_C_STRICT_PROTOTYPES_BEGIN
31
#define LLVM_CLANG_C_EXTERN_C_END \
32
LLVM_CLANG_C_STRICT_PROTOTYPES_END \
33
}
34
#else
35
#define LLVM_CLANG_C_EXTERN_C_BEGIN LLVM_CLANG_C_STRICT_PROTOTYPES_BEGIN
36
#define LLVM_CLANG_C_EXTERN_C_END LLVM_CLANG_C_STRICT_PROTOTYPES_END
37
#endif
38
39
#endif
Generated on Sun Nov 3 2024 10:17:10 for clang by
1.9.6