summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--quantum/template/avr/config.h4
-rw-r--r--quantum/template/ps2avrgb/config.h4
-rw-r--r--tmk_core/common.mk2
-rw-r--r--tmk_core/common/action.h10
4 files changed, 17 insertions, 3 deletions
diff --git a/quantum/template/avr/config.h b/quantum/template/avr/config.h
index eb9651cc0e..010a78896c 100644
--- a/quantum/template/avr/config.h
+++ b/quantum/template/avr/config.h
@@ -195,6 +195,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
+/* disable these deprecated features by default */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
/*
* MIDI options
*/
diff --git a/quantum/template/ps2avrgb/config.h b/quantum/template/ps2avrgb/config.h
index 3cceadb319..ac1b3c8abd 100644
--- a/quantum/template/ps2avrgb/config.h
+++ b/quantum/template/ps2avrgb/config.h
@@ -46,7 +46,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define BACKLIGHT_LEVELS 1
#define RGBLIGHT_ANIMATIONS
-#define NO_UART 1
+/* disable these deprecated features by default */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
/* key combination for magic key command */
/* defined by default; to change, uncomment and set to the combination you want */
diff --git a/tmk_core/common.mk b/tmk_core/common.mk
index a998a8a02d..ae3f111f7b 100644
--- a/tmk_core/common.mk
+++ b/tmk_core/common.mk
@@ -167,8 +167,6 @@ ifeq ($(strip $(LINK_TIME_OPTIMIZATION_ENABLE)), yes)
endif
EXTRAFLAGS += -flto
TMK_COMMON_DEFS += -DLINK_TIME_OPTIMIZATION_ENABLE
- TMK_COMMON_DEFS += -DNO_ACTION_MACRO
- TMK_COMMON_DEFS += -DNO_ACTION_FUNCTION
endif
# Search Path
diff --git a/tmk_core/common/action.h b/tmk_core/common/action.h
index dd22023f9b..c82c9c81be 100644
--- a/tmk_core/common/action.h
+++ b/tmk_core/common/action.h
@@ -28,6 +28,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
extern "C" {
#endif
+/* Disable macro and function features when LTO is enabled, since they break */
+#ifdef LINK_TIME_OPTIMIZATION_ENABLE
+# ifndef NO_ACTION_MACRO
+# define NO_ACTION_MACRO
+# endif
+# ifndef NO_ACTION_FUNCTION
+# define NO_ACTION_FUNCTION
+# endif
+#endif
+
/* tapping count and state */
typedef struct {
bool interrupted : 1;