Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Duet3D/RepRapFirmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Crocker <dcrocker@eschertech.com>2021-01-09 18:24:16 +0300
committerDavid Crocker <dcrocker@eschertech.com>2021-01-09 18:24:16 +0300
commit277977b60b2b1349578863dd16e4095121d6c749 (patch)
tree8685eccfded96c9da76d6ecbc138b33df6bc9bbd /src/Hardware/ExceptionHandlers.cpp
parent6bb2ddc8936d1352e5a5146f20c86fa388076f68 (diff)
Fixes for gcc version 10
Also fixed shadow definitions
Diffstat (limited to 'src/Hardware/ExceptionHandlers.cpp')
-rw-r--r--src/Hardware/ExceptionHandlers.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/Hardware/ExceptionHandlers.cpp b/src/Hardware/ExceptionHandlers.cpp
index eb936130..ce6d81bc 100644
--- a/src/Hardware/ExceptionHandlers.cpp
+++ b/src/Hardware/ExceptionHandlers.cpp
@@ -89,7 +89,7 @@ extern "C" [[noreturn]] void hardFaultDispatcher(const uint32_t *pulFaultStackAd
}
// The fault handler implementation calls a function called hardFaultDispatcher()
-extern "C" [[noreturn]] void HardFault_Handler() noexcept __attribute__((naked));
+extern "C" void HardFault_Handler() noexcept __attribute__((naked));
void HardFault_Handler() noexcept
{
__asm volatile
@@ -113,7 +113,7 @@ extern "C" [[noreturn]] void memManageDispatcher(const uint32_t *pulFaultStackAd
}
// The fault handler implementation calls a function called memManageDispatcher()
-extern "C" [[noreturn]] void MemManage_Handler() noexcept __attribute__((naked));
+extern "C" void MemManage_Handler() noexcept __attribute__((naked));
void MemManage_Handler() noexcept
{
__asm volatile
@@ -137,16 +137,16 @@ extern "C" [[noreturn]] void wdtFaultDispatcher(const uint32_t *pulFaultStackAdd
}
#ifdef __LPC17xx__
-extern "C" [[noreturn]] void WDT_IRQHandler() noexcept __attribute__((naked));
+extern "C" void WDT_IRQHandler() noexcept __attribute__((naked));
void WDT_IRQHandler() noexcept
{
LPC_WDT->MOD &=~((uint32_t)(1<<2)); //SD::clear timout flag before resetting to prevent the Smoothie bootloader going into DFU mode
#else
# if SAME70 // SAME70 has a separate interrupt line for the RSWDT
-extern "C" [[noreturn]] void RSWDT_Handler() noexcept __attribute__((naked));
+extern "C" void RSWDT_Handler() noexcept __attribute__((naked));
void RSWDT_Handler() noexcept
# else
-extern "C" [[noreturn]] void WDT_Handler() noexcept __attribute__((naked));
+extern "C" void WDT_Handler() noexcept __attribute__((naked));
void WDT_Handler() noexcept
# endif
{
@@ -171,7 +171,7 @@ extern "C" [[noreturn]] void otherFaultDispatcher(const uint32_t *pulFaultStackA
// 2017-05-25: A user is getting 'otherFault' reports, so now we do a stack dump for those too.
// The fault handler implementation calls a function called otherFaultDispatcher()
-extern "C" [[noreturn]] void OtherFault_Handler() noexcept __attribute__((naked));
+extern "C" void OtherFault_Handler() noexcept __attribute__((naked));
void OtherFault_Handler() noexcept
{
__asm volatile
@@ -189,10 +189,13 @@ void OtherFault_Handler() noexcept
// We could set up the following fault handlers to retrieve the program counter in the same way as for a Hard Fault,
// however these exceptions are unlikely to occur, so for now we just report the exception type.
-extern "C" [[noreturn]] void NMI_Handler () noexcept { SoftwareReset(SoftwareResetReason::NMI); }
-extern "C" [[noreturn]] void UsageFault_Handler () noexcept { SoftwareReset(SoftwareResetReason::usageFault); }
+extern "C" void NMI_Handler () noexcept __attribute__((naked));
+extern "C" void UsageFault_Handler () noexcept __attribute__((naked));
+extern "C" void DebugMon_Handler () noexcept __attribute__((naked));
-extern "C" [[noreturn]] void DebugMon_Handler () noexcept __attribute__ ((alias("OtherFault_Handler")));
+extern "C" void NMI_Handler () noexcept { SoftwareReset(SoftwareResetReason::NMI); }
+extern "C" void UsageFault_Handler () noexcept { SoftwareReset(SoftwareResetReason::usageFault); }
+extern "C" void DebugMon_Handler () noexcept __attribute__ ((alias("OtherFault_Handler")));
// FreeRTOS hooks that we need to provide
extern "C" [[noreturn]] void stackOverflowDispatcher(const uint32_t *pulFaultStackAddress, char* pcTaskName) noexcept