diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/debug.c | 16 | ||||
-rw-r--r-- | common/debug_config.h | 2 |
2 files changed, 15 insertions, 3 deletions
diff --git a/common/debug.c b/common/debug.c index c4fa3a05b..18613fc28 100644 --- a/common/debug.c +++ b/common/debug.c @@ -1,12 +1,24 @@ #include <stdbool.h> #include "debug.h" +#define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) -//debug_config_t debug_config = { .enable = false, .matrix = false }; debug_config_t debug_config = { +/* GCC Bug 10676 - Using unnamed fields in initializers + * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=10676 */ +#if GCC_VERSION >= 40600 .enable = false, .matrix = false, .keyboard = false, .mouse = false, + .reserved = 0 +#else + { + false, // .enable + false, // .matrix + false, // .keyboard + false, // .mouse + 0 // .reserved + } +#endif }; - diff --git a/common/debug_config.h b/common/debug_config.h index 43e4c5c55..28bc34cd5 100644 --- a/common/debug_config.h +++ b/common/debug_config.h @@ -27,7 +27,6 @@ extern "C" { /* NOTE: Not portable. Bit field order depends on implementation */ typedef union { - uint8_t raw; struct { bool enable:1; bool matrix:1; @@ -35,6 +34,7 @@ typedef union { bool mouse:1; uint8_t reserved:4; }; + uint8_t raw; } debug_config_t; extern debug_config_t debug_config; |