Control Surface disable-pipes
MIDI Control Surface library for Arduino
Warnings.hpp
Go to the documentation of this file.
1#pragma once
2
3#if defined(__GNUC__) && !defined(__clang__)
4
5#if __GNUC__ >= 11
6
7#define AH_DIAGNOSTIC_WERROR() \
8 _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic error \"-Wall\"") \
9 _Pragma("GCC diagnostic error \"-Wextra\"") \
10 _Pragma("GCC diagnostic ignored \"-Wc++0x-compat\"")
11#define AH_DIAGNOSTIC_POP() _Pragma("GCC diagnostic pop")
12#define AH_DIAGNOSTIC_EXTERNAL_HEADER() \
13 _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic ignored \"-Wall\"") \
14 _Pragma("GCC diagnostic ignored \"-Wextra\"") \
15 _Pragma("GCC diagnostic ignored \"-Wsuggest-override\"") _Pragma( \
16 "GCC diagnostic ignored \"-Wunused-parameter\"") \
17 _Pragma("GCC diagnostic warning \"-Wcast-function-type\"") \
18 _Pragma("GCC diagnostic warning \"-Wdeprecated-copy\"")
19/* For the last two: see https://github.com/PaulStoffregen/cores/issues/660 */
20
21#elif __GNUC__ >= 5
22
23#define AH_DIAGNOSTIC_WERROR() \
24 _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic error \"-Wall\"") \
25 _Pragma("GCC diagnostic error \"-Wextra\"") \
26 _Pragma("GCC diagnostic ignored \"-Wc++0x-compat\"")
27#define AH_DIAGNOSTIC_POP() _Pragma("GCC diagnostic pop")
28#define AH_DIAGNOSTIC_EXTERNAL_HEADER() \
29 _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic ignored \"-Wall\"") \
30 _Pragma("GCC diagnostic ignored \"-Wextra\"") \
31 _Pragma("GCC diagnostic ignored \"-Wsuggest-override\"") \
32 _Pragma("GCC diagnostic ignored \"-Wunused-parameter\"")
33
34#else // __GNUC__ < 5
35
36#define AH_DIAGNOSTIC_WERROR() \
37 _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic error \"-Wall\"") \
38 _Pragma("GCC diagnostic error \"-Wextra\"") \
39 _Pragma("GCC diagnostic ignored \"-Wc++0x-compat\"") \
40 _Pragma("GCC diagnostic ignored \"-Wattributes\"")
41#define AH_DIAGNOSTIC_POP() _Pragma("GCC diagnostic pop")
42#define AH_DIAGNOSTIC_EXTERNAL_HEADER() \
43 _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic ignored \"-Wall\"") \
44 _Pragma("GCC diagnostic ignored \"-Wextra\"") \
45 _Pragma("GCC diagnostic ignored \"-Wregister\"") \
46 _Pragma("GCC diagnostic ignored \"-Wunused-parameter\"")
47
48#endif
49
50#else
51
52#define AH_DIAGNOSTIC_WERROR()
53#define AH_DIAGNOSTIC_POP()
54#define AH_DIAGNOSTIC_EXTERNAL_HEADER()
55
56#endif