Эх сурвалжийг харах

Merge pull request #1224 from fredizzimo/fix_warnings

Fix all warnings and turn on warnings as errors
Jack Humbert 8 жил өмнө
parent
commit
41a46c7c8e
40 өөрчлөгдсөн 112 нэмэгдсэн , 70 устгасан
  1. 18 3
      Makefile
  2. 7 3
      build_keyboard.mk
  3. 3 3
      keyboards/ergodox/keymaps/dvorak_programmer/keymap.c
  4. 1 1
      keyboards/ergodox/keymaps/ordinary/keymap.c
  5. 2 2
      keyboards/ergodox/keymaps/yoruian/keymap.c
  6. 10 21
      keyboards/ergodox/keymaps/yoruian/yoruian.h
  7. 3 1
      keyboards/frosty_flake/matrix.c
  8. 0 1
      keyboards/handwired/MS-sculpt-mobile/MS-sculpt-mobile.c
  9. 1 0
      keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.c
  10. 0 0
      keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.h
  11. 0 0
      keyboards/handwired/MS_sculpt_mobile/Makefile
  12. 4 3
      keyboards/handwired/MS_sculpt_mobile/babblePaste.c
  13. 1 1
      keyboards/handwired/MS_sculpt_mobile/babblePaste.h
  14. 0 0
      keyboards/handwired/MS_sculpt_mobile/babblePaste.txt
  15. 0 0
      keyboards/handwired/MS_sculpt_mobile/config.h
  16. 0 0
      keyboards/handwired/MS_sculpt_mobile/keymaps/default/Makefile
  17. 1 1
      keyboards/handwired/MS_sculpt_mobile/keymaps/default/config.h
  18. 1 1
      keyboards/handwired/MS_sculpt_mobile/keymaps/default/keymap.c
  19. 0 0
      keyboards/handwired/MS_sculpt_mobile/keymaps/default/readme.md
  20. 0 0
      keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/Makefile
  21. 1 1
      keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/config.h
  22. 2 2
      keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/keymap.c
  23. 0 0
      keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/readme.md
  24. 0 0
      keyboards/handwired/MS_sculpt_mobile/readme.md
  25. 0 0
      keyboards/handwired/MS_sculpt_mobile/rules.mk
  26. 1 1
      keyboards/kitten_paw/keymaps/ickerwx/config.h
  27. 1 1
      keyboards/kitten_paw/keymaps/ickerwx/keymap.c
  28. 3 3
      keyboards/planck/keymaps/lucas/keymap.c
  29. 5 5
      keyboards/preonic/keymaps/CMD-Preonic/keymap.c
  30. 7 0
      quantum/keymap_common.c
  31. 4 0
      quantum/keymap_extras/keymap_german_ch.h
  32. 11 11
      quantum/process_keycode/process_printer.c
  33. 2 0
      quantum/process_keycode/process_printer.h
  34. 2 2
      quantum/process_keycode/process_printer_bb.c
  35. 1 0
      quantum/process_keycode/process_unicode.c
  36. 1 0
      quantum/process_keycode/process_unicode_common.c
  37. 1 1
      tmk_core/common/action.c
  38. 1 0
      tmk_core/common/avr/suspend.c
  39. 11 2
      tmk_core/common/mousekey.h
  40. 6 0
      tmk_core/rules.mk

+ 18 - 3
Makefile

@@ -21,6 +21,8 @@ override SILENT := false
 
 ON_ERROR := error_occurred=1
 
+BREAK_ON_ERRORS = no
+
 STARTING_MAKEFILE := $(firstword $(MAKEFILE_LIST))
 ROOT_MAKEFILE := $(lastword $(MAKEFILE_LIST))
 ROOT_DIR := $(dir $(ROOT_MAKEFILE))
@@ -462,20 +464,25 @@ endef
 
 include $(ROOT_DIR)/message.mk
 
+ifeq ($(strip $(BREAK_ON_ERRORS)), yes)
+HANDLE_ERROR = exit 1
+else
+HANDLE_ERROR = echo $$error_occurred > $(ERROR_FILE)
+endif
+
 # The empty line is important here, as it will force a new shell to be created for each command
 # Otherwise the command line will become too long with a lot of keyboards and keymaps
 define RUN_COMMAND
 +error_occurred=0;\
 $(COMMAND_$(SILENT_MODE)_$(COMMAND))\
-if [ $$error_occurred -gt 0 ]; then echo $$error_occurred > $(ERROR_FILE); fi;
+if [ $$error_occurred -gt 0 ]; then $(HANDLE_ERROR); fi;
 
 
 endef
 define RUN_TEST
 +error_occurred=0;\
 $($(TEST)_COMMAND)\
-if [ $$error_occurred -gt 0 ]; then echo $$error_occurred > $(ERROR_FILE); fi;
-
+if [ $$error_occurred -gt 0 ]; then $(HANDLE_ERROR); fi;
 endef
 
 # Allow specifying just the subproject, in the keyboard directory, which will compile all keymaps
@@ -527,14 +534,22 @@ test: test-all
 .PHONY: test-clean
 test-clean: test-all-clean
 
+ifdef SKIP_VERSION
+SKIP_GIT := yes
+endif
+
 # Generate the version.h file
 ifndef SKIP_GIT
     GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d-%H:%M:%S")
 else
     GIT_VERSION := NA
 endif
+ifndef SKIP_VERSION
 BUILD_DATE := $(shell date +"%Y-%m-%d-%H:%M:%S")
 $(shell echo '#define QMK_VERSION "$(GIT_VERSION)"' > $(ROOT_DIR)/quantum/version.h)
 $(shell echo '#define QMK_BUILDDATE "$(BUILD_DATE)"' >> $(ROOT_DIR)/quantum/version.h)
+else
+BUILD_DATE := NA
+endif
 
 include $(ROOT_DIR)/testlist.mk

+ 7 - 3
build_keyboard.mk

@@ -176,22 +176,26 @@ endif
 
 ifeq ($(strip $(UCIS_ENABLE)), yes)
     OPT_DEFS += -DUCIS_ENABLE
-    SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c
+    UNICODE_COMMON = yes
     SRC += $(QUANTUM_DIR)/process_keycode/process_ucis.c
 endif
 
 ifeq ($(strip $(UNICODEMAP_ENABLE)), yes)
     OPT_DEFS += -DUNICODEMAP_ENABLE
-    SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c
+    UNICODE_COMMON = yes
     SRC += $(QUANTUM_DIR)/process_keycode/process_unicodemap.c
 endif
 
 ifeq ($(strip $(UNICODE_ENABLE)), yes)
     OPT_DEFS += -DUNICODE_ENABLE
-    SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c
+    UNICODE_COMMON = yes
     SRC += $(QUANTUM_DIR)/process_keycode/process_unicode.c
 endif
 
+ifeq ($(strip $(UNICODE_COMMON)), yes)
+    SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c
+endif
+
 ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
     OPT_DEFS += -DRGBLIGHT_ENABLE
     SRC += $(QUANTUM_DIR)/light_ws2812.c

+ 3 - 3
keyboards/ergodox/keymaps/dvorak_programmer/keymap.c

@@ -311,12 +311,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
         break;        
         case SWITCH_NDS:
              if (record->event.pressed) {
-                return MACRO( D(LSFT), T(F11), U(LSFT), W(500), D(LALT), T(TAB), U(LALT), END); 
+                return MACRO( D(LSFT), T(F11), U(LSFT), W(255), D(LALT), T(TAB), U(LALT), END);
             }                                
         break;        
         case OPEN_CLOSE_PAREN:
             if (record->event.pressed) {
-                return MACRO( D(LSFT), T(LPRN), T(RPRN), U(LSFT), T(LEFT), END);
+                return MACRO( D(LSFT), T(9), T(0), U(LSFT), T(LEFT), END);
             }
         break;
         case OPEN_CLOSE_BRACKET:
@@ -326,7 +326,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
         break;        
         case OPEN_CLOSE_CURLY:
             if (record->event.pressed) {
-                return MACRO( D(LSFT), T(LCBR), T(RCBR), U(LSFT), T(LEFT), END);
+                return MACRO( D(LSFT), T(LBRC), T(RBRC), U(LSFT), T(LEFT), END);
             }
         break;                
         case OPEN_CLOSE_SINGLE_QUOTE:

+ 1 - 1
keyboards/ergodox/keymaps/ordinary/keymap.c

@@ -392,7 +392,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 
         case NotEq:
         if (record->event.pressed) {
-            return MACRO( I(10), D(LSFT), T(EXLM), U(LSFT), T(EQL), END  ); // !=
+            return MACRO( I(10), D(LSFT), T(1), U(LSFT), T(EQL), END  ); // !=
         }
         break;
 

+ 2 - 2
keyboards/ergodox/keymaps/yoruian/keymap.c

@@ -17,7 +17,7 @@
 #include "yoruian.h"
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = KEYMAP\
+[0] = KEYMAP_YORUIAN\
 (9,  7,    5,    3,    1,    GRV,  MINS, EQL,  LBRC, 0,    2,    4,    6,    8,
  ES, RBRC, Y,    O,    R,    BSLS, P3,   P3,   J,    V,    D,    F,    W,    Q,
  LC, U,    I,    A,    N,    SCLN,             M,    H,    T,    S,    C,    RC,
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
                              BSPC, RALT, P2,   TAB,
                                    NO,   NO,
                        E,    LSFT, NO,   NO,   ENT,  SPC),
-[1] = KEYMAP\
+[1] = KEYMAP_YORUIAN\
 (TR, TR,   TR,   TR,   TR,   TR,   TR,   TR,   TR,   F5,   F6,   F7,   F8,   F9,
  TR, TR,   TR,   TR,   TR,   TR,   TR,   TR,   TR,   F1,   F2,   F3,   F4,   FT,
  TR, TR,   TR,   TR,   TR,   TR,               PAUS, LEFT, DOWN, UP,   RGHT, FE,

+ 10 - 21
keyboards/ergodox/keymaps/yoruian/yoruian.h

@@ -18,9 +18,7 @@
 #include "debug.h"
 #include "action_layer.h"
 
-#undef KEYMAP
-#define KEYMAP\
-(									\
+#define KEYMAP_YORUIAN(									\
  /* Spacial positions. */						\
  k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D,	\
  k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D,	\
@@ -30,24 +28,15 @@
                           k55, k56, k57, k58,                           \
                                k54, k59,                                \
                      k53, k52, k51, k5C, k5B, k5A)                      \
-									\
- /* Matrix positions. */						\
- {									\
-   { KC_##k00, KC_##k10, KC_##k20, KC_##k30, KC_##k40, KC_NO    },	\
-   { KC_##k01, KC_##k11, KC_##k21, KC_##k31, KC_##k41, KC_##k51 },      \
-   { KC_##k02, KC_##k12, KC_##k22, KC_##k32, KC_##k42, KC_##k52 },      \
-   { KC_##k03, KC_##k13, KC_##k23, KC_##k33, KC_##k43, KC_##k53 },      \
-   { KC_##k04, KC_##k14, KC_##k24, KC_##k34, KC_##k44, KC_##k54 },      \
-   { KC_##k05, KC_##k15, KC_##k25, KC_##k35, KC_NO,    KC_##k55 },      \
-   { KC_##k06, KC_##k16, KC_NO,    KC_##k36, KC_NO,    KC_##k56 },      \
-   { KC_##k07, KC_##k17, KC_NO,    KC_##k37, KC_NO,    KC_##k57 },      \
-   { KC_##k08, KC_##k18, KC_##k28, KC_##k38, KC_NO,    KC_##k58 },      \
-   { KC_##k09, KC_##k19, KC_##k29, KC_##k39, KC_##k49, KC_##k59 },      \
-   { KC_##k0A, KC_##k1A, KC_##k2A, KC_##k3A, KC_##k4A, KC_##k5A },      \
-   { KC_##k0B, KC_##k1B, KC_##k2B, KC_##k3B, KC_##k4B, KC_##k5B },      \
-   { KC_##k0C, KC_##k1C, KC_##k2C, KC_##k3C, KC_##k4C, KC_##k5C },      \
-   { KC_##k0D, KC_##k1D, KC_##k2D, KC_##k3D, KC_##k4D, KC_NO    }       \
- }
+ KEYMAP( \
+ KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, KC_##k07, KC_##k08, KC_##k09, KC_##k0A, KC_##k0B, KC_##k0C, KC_##k0D,	\
+ KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, KC_##k1A, KC_##k1B, KC_##k1C, KC_##k1D,	\
+ KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25,           KC_##k28, KC_##k29, KC_##k2A, KC_##k2B, KC_##k2C, KC_##k2D,	\
+ KC_##k30, KC_##k31, KC_##k32, KC_##k33, KC_##k34, KC_##k35, KC_##k36, KC_##k37, KC_##k38, KC_##k39, KC_##k3A, KC_##k3B, KC_##k3C, KC_##k3D,	\
+ KC_##k40, KC_##k41, KC_##k42, KC_##k43, KC_##k44,                     KC_##k49, KC_##k4A, KC_##k4B, KC_##k4C, KC_##k4D,	\
+                          KC_##k55, KC_##k56, KC_##k57, KC_##k58,                           \
+                               KC_##k54, KC_##k59,                                \
+                     KC_##k53, KC_##k52, KC_##k51, KC_##k5C, KC_##k5B, KC_##k5A)
 
 #define KC_ES  KC_ESC
 #define KC_LC  KC_LCTL

+ 3 - 1
keyboards/frosty_flake/matrix.c

@@ -115,6 +115,7 @@ inline matrix_row_t matrix_get_row(uint8_t row) {
 }
 
 void matrix_print(void) {
+#ifndef NO_PRINT
     print("\nr\\c ABCDEFGHIJKLMNOPQR\n");
     for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
         matrix_row_t matrix_row = matrix_get_row(row);
@@ -125,6 +126,7 @@ void matrix_print(void) {
         }
         print("\n");
     }
+#endif
 }
 
 uint8_t matrix_key_count(void) {
@@ -132,4 +134,4 @@ uint8_t matrix_key_count(void) {
     for (uint8_t row = 0; row < MATRIX_ROWS; row++)
         count += bitpop32(matrix[row]);
     return count;
-}
+}

+ 0 - 1
keyboards/handwired/MS-sculpt-mobile/MS-sculpt-mobile.c

@@ -1 +0,0 @@
-#include "MS-sculpt-mobile.h"

+ 1 - 0
keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.c

@@ -0,0 +1 @@
+#include "MS_sculpt_mobile.h"

+ 0 - 0
keyboards/handwired/MS-sculpt-mobile/MS-sculpt-mobile.h → keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.h


+ 0 - 0
keyboards/handwired/MS-sculpt-mobile/Makefile → keyboards/handwired/MS_sculpt_mobile/Makefile


+ 4 - 3
keyboards/handwired/MS-sculpt-mobile/babblePaste.c → keyboards/handwired/MS_sculpt_mobile/babblePaste.c

@@ -7,7 +7,8 @@ Huge thanks to https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts
 and https://github.com/qmk/qmk_firmware/blob/master/keyboards/planck/keymaps/jeebak/keymap.c 
 */
 
-#include "babblePaste.h"
+#include "../MS_sculpt_mobile/babblePaste.h"
+
 #include "action_macro.h"
 
 #ifdef USE_BABLPASTE
@@ -27,7 +28,7 @@ macro_t* switch_babble_mode( uint8_t id) {
 // And else statements have problems, see https://gcc.gnu.org/onlinedocs/gcc-3.0.1/cpp_3.html#SEC15
 #define BABLM(ent, macro...) \
 	if ( ent == shortcut ) \
-		 {  action_macro_play( MACRO(macro)); return MACRO_NONE; }   
+		 {  action_macro_play( MACRO(macro)); return MACRO_NONE; }
 
 
 /* this function runs the appropriate babblepaste macro, given
@@ -456,4 +457,4 @@ const  macro_t *babblePaste (keyrecord_t *record,  uint8_t shortcut) {
 }
 
 
-#endif
+#endif

+ 1 - 1
keyboards/handwired/MS-sculpt-mobile/babblePaste.h → keyboards/handwired/MS_sculpt_mobile/babblePaste.h

@@ -9,9 +9,9 @@ and jeebak & algernon's keymap
 */
 #ifndef _babblePaste_h_included__
 #define _babblePaste_h_included__
+#include "../MS_sculpt_mobile/config.h"
 #include "action_layer.h"
 #include "quantum_keycodes.h"
-#include "config.h"
 
 #ifdef USE_BABLPASTE
 

+ 0 - 0
keyboards/handwired/MS-sculpt-mobile/babblePaste.txt → keyboards/handwired/MS_sculpt_mobile/babblePaste.txt


+ 0 - 0
keyboards/handwired/MS-sculpt-mobile/config.h → keyboards/handwired/MS_sculpt_mobile/config.h


+ 0 - 0
keyboards/handwired/MS-sculpt-mobile/keymaps/default/Makefile → keyboards/handwired/MS_sculpt_mobile/keymaps/default/Makefile


+ 1 - 1
keyboards/handwired/MS-sculpt-mobile/keymaps/default/config.h → keyboards/handwired/MS_sculpt_mobile/keymaps/default/config.h

@@ -1,7 +1,7 @@
 #ifndef CONFIG_USER_H
 #define CONFIG_USER_H
 
-#include "../../config.h"
+#include "../../../MS_sculpt_mobile/config.h"
 
 // place overrides here
 

+ 1 - 1
keyboards/handwired/MS-sculpt-mobile/keymaps/default/keymap.c → keyboards/handwired/MS_sculpt_mobile/keymaps/default/keymap.c

@@ -1,4 +1,4 @@
-#include "MS-sculpt-mobile.h"
+#include "../../MS_sculpt_mobile.h"
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /* 

+ 0 - 0
keyboards/handwired/MS-sculpt-mobile/keymaps/default/readme.md → keyboards/handwired/MS_sculpt_mobile/keymaps/default/readme.md


+ 0 - 0
keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/Makefile → keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/Makefile


+ 1 - 1
keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/config.h → keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/config.h

@@ -1,7 +1,7 @@
 #ifndef CONFIG_USER_H
 #define CONFIG_USER_H
 
-#include "../../config.h"
+#include "../../../MS_sculpt_mobile/config.h"
 
 #define USE_BABLPASTE
 

+ 2 - 2
keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/keymap.c → keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/keymap.c

@@ -1,7 +1,7 @@
-#include "MS-sculpt-mobile.h"
+#include "../../../MS_sculpt_mobile/babblePaste.h"
+#include "../../MS_sculpt_mobile.h"
 #include "action_layer.h"
 #include "action_util.h"
-#include "babblePaste.h"
 
 #ifdef AUDIO_ENABLE
   #include "audio.h"

+ 0 - 0
keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/readme.md → keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/readme.md


+ 0 - 0
keyboards/handwired/MS-sculpt-mobile/readme.md → keyboards/handwired/MS_sculpt_mobile/readme.md


+ 0 - 0
keyboards/handwired/MS-sculpt-mobile/rules.mk → keyboards/handwired/MS_sculpt_mobile/rules.mk


+ 1 - 1
keyboards/kitten_paw/keymaps/ickerwx/config.h

@@ -22,7 +22,7 @@
 #undef MOUSEKEY_WHEEL_MAX_SPEED
 #define MOUSEKEY_WHEEL_MAX_SPEED 3
 #undef MOUSEKEY_WHEEL_TIME_TO_MAX
-#define MOUSEKEY_WHEEL_TIME_TO_MAX 1000
+#define MOUSEKEY_WHEEL_TIME_TO_MAX 255
 #undef ONESHOT_TIMEOUT
 #define ONESHOT_TIMEOUT 500
 #undef TAPPING_TOGGLE

+ 1 - 1
keyboards/kitten_paw/keymaps/ickerwx/keymap.c

@@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
          _______,S(NUBS),_______,_______,_______,_______,_______,_______,_______,KC_NUBS,S(NUBS),S(MINS),        _______,           _______,          _______,_______,_______,_______, \
          _______,_______,_______,                        _______,                        _______,_______,_______,_______,   _______,_______,_______,  _______,_______),
     /* Layer 3: media layer */
-  [MEDIA] = KEYMAP(\ 
+  [MEDIA] = KEYMAP(\
           KC_PWR,KC_SLEP,KC_WAKE,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,           XXXXXXX,XXXXXXX,XXXXXXX,                                   \
          XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,   KC_MPRV,KC_MPLY,KC_MNXT,  XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, \
          XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,   KC_VOLD,KC_MUTE,KC_VOLU,  XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, \

+ 3 - 3
keyboards/planck/keymaps/lucas/keymap.c

@@ -153,12 +153,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
     case 1: // M(1)
         if (record->event.pressed) {
             unregister_code(KC_LSFT);
-            register_code(DE_MORE);
+            register_code(DE_LESS);
         } else {
-            unregister_code(DE_MORE);
+            unregister_code(DE_LESS);
         }
         break;    
   }
   return MACRO_NONE;
 
-};          
+};          

+ 5 - 5
keyboards/preonic/keymaps/CMD-Preonic/keymap.c

@@ -212,10 +212,10 @@ const uint16_t PROGMEM fn_actions[] = {
 
 #ifdef AUDIO_ENABLE
 float start_up[][2] = {
-  {440.0*pow(2.0,(14)/12.0), 20},
-  {440.0*pow(2.0,(26)/12.0), 8},
-  {440.0*pow(2.0,(18)/12.0), 20},
-  {440.0*pow(2.0,(26)/12.0), 8}
+   MUSICAL_NOTE(_B5, 20),
+   MUSICAL_NOTE(_B6, 8),
+   MUSICAL_NOTE(_DS6, 20),
+   MUSICAL_NOTE(_B6, 8),
 };
 
 float tone_qwerty[][2]     = SONG(QWERTY_SOUND);
@@ -323,7 +323,7 @@ void matrix_init_user(void) {
 
 #ifdef AUDIO_ENABLE
 
-void play_goodbye_tone()
+void play_goodbye_tone(void)
 {
   PLAY_NOTE_ARRAY(goodbye, false, 0);
   _delay_ms(150);

+ 7 - 0
quantum/keymap_common.c

@@ -179,5 +179,12 @@ uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key)
 __attribute__ ((weak))
 uint16_t keymap_function_id_to_action( uint16_t function_id )
 {
+    // The compiler sees the empty (weak) fn_actions and generates a warning
+    // This function should not be called in that case, so the warning is too strict
+    // If this function is called however, the keymap should have overridden fn_actions, and then the compile
+    // is comparing against the wrong array
+    #pragma GCC diagnostic push
+    #pragma GCC diagnostic ignored "-Warray-bounds"
 	return pgm_read_word(&fn_actions[function_id]);
+    #pragma GCC diagnostic pop
 }

+ 4 - 0
quantum/keymap_extras/keymap_german_ch.h

@@ -33,6 +33,10 @@
 #define CH_E KC_E
 #define CH_F KC_F
 #define CH_G KC_G
+#ifdef CH_H
+// The ChibiOS ch.h file defines this...
+#undef CH_H
+#endif
 #define CH_H KC_H
 #define CH_I KC_I
 #define CH_J KC_J

+ 11 - 11
quantum/process_keycode/process_printer.c

@@ -20,12 +20,12 @@
 bool printing_enabled = false;
 uint8_t character_shift = 0;
 
-void enabled_printing() {
+void enable_printing(void) {
 	printing_enabled = true;
 	serial_init();
 }
 
-void disable_printing() {
+void disable_printing(void) {
 	printing_enabled = false;
 }
 
@@ -41,9 +41,14 @@ void print_char(char c) {
 	USB_Init();
 }
 
-void print_box_string(uint8_t text[]) {
-	uint8_t len = strlen(text);
-	uint8_t out[len * 3 + 8];
+void print_string(char c[]) {
+	for(uint8_t i = 0; i < strlen(c); i++)
+		print_char(c[i]);
+}
+
+void print_box_string(const char text[]) {
+	size_t len = strlen(text);
+	char out[len * 3 + 8];
 	out[0] = 0xDA;
 	for (uint8_t i = 0; i < len; i++) {
 		out[i+1] = 0xC4;
@@ -69,14 +74,9 @@ void print_box_string(uint8_t text[]) {
 	print_string(out); 
 }
 
-void print_string(char c[]) {
-	for(uint8_t i = 0; i < strlen(c); i++)
-		print_char(c[i]);
-}
-
 bool process_printer(uint16_t keycode, keyrecord_t *record) {
 	if (keycode == PRINT_ON) {
-		enabled_printing();
+		enable_printing();
 		return false;
 	}
 	if (keycode == PRINT_OFF) {

+ 2 - 0
quantum/process_keycode/process_printer.h

@@ -21,4 +21,6 @@
 
 #include "protocol/serial.h"
 
+bool process_printer(uint16_t keycode, keyrecord_t *record);
+
 #endif

+ 2 - 2
quantum/process_keycode/process_printer_bb.c

@@ -46,7 +46,7 @@ void serial_output(void) {
 }
 
 
-void enabled_printing() {
+void enable_printing() {
 	printing_enabled = true;
 	serial_output();
 	serial_high();
@@ -82,7 +82,7 @@ void print_string(char c[]) {
 
 bool process_printer(uint16_t keycode, keyrecord_t *record) {
 	if (keycode == PRINT_ON) {
-		enabled_printing();
+		enable_printing();
 		return false;
 	}
 	if (keycode == PRINT_OFF) {

+ 1 - 0
quantum/process_keycode/process_unicode.c

@@ -15,6 +15,7 @@
  */
 #include "process_unicode.h"
 #include "action_util.h"
+#include "eeprom.h"
 
 static uint8_t first_flag = 0;
 

+ 1 - 0
quantum/process_keycode/process_unicode_common.c

@@ -15,6 +15,7 @@
  */
 
 #include "process_unicode_common.h"
+#include "eeprom.h"
 
 static uint8_t input_mode;
 uint8_t mods;

+ 1 - 1
tmk_core/common/action.c

@@ -140,7 +140,6 @@ void process_record(keyrecord_t *record)
 
 void process_action(keyrecord_t *record, action_t action)
 {
-    bool do_release_oneshot = false;
     keyevent_t event = record->event;
 #ifndef NO_ACTION_TAPPING
     uint8_t tap_count = record->tap.count;
@@ -152,6 +151,7 @@ void process_action(keyrecord_t *record, action_t action)
     }
 
 #ifndef NO_ACTION_ONESHOT
+    bool do_release_oneshot = false;
     // notice we only clear the one shot layer if the pressed key is not a modifier.
     if (is_oneshot_layer_active() && event.pressed && !IS_MOD(action.key.code)) {
         clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);

+ 1 - 0
tmk_core/common/avr/suspend.c

@@ -9,6 +9,7 @@
 #include "suspend.h"
 #include "timer.h"
 #include "led.h"
+#include "host.h"
 
 #ifdef PROTOCOL_LUFA
 	#include "lufa.h"

+ 11 - 2
tmk_core/common/mousekey.h

@@ -23,8 +23,17 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
 /* max value on report descriptor */
-#define MOUSEKEY_MOVE_MAX       127
-#define MOUSEKEY_WHEEL_MAX      127
+#ifndef MOUSEKEY_MOVE_MAX
+    #define MOUSEKEY_MOVE_MAX       127
+#elif MOUSEKEY_MOVE_MAX > 127
+    #error MOUSEKEY_MOVE_MAX needs to be smaller than 127
+#endif
+
+#ifndef MOUSEKEY_WHEEL_MAX
+    #define MOUSEKEY_WHEEL_MAX      127
+#elif MOUSEKEY_WHEEL_MAX > 127
+    #error MOUSEKEY_WHEEL_MAX needs to be smaller than 127
+#endif
 
 #ifndef MOUSEKEY_MOVE_DELTA
 #define MOUSEKEY_MOVE_DELTA     5

+ 6 - 0
tmk_core/rules.mk

@@ -92,6 +92,9 @@ endif
 endif
 CFLAGS += -Wall
 CFLAGS += -Wstrict-prototypes
+ifneq ($(strip $(ALLOW_WARNINGS)), yes)
+    CFLAGS += -Werror
+endif
 #CFLAGS += -mshort-calls
 #CFLAGS += -fno-unit-at-a-time
 #CFLAGS += -Wundef
@@ -115,6 +118,9 @@ CPPFLAGS += -O$(OPT)
 CPPFLAGS += -w
 CPPFLAGS += -Wall
 CPPFLAGS += -Wundef
+ifneq ($(strip $(ALLOW_WARNINGS)), yes)
+    CPPFLAGS += -Werror
+endif
 #CPPFLAGS += -mshort-calls
 #CPPFLAGS += -fno-unit-at-a-time
 #CPPFLAGS += -Wstrict-prototypes