aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Churchill <pelrun@gmail.com>2019-01-11 18:30:20 +1000
committerDrashna Jaelre <drashna@live.com>2019-01-11 17:25:57 -0800
commit9c136e1168a1f6d0637f59164b6d9adb9ba0bdee (patch)
treefd95ab1d3d2a042b90142d5fda5311df8353772e
parent2c4109394fa9ee71b10b8b2d3d1473a409d7003e (diff)
downloadfirmware-9c136e1168a1f6d0637f59164b6d9adb9ba0bdee.tar.gz
firmware-9c136e1168a1f6d0637f59164b6d9adb9ba0bdee.tar.bz2
firmware-9c136e1168a1f6d0637f59164b6d9adb9ba0bdee.zip
Improved fix for __always_inline redefinition bug
Instead of changing based on the version of GCC, check for the presence of the macro instead.
-rw-r--r--tmk_core/protocol/arm_atsam/usb/compiler.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/tmk_core/protocol/arm_atsam/usb/compiler.h b/tmk_core/protocol/arm_atsam/usb/compiler.h
index 7d8350896..b2ccfd73e 100644
--- a/tmk_core/protocol/arm_atsam/usb/compiler.h
+++ b/tmk_core/protocol/arm_atsam/usb/compiler.h
@@ -134,13 +134,15 @@
* heuristics and inline the function no matter how big it thinks it
* becomes.
*/
+#if !defined(__always_inline)
#if defined(__CC_ARM)
# define __always_inline __forceinline
-#elif (defined __GNUC__ && __GNUC__ <= 6)
+#elif (defined __GNUC__)
# define __always_inline __attribute__((__always_inline__))
#elif (defined __ICCARM__)
# define __always_inline _Pragma("inline=forced")
#endif
+#endif
/**
* \def __no_inline