@@ -4,12 +4,21 @@
#define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
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
- /* GCC Bug 10676 - Using unnamed fields in initializers
- * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=10676 */
.enable = false,
.matrix = false,
.keyboard = false,
.mouse = false,
+ .reserved = 0
+#else
+ {
+ false, // .enable
+ false, // .matrix
+ false, // .keyboard
+ false, // .mouse
+ 0 // .reserved
+ }
#endif
};
@@ -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;