summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/debug.c16
-rw-r--r--common/debug_config.h2
2 files changed, 15 insertions, 3 deletions
diff --git a/common/debug.c b/common/debug.c
index c4fa3a05b4..18613fc28b 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 43e4c5c554..28bc34cd57 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;