Workaround for AVR-specific compiler issue (#759)

This commit is contained in:
Olivier
2017-02-01 20:45:42 +01:00
committed by Embedded Innovation
parent b69bba485f
commit 4380d6618f
3 changed files with 17 additions and 4 deletions
+7
View File
@@ -303,6 +303,12 @@
//#define MY_WITH_LEDS_BLINKING_INVERSE
/**
* @def MY_INDICATION_HANDLER
* @brief Enable to use own indication handler
*/
//#define MY_INDICATION_HANDLER
/**********************************************
* Gateway inclusion button/mode configuration
@@ -959,4 +965,5 @@
#define MY_LINUX_IS_SERIAL_PTY
#define MY_RFM95_ATC_MODE_DISABLED
#define MY_RFM95_RST_PIN
#define MY_INDICATION_HANDLER
#endif
+9 -3
View File
@@ -40,7 +40,13 @@ void setIndication( const indication_t ind )
ledsBlinkErr(ind-INDICATION_ERR_START);
}
#endif
if (indication) {
indication(ind);
}
indication(ind);
}
#if !defined(MY_INDICATION_HANDLER)
void indication(indication_t)
{
// empty function, resolves AVR-specific GCC optimization bug (<5.5) if handler not used
// see here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77326
}
#endif
+1 -1
View File
@@ -74,6 +74,6 @@ void setIndication( const indication_t ind );
/**
* Allow user to define their own indication handler.
*/
void indication( const indication_t ) __attribute__((weak));
void indication( const indication_t );
#endif