xref: /llvm-project/llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/definitions.h (revision b19cfb9175223d3e1bb3ef6d49ccd26d0104906c)
1*b19cfb91SCarlos Alberto Enciso //-----------------------------------------------------------------------------
2*b19cfb91SCarlos Alberto Enciso // Definitions.
3*b19cfb91SCarlos Alberto Enciso //-----------------------------------------------------------------------------
4*b19cfb91SCarlos Alberto Enciso #ifndef SUITE_DEFINITIONS_H
5*b19cfb91SCarlos Alberto Enciso #define SUITE_DEFINITIONS_H
6*b19cfb91SCarlos Alberto Enciso 
7*b19cfb91SCarlos Alberto Enciso #ifdef _MSC_VER
8*b19cfb91SCarlos Alberto Enciso #define forceinline __forceinline
9*b19cfb91SCarlos Alberto Enciso #define OPTIMIZE_OFF __pragma(optimize("", off))
10*b19cfb91SCarlos Alberto Enciso #define OPTIMIZE_ON  __pragma(optimize("", on))
11*b19cfb91SCarlos Alberto Enciso #elif defined(__clang__)
12*b19cfb91SCarlos Alberto Enciso #if __has_attribute(__always_inline__)
13*b19cfb91SCarlos Alberto Enciso #define forceinline inline __attribute__((__always_inline__))
14*b19cfb91SCarlos Alberto Enciso #else
15*b19cfb91SCarlos Alberto Enciso #define forceinline inline
16*b19cfb91SCarlos Alberto Enciso #endif
17*b19cfb91SCarlos Alberto Enciso #define OPTIMIZE_OFF _Pragma("clang optimize off")
18*b19cfb91SCarlos Alberto Enciso #define OPTIMIZE_ON  _Pragma("clang optimize on")
19*b19cfb91SCarlos Alberto Enciso #elif defined(__GNUC__)
20*b19cfb91SCarlos Alberto Enciso #define forceinline inline __attribute__((__always_inline__))
21*b19cfb91SCarlos Alberto Enciso #define OPTIMIZE_OFF _Pragma("GCC optimize off")
22*b19cfb91SCarlos Alberto Enciso #define OPTIMIZE_ON  _Pragma("GCC optimize on")
23*b19cfb91SCarlos Alberto Enciso #else
24*b19cfb91SCarlos Alberto Enciso #define forceinline inline
25*b19cfb91SCarlos Alberto Enciso #define OPTIMIZE_OFF
26*b19cfb91SCarlos Alberto Enciso #define OPTIMIZE_ON
27*b19cfb91SCarlos Alberto Enciso #error
28*b19cfb91SCarlos Alberto Enciso #endif
29*b19cfb91SCarlos Alberto Enciso 
30*b19cfb91SCarlos Alberto Enciso #endif // SUITE_DEFINITIONS_H
31