Add initializer of debug_config for GCC < 4.6.0(#144)

This commit is contained in:
tmk 2014-11-14 22:53:25 +09:00
parent 8180709132
commit a58b9ddbd5
2 changed files with 12 additions and 3 deletions

View File

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

View File

@ -27,7 +27,6 @@ extern "C" {
/* NOTE: Not portable. Bit field order depends on implementation */ /* NOTE: Not portable. Bit field order depends on implementation */
typedef union { typedef union {
uint8_t raw;
struct { struct {
bool enable:1; bool enable:1;
bool matrix:1; bool matrix:1;
@ -35,6 +34,7 @@ typedef union {
bool mouse:1; bool mouse:1;
uint8_t reserved:4; uint8_t reserved:4;
}; };
uint8_t raw;
} debug_config_t; } debug_config_t;
extern debug_config_t debug_config; extern debug_config_t debug_config;