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 PragmaMSCommentKind {
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 
39 #endif
40