Browse Source

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

ledmap
tmk 9 years ago
parent
commit
a58b9ddbd5
2 changed files with 12 additions and 3 deletions
  1. 11
    2
      common/debug.c
  2. 1
    1
      common/debug_config.h

+ 11
- 2
common/debug.c View File

#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
}; };

+ 1
- 1
common/debug_config.h View File



/* 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;
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;