FastLED 3.9.15
Loading...
Searching...
No Matches
compiler_control.h
Go to the documentation of this file.
1#pragma once
2
3// Stringify helper for pragma arguments
4#define FL_STRINGIFY2(x) #x
5#define FL_STRINGIFY(x) FL_STRINGIFY2(x)
6
7#if defined(__clang__)
8 #define FL_DISABLE_WARNING_PUSH _Pragma("clang diagnostic push")
9 #define FL_DISABLE_WARNING_POP _Pragma("clang diagnostic pop")
10 // Usage: FL_DISABLE_WARNING(float-equal)
11 #define FL_DISABLE_WARNING(warning) _Pragma(FL_STRINGIFY(clang diagnostic ignored "-W" #warning))
12#elif defined(__GNUC__)
13 #define FL_DISABLE_WARNING_PUSH _Pragma("GCC diagnostic push")
14 #define FL_DISABLE_WARNING_POP _Pragma("GCC diagnostic pop")
15 // Usage: FL_DISABLE_WARNING(float-equal)
16 #define FL_DISABLE_WARNING(warning) _Pragma(FL_STRINGIFY(GCC diagnostic ignored "-W" #warning))
17#else
18 #define FL_DISABLE_WARNING_PUSH
19 #define FL_DISABLE_WARNING_POP
20 #define FL_DISABLE_WARNING(warning)
21#endif