1 | //===--- PragmaKinds.h - #pragma comment() kinds ---------------*- 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 LLVM_CLANG_BASIC_PRAGMAKINDS_H |
10 | #define LLVM_CLANG_BASIC_PRAGMAKINDS_H |
11 | |
12 | namespace clang { |
13 | |
14 | enum { |
15 | PCK_Unknown, |
16 | PCK_Linker, // #pragma comment(linker, ...) |
17 | PCK_Lib, // #pragma comment(lib, ...) |
18 | PCK_Compiler, // #pragma comment(compiler, ...) |
19 | PCK_ExeStr, // #pragma comment(exestr, ...) |
20 | PCK_User // #pragma comment(user, ...) |
21 | }; |
22 | |
23 | enum PragmaMSStructKind { |
24 | PMSST_OFF, // #pragms ms_struct off |
25 | PMSST_ON // #pragms ms_struct on |
26 | }; |
27 | |
28 | enum PragmaFloatControlKind { |
29 | PFC_Unknown, |
30 | PFC_Precise, // #pragma float_control(precise, [,on]) |
31 | PFC_NoPrecise, // #pragma float_control(precise, off) |
32 | PFC_Except, // #pragma float_control(except [,on]) |
33 | PFC_NoExcept, // #pragma float_control(except, off) |
34 | PFC_Push, // #pragma float_control(push) |
35 | PFC_Pop // #pragma float_control(pop) |
36 | }; |
37 | |
38 | enum PragmaFPKind { |
39 | PFK_Contract, // #pragma clang fp contract |
40 | PFK_Reassociate, // #pragma clang fp reassociate |
41 | PFK_Reciprocal, // #pragma clang fp reciprocal |
42 | PFK_Exceptions, // #pragma clang fp exceptions |
43 | PFK_EvalMethod // #pragma clang fp eval_method |
44 | }; |
45 | } |
46 | |
47 | #endif |
48 | |