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