all: Rename the "NORETURN" macro to "MP_NORETURN".

This commit renames the NORETURN macro, indicating to the compiler
that a function does not return, into MP_NORETURN to maintain the same
naming convention of other similar macros.

To maintain compaitiblity with existing code NORETURN is aliased to
MP_NORETURN, but it is also deprecated for MicroPython v2.

This changeset was created using a similar process to
decf8e6a8b ("all: Remove the "STATIC"
macro and just use "static" instead."), with no documentation or python
scripts to change to reflect the new macro name.

Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
This commit is contained in:
Alessandro Gatti 2025-01-15 16:25:55 +01:00 committed by Damien George
parent 69993daa5c
commit f47e214cdc
71 changed files with 159 additions and 155 deletions

View File

@ -45,11 +45,11 @@
static void mp_machine_idle(void); static void mp_machine_idle(void);
#if MICROPY_PY_MACHINE_BOOTLOADER #if MICROPY_PY_MACHINE_BOOTLOADER
NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args); MP_NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args);
#endif #endif
#if MICROPY_PY_MACHINE_RESET #if MICROPY_PY_MACHINE_RESET
NORETURN static void mp_machine_reset(void); MP_NORETURN static void mp_machine_reset(void);
static mp_int_t mp_machine_reset_cause(void); static mp_int_t mp_machine_reset_cause(void);
#endif #endif
@ -58,7 +58,7 @@ static mp_obj_t mp_machine_unique_id(void);
static mp_obj_t mp_machine_get_freq(void); static mp_obj_t mp_machine_get_freq(void);
static void mp_machine_set_freq(size_t n_args, const mp_obj_t *args); static void mp_machine_set_freq(size_t n_args, const mp_obj_t *args);
static void mp_machine_lightsleep(size_t n_args, const mp_obj_t *args); static void mp_machine_lightsleep(size_t n_args, const mp_obj_t *args);
NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args); MP_NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args);
#endif #endif
// The port can provide additional machine-module implementation in this file. // The port can provide additional machine-module implementation in this file.
@ -67,7 +67,7 @@ NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args);
#endif #endif
#if MICROPY_PY_MACHINE_BOOTLOADER #if MICROPY_PY_MACHINE_BOOTLOADER
NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args) { MP_NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args) {
mp_machine_bootloader(n_args, args); mp_machine_bootloader(n_args, args);
} }
MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_bootloader_obj, 0, 1, machine_bootloader); MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_bootloader_obj, 0, 1, machine_bootloader);
@ -81,7 +81,7 @@ static MP_DEFINE_CONST_FUN_OBJ_0(machine_idle_obj, machine_idle);
#if MICROPY_PY_MACHINE_RESET #if MICROPY_PY_MACHINE_RESET
NORETURN static mp_obj_t machine_reset(void) { MP_NORETURN static mp_obj_t machine_reset(void) {
mp_machine_reset(); mp_machine_reset();
} }
MP_DEFINE_CONST_FUN_OBJ_0(machine_reset_obj, machine_reset); MP_DEFINE_CONST_FUN_OBJ_0(machine_reset_obj, machine_reset);
@ -116,7 +116,7 @@ static mp_obj_t machine_lightsleep(size_t n_args, const mp_obj_t *args) {
} }
MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_lightsleep_obj, 0, 1, machine_lightsleep); MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_lightsleep_obj, 0, 1, machine_lightsleep);
NORETURN static mp_obj_t machine_deepsleep(size_t n_args, const mp_obj_t *args) { MP_NORETURN static mp_obj_t machine_deepsleep(size_t n_args, const mp_obj_t *args) {
mp_machine_deepsleep(n_args, args); mp_machine_deepsleep(n_args, args);
} }
MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_deepsleep_obj, 0, 1, machine_deepsleep); MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_deepsleep_obj, 0, 1, machine_deepsleep);

View File

@ -242,7 +242,7 @@ uintptr_t MICROPY_MACHINE_MEM_GET_READ_ADDR(mp_obj_t addr_o, uint align);
uintptr_t MICROPY_MACHINE_MEM_GET_WRITE_ADDR(mp_obj_t addr_o, uint align); uintptr_t MICROPY_MACHINE_MEM_GET_WRITE_ADDR(mp_obj_t addr_o, uint align);
#endif #endif
NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args); MP_NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args);
void machine_bitstream_high_low(mp_hal_pin_obj_t pin, uint32_t *timing_ns, const uint8_t *buf, size_t len); void machine_bitstream_high_low(mp_hal_pin_obj_t pin, uint32_t *timing_ns, const uint8_t *buf, size_t len);
mp_uint_t machine_time_pulse_us(mp_hal_pin_obj_t pin, int pulse_level, mp_uint_t timeout_us); mp_uint_t machine_time_pulse_us(mp_hal_pin_obj_t pin, int pulse_level, mp_uint_t timeout_us);

View File

@ -105,7 +105,7 @@ static const char *const ssl_error_tab2[] = {
"NOT_SUPPORTED", "NOT_SUPPORTED",
}; };
static NORETURN void ssl_raise_error(int err) { static MP_NORETURN void ssl_raise_error(int err) {
MP_STATIC_ASSERT(SSL_NOT_OK - 3 == SSL_EAGAIN); MP_STATIC_ASSERT(SSL_NOT_OK - 3 == SSL_EAGAIN);
MP_STATIC_ASSERT(SSL_ERROR_CONN_LOST - 18 == SSL_ERROR_NOT_SUPPORTED); MP_STATIC_ASSERT(SSL_ERROR_CONN_LOST - 18 == SSL_ERROR_NOT_SUPPORTED);

View File

@ -147,7 +147,7 @@ static const unsigned char *asn1_get_data(mp_obj_t obj, size_t *out_len) {
return (const unsigned char *)str; return (const unsigned char *)str;
} }
static NORETURN void mbedtls_raise_error(int err) { static MP_NORETURN void mbedtls_raise_error(int err) {
// Handle special cases. // Handle special cases.
if (err == MBEDTLS_ERR_SSL_ALLOC_FAILED) { if (err == MBEDTLS_ERR_SSL_ALLOC_FAILED) {
mp_raise_OSError(MP_ENOMEM); mp_raise_OSError(MP_ENOMEM);

View File

@ -89,7 +89,7 @@ typedef struct _mp_obj_uctypes_struct_t {
uint32_t flags; uint32_t flags;
} mp_obj_uctypes_struct_t; } mp_obj_uctypes_struct_t;
static NORETURN void syntax_error(void) { static MP_NORETURN void syntax_error(void) {
mp_raise_TypeError(MP_ERROR_TEXT("syntax error in uctypes descriptor")); mp_raise_TypeError(MP_ERROR_TEXT("syntax error in uctypes descriptor"));
} }

View File

@ -137,7 +137,7 @@ typedef long mp_off_t;
#ifdef _MSC_VER #ifdef _MSC_VER
#define MP_ENDIANNESS_LITTLE (1) #define MP_ENDIANNESS_LITTLE (1)
#define NORETURN __declspec(noreturn) #define MP_NORETURN __declspec(noreturn)
#define MP_NOINLINE __declspec(noinline) #define MP_NOINLINE __declspec(noinline)
#define MP_ALWAYSINLINE __forceinline #define MP_ALWAYSINLINE __forceinline
#define MP_LIKELY(x) (x) #define MP_LIKELY(x) (x)

View File

@ -56,7 +56,7 @@
extern uint8_t __StackTop, __StackLimit; extern uint8_t __StackTop, __StackLimit;
extern uint8_t __GcHeapStart, __GcHeapEnd; extern uint8_t __GcHeapStart, __GcHeapEnd;
NORETURN void panic(const char *msg) { MP_NORETURN void panic(const char *msg) {
mp_hal_stdout_tx_strn("\nFATAL ERROR:\n", 14); mp_hal_stdout_tx_strn("\nFATAL ERROR:\n", 14);
mp_hal_stdout_tx_strn(msg, strlen(msg)); mp_hal_stdout_tx_strn(msg, strlen(msg));
for (;;) { for (;;) {

View File

@ -47,11 +47,11 @@ static mp_obj_t mp_machine_unique_id(void) {
return mp_obj_new_bytes(id, sizeof(id)); return mp_obj_new_bytes(id, sizeof(id));
} }
NORETURN static void mp_machine_reset(void) { MP_NORETURN static void mp_machine_reset(void) {
se_services_reset_soc(); se_services_reset_soc();
} }
NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) { MP_NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) {
__disable_irq(); __disable_irq();
MICROPY_BOARD_ENTER_BOOTLOADER(n_args, args); MICROPY_BOARD_ENTER_BOOTLOADER(n_args, args);
@ -112,7 +112,7 @@ static void mp_machine_lightsleep(size_t n_args, const mp_obj_t *args) {
#endif #endif
} }
NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) { MP_NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) {
#if MICROPY_HW_ENABLE_USBDEV #if MICROPY_HW_ENABLE_USBDEV
mp_machine_enable_usb(false); mp_machine_enable_usb(false);
#endif #endif

View File

@ -159,7 +159,7 @@ void mperror_heartbeat_signal (void) {
} }
} }
void NORETURN __fatal_error(const char *msg) { void MP_NORETURN __fatal_error(const char *msg) {
#ifdef DEBUG #ifdef DEBUG
if (msg != NULL) { if (msg != NULL) {
// wait for 20ms // wait for 20ms

View File

@ -27,7 +27,7 @@
#ifndef MICROPY_INCLUDED_CC3200_MISC_MPERROR_H #ifndef MICROPY_INCLUDED_CC3200_MISC_MPERROR_H
#define MICROPY_INCLUDED_CC3200_MISC_MPERROR_H #define MICROPY_INCLUDED_CC3200_MISC_MPERROR_H
extern void NORETURN __fatal_error(const char *msg); extern void MP_NORETURN __fatal_error(const char *msg);
void mperror_init0 (void); void mperror_init0 (void);
void mperror_bootloader_check_reset_cause (void); void mperror_bootloader_check_reset_cause (void);

View File

@ -93,7 +93,7 @@ extern OsiTaskHandle xSimpleLinkSpawnTaskHndl;
/******************************************************************************/ /******************************************************************************/
// MicroPython bindings; // MicroPython bindings;
NORETURN static void mp_machine_reset(void) { MP_NORETURN static void mp_machine_reset(void) {
// disable wlan // disable wlan
wlan_stop(SL_STOP_TIMEOUT_LONG); wlan_stop(SL_STOP_TIMEOUT_LONG);
// reset the cpu and it's peripherals // reset the cpu and it's peripherals
@ -161,7 +161,7 @@ static void mp_machine_lightsleep(size_t n_args, const mp_obj_t *args) {
pyb_sleep_sleep(); pyb_sleep_sleep();
} }
NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) { MP_NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) {
pyb_sleep_deepsleep(); pyb_sleep_deepsleep();
for (;;) { for (;;) {
} }

View File

@ -136,7 +136,7 @@ static MP_DEFINE_CONST_OBJ_TYPE(
******************************************************************************/ ******************************************************************************/
static pyb_sleep_obj_t *pyb_sleep_find (mp_obj_t obj); static pyb_sleep_obj_t *pyb_sleep_find (mp_obj_t obj);
static void pyb_sleep_flash_powerdown (void); static void pyb_sleep_flash_powerdown (void);
static NORETURN void pyb_sleep_suspend_enter (void); static MP_NORETURN void pyb_sleep_suspend_enter (void);
void pyb_sleep_suspend_exit (void); void pyb_sleep_suspend_exit (void);
static void pyb_sleep_obj_wakeup (void); static void pyb_sleep_obj_wakeup (void);
static void PRCMInterruptHandler (void); static void PRCMInterruptHandler (void);
@ -360,7 +360,7 @@ static void pyb_sleep_flash_powerdown (void) {
MAP_SPICSDisable(SSPI_BASE); MAP_SPICSDisable(SSPI_BASE);
} }
static NORETURN void pyb_sleep_suspend_enter (void) { static MP_NORETURN void pyb_sleep_suspend_enter (void) {
// enable full RAM retention // enable full RAM retention
MAP_PRCMSRAMRetentionEnable(PRCM_SRAM_COL_1 | PRCM_SRAM_COL_2 | PRCM_SRAM_COL_3 | PRCM_SRAM_COL_4, PRCM_SRAM_LPDS_RET); MAP_PRCMSRAMRetentionEnable(PRCM_SRAM_COL_1 | PRCM_SRAM_COL_2 | PRCM_SRAM_COL_3 | PRCM_SRAM_COL_4, PRCM_SRAM_LPDS_RET);

View File

@ -178,7 +178,7 @@ static void mp_machine_lightsleep(size_t n_args, const mp_obj_t *args) {
machine_sleep_helper(MACHINE_WAKE_SLEEP, n_args, args); machine_sleep_helper(MACHINE_WAKE_SLEEP, n_args, args);
}; };
NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) { MP_NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) {
machine_sleep_helper(MACHINE_WAKE_DEEPSLEEP, n_args, args); machine_sleep_helper(MACHINE_WAKE_DEEPSLEEP, n_args, args);
mp_machine_reset(); mp_machine_reset();
}; };
@ -221,7 +221,7 @@ static mp_int_t mp_machine_reset_cause(void) {
#include "esp32s3/rom/usb/chip_usb_dw_wrapper.h" #include "esp32s3/rom/usb/chip_usb_dw_wrapper.h"
#endif #endif
NORETURN static void machine_bootloader_rtc(void) { MP_NORETURN static void machine_bootloader_rtc(void) {
#if CONFIG_IDF_TARGET_ESP32S3 && MICROPY_HW_USB_CDC #if CONFIG_IDF_TARGET_ESP32S3 && MICROPY_HW_USB_CDC
usb_usj_mode(); usb_usj_mode();
usb_dc_prepare_persist(); usb_dc_prepare_persist();
@ -233,7 +233,7 @@ NORETURN static void machine_bootloader_rtc(void) {
#endif #endif
#ifdef MICROPY_BOARD_ENTER_BOOTLOADER #ifdef MICROPY_BOARD_ENTER_BOOTLOADER
NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) { MP_NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) {
MICROPY_BOARD_ENTER_BOOTLOADER(n_args, args); MICROPY_BOARD_ENTER_BOOTLOADER(n_args, args);
for (;;) { for (;;) {
} }
@ -254,7 +254,7 @@ static mp_obj_t machine_wake_reason(size_t n_args, const mp_obj_t *pos_args, mp_
} }
static MP_DEFINE_CONST_FUN_OBJ_KW(machine_wake_reason_obj, 0, machine_wake_reason); static MP_DEFINE_CONST_FUN_OBJ_KW(machine_wake_reason_obj, 0, machine_wake_reason);
NORETURN static void mp_machine_reset(void) { MP_NORETURN static void mp_machine_reset(void) {
esp_restart(); esp_restart();
} }

View File

@ -61,7 +61,7 @@ MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(esp_network_phy_mode_obj);
mp_obj_t esp_ifname(esp_netif_t *netif); mp_obj_t esp_ifname(esp_netif_t *netif);
NORETURN void esp_exceptions_helper(esp_err_t e); MP_NORETURN void esp_exceptions_helper(esp_err_t e);
static inline void esp_exceptions(esp_err_t e) { static inline void esp_exceptions(esp_err_t e) {
if (e != ESP_OK) { if (e != ESP_OK) {

View File

@ -45,7 +45,7 @@
#include "lwip/sockets.h" #include "lwip/sockets.h"
#include "lwip/dns.h" #include "lwip/dns.h"
NORETURN void esp_exceptions_helper(esp_err_t e) { MP_NORETURN void esp_exceptions_helper(esp_err_t e) {
switch (e) { switch (e) {
case ESP_ERR_WIFI_NOT_INIT: case ESP_ERR_WIFI_NOT_INIT:
mp_raise_msg(&mp_type_OSError, MP_ERROR_TEXT("Wifi Not Initialized")); mp_raise_msg(&mp_type_OSError, MP_ERROR_TEXT("Wifi Not Initialized"));

View File

@ -30,7 +30,7 @@
#include "user_interface.h" #include "user_interface.h"
#include "extmod/misc.h" #include "extmod/misc.h"
NORETURN void call_user_start(void); MP_NORETURN void call_user_start(void);
void ets_printf(const char *fmt, ...); void ets_printf(const char *fmt, ...);
extern char flashchip; extern char flashchip;

View File

@ -71,7 +71,7 @@ static void mp_machine_set_freq(size_t n_args, const mp_obj_t *args) {
system_update_cpu_freq(freq); system_update_cpu_freq(freq);
} }
NORETURN static void mp_machine_reset(void) { MP_NORETURN static void mp_machine_reset(void) {
system_restart(); system_restart();
// we must not return // we must not return
@ -114,7 +114,7 @@ static void mp_machine_lightsleep(size_t n_args, const mp_obj_t *args) {
} }
} }
NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) { MP_NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) {
// default to sleep forever // default to sleep forever
uint32_t sleep_us = 0; uint32_t sleep_us = 0;

View File

@ -87,7 +87,7 @@ static mp_obj_t mp_machine_unique_id(void) {
return mp_obj_new_bytes(id, sizeof(id)); return mp_obj_new_bytes(id, sizeof(id));
} }
NORETURN static void mp_machine_reset(void) { MP_NORETURN static void mp_machine_reset(void) {
WDOG_TriggerSystemSoftwareReset(WDOG1); WDOG_TriggerSystemSoftwareReset(WDOG1);
while (true) { while (true) {
; ;
@ -131,7 +131,7 @@ static void mp_machine_lightsleep(size_t n_args, const mp_obj_t *args) {
mp_raise_NotImplementedError(NULL); mp_raise_NotImplementedError(NULL);
} }
NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) { MP_NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) {
if (n_args != 0) { if (n_args != 0) {
mp_int_t seconds = mp_obj_get_int(args[0]) / 1000; mp_int_t seconds = mp_obj_get_int(args[0]) / 1000;
if (seconds > 0) { if (seconds > 0) {
@ -159,7 +159,7 @@ NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) {
} }
} }
NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) { MP_NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) {
#if defined(MICROPY_BOARD_ENTER_BOOTLOADER) #if defined(MICROPY_BOARD_ENTER_BOOTLOADER)
// If a board has a custom bootloader, call it first. // If a board has a custom bootloader, call it first.
MICROPY_BOARD_ENTER_BOOTLOADER(n_args, args); MICROPY_BOARD_ENTER_BOOTLOADER(n_args, args);

View File

@ -87,7 +87,7 @@ void nlr_jump_fail(void *val) {
} }
} }
void NORETURN __fatal_error(const char *msg) { void MP_NORETURN __fatal_error(const char *msg) {
while (1) { while (1) {
; ;
} }

View File

@ -107,7 +107,7 @@ void do_str(const char *src, mp_parse_input_kind_t input_kind) {
extern uint32_t _heap_start; extern uint32_t _heap_start;
extern uint32_t _heap_end; extern uint32_t _heap_end;
void NORETURN _start(void) { void MP_NORETURN _start(void) {
// Hook for a board to run code at start up, for example check if a // Hook for a board to run code at start up, for example check if a
// bootloader should be entered instead of the main application. // bootloader should be entered instead of the main application.
MICROPY_BOARD_STARTUP(); MICROPY_BOARD_STARTUP();
@ -353,7 +353,7 @@ void HardFault_Handler(void) {
#endif #endif
} }
void NORETURN __fatal_error(const char *msg) { void MP_NORETURN __fatal_error(const char *msg) {
while (1) { while (1) {
; ;
} }

View File

@ -181,11 +181,11 @@ static mp_obj_t mp_machine_unique_id(void) {
} }
// Resets the board in a manner similar to pushing the external RESET button. // Resets the board in a manner similar to pushing the external RESET button.
NORETURN static void mp_machine_reset(void) { MP_NORETURN static void mp_machine_reset(void) {
NVIC_SystemReset(); NVIC_SystemReset();
} }
NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) { MP_NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) {
MICROPY_BOARD_ENTER_BOOTLOADER(n_args, args); MICROPY_BOARD_ENTER_BOOTLOADER(n_args, args);
for (;;) { for (;;) {
} }
@ -199,7 +199,7 @@ static void mp_machine_lightsleep(size_t n_args, const mp_obj_t *args) {
__WFE(); __WFE();
} }
NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) { MP_NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) {
mp_machine_reset(); mp_machine_reset();
} }

View File

@ -202,7 +202,7 @@ const byte mp_hal_status_to_errno_table[4] = {
[HAL_TIMEOUT] = MP_ETIMEDOUT, [HAL_TIMEOUT] = MP_ETIMEDOUT,
}; };
NORETURN void mp_hal_raise(HAL_StatusTypeDef status) { MP_NORETURN void mp_hal_raise(HAL_StatusTypeDef status) {
mp_raise_OSError(mp_hal_status_to_errno_table[status]); mp_raise_OSError(mp_hal_status_to_errno_table[status]);
} }

View File

@ -47,7 +47,7 @@ extern const unsigned char mp_hal_status_to_errno_table[4];
extern ringbuf_t stdin_ringbuf; extern ringbuf_t stdin_ringbuf;
NORETURN void mp_hal_raise(HAL_StatusTypeDef status); MP_NORETURN void mp_hal_raise(HAL_StatusTypeDef status);
void mp_hal_set_interrupt_char(int c); // -1 to disable void mp_hal_set_interrupt_char(int c); // -1 to disable
int mp_hal_stdin_rx_chr(void); int mp_hal_stdin_rx_chr(void);

View File

@ -121,7 +121,7 @@ void nlr_jump_fail(void *val) {
} }
} }
void NORETURN __fatal_error(const char *msg) { void MP_NORETURN __fatal_error(const char *msg) {
while (1) { while (1) {
; ;
} }

View File

@ -130,7 +130,7 @@ void nlr_jump_fail(void *val) {
} }
} }
void NORETURN __fatal_error(const char *msg) { void MP_NORETURN __fatal_error(const char *msg) {
while (1) { while (1) {
; ;
} }

View File

@ -63,7 +63,7 @@ static const char *EXCEPTION_NAMES_TABLE[] = {
// R0-R15, PSR, Kind // R0-R15, PSR, Kind
uintptr_t registers_copy[18] = { 0 }; uintptr_t registers_copy[18] = { 0 };
__attribute__((naked)) NORETURN void exception_handler(uintptr_t kind) { __attribute__((naked)) MP_NORETURN void exception_handler(uintptr_t kind) {
// Save registers // Save registers
__asm volatile ( __asm volatile (
"ldr r1, =registers_copy \n" "ldr r1, =registers_copy \n"
@ -137,39 +137,39 @@ __attribute__((naked)) NORETURN void exception_handler(uintptr_t kind) {
for (;;) {} for (;;) {}
} }
__attribute__((naked)) NORETURN void NMI_Handler(void) { __attribute__((naked)) MP_NORETURN void NMI_Handler(void) {
exception_handler(NMI); exception_handler(NMI);
} }
__attribute__((naked)) NORETURN void HardFault_Handler(void) { __attribute__((naked)) MP_NORETURN void HardFault_Handler(void) {
exception_handler(HARD_FAULT); exception_handler(HARD_FAULT);
} }
__attribute__((naked)) NORETURN void MemManage_Handler(void) { __attribute__((naked)) MP_NORETURN void MemManage_Handler(void) {
exception_handler(MEM_MANAGE); exception_handler(MEM_MANAGE);
} }
__attribute__((naked)) NORETURN void BusFault_Handler(void) { __attribute__((naked)) MP_NORETURN void BusFault_Handler(void) {
exception_handler(BUS_FAULT); exception_handler(BUS_FAULT);
} }
__attribute__((naked)) NORETURN void UsageFault_Handler(void) { __attribute__((naked)) MP_NORETURN void UsageFault_Handler(void) {
exception_handler(USAGE_FAULT); exception_handler(USAGE_FAULT);
} }
__attribute__((naked)) NORETURN void SVC_Handler(void) { __attribute__((naked)) MP_NORETURN void SVC_Handler(void) {
exception_handler(SV_CALL); exception_handler(SV_CALL);
} }
__attribute__((naked)) NORETURN void DebugMon_Handler(void) { __attribute__((naked)) MP_NORETURN void DebugMon_Handler(void) {
exception_handler(DEBUG_MONITOR); exception_handler(DEBUG_MONITOR);
} }
__attribute__((naked)) NORETURN void PendSV_Handler(void) { __attribute__((naked)) MP_NORETURN void PendSV_Handler(void) {
exception_handler(PENDING_SV); exception_handler(PENDING_SV);
} }
__attribute__((naked)) NORETURN void SysTick_Handler(void) { __attribute__((naked)) MP_NORETURN void SysTick_Handler(void) {
exception_handler(SYSTEM_TICK); exception_handler(SYSTEM_TICK);
} }

View File

@ -52,7 +52,7 @@ __attribute__((naked)) void Reset_Handler(void) {
_start(); _start();
} }
NORETURN void Default_Handler(void) { MP_NORETURN void Default_Handler(void) {
for (;;) { for (;;) {
} }
} }

View File

@ -88,7 +88,7 @@ static machine_uart_obj_t machine_uart_repl_obj;
static uint8_t machine_uart_repl_rxbuf[MICROPY_HW_UART_REPL_RXBUF]; static uint8_t machine_uart_repl_rxbuf[MICROPY_HW_UART_REPL_RXBUF];
#endif #endif
void NORETURN __fatal_error(const char *msg) { void MP_NORETURN __fatal_error(const char *msg) {
for (volatile uint delay = 0; delay < 1000000; delay++) { for (volatile uint delay = 0; delay < 1000000; delay++) {
} }
led_state(1, 1); led_state(1, 1);

View File

@ -184,12 +184,12 @@ static mp_obj_t mp_machine_unique_id(void) {
} }
// Resets the pyboard in a manner similar to pushing the external RESET button. // Resets the pyboard in a manner similar to pushing the external RESET button.
NORETURN static void mp_machine_reset(void) { MP_NORETURN static void mp_machine_reset(void) {
powerctrl_mcu_reset(); powerctrl_mcu_reset();
} }
// Activate the bootloader without BOOT* pins. // Activate the bootloader without BOOT* pins.
NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) { MP_NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) {
#if MICROPY_HW_ENABLE_STORAGE #if MICROPY_HW_ENABLE_STORAGE
storage_flush(); storage_flush();
#endif #endif
@ -232,7 +232,7 @@ static void mp_machine_lightsleep(size_t n_args, const mp_obj_t *args) {
powerctrl_enter_stop_mode(); powerctrl_enter_stop_mode();
} }
NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) { MP_NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) {
if (n_args != 0) { if (n_args != 0) {
mp_obj_t args2[2] = {MP_OBJ_NULL, args[0]}; mp_obj_t args2[2] = {MP_OBJ_NULL, args[0]};
machine_rtc_wakeup(2, args2); machine_rtc_wakeup(2, args2);

View File

@ -61,7 +61,7 @@ const byte mp_hal_status_to_errno_table[4] = {
[HAL_TIMEOUT] = MP_ETIMEDOUT, [HAL_TIMEOUT] = MP_ETIMEDOUT,
}; };
NORETURN void mp_hal_raise(HAL_StatusTypeDef status) { MP_NORETURN void mp_hal_raise(HAL_StatusTypeDef status) {
mp_raise_OSError(mp_hal_status_to_errno_table[status]); mp_raise_OSError(mp_hal_status_to_errno_table[status]);
} }

View File

@ -49,7 +49,7 @@ static inline int mp_hal_status_to_neg_errno(HAL_StatusTypeDef status) {
return -mp_hal_status_to_errno_table[status]; return -mp_hal_status_to_errno_table[status];
} }
NORETURN void mp_hal_raise(HAL_StatusTypeDef status); MP_NORETURN void mp_hal_raise(HAL_StatusTypeDef status);
void mp_hal_set_interrupt_char(int c); // -1 to disable void mp_hal_set_interrupt_char(int c); // -1 to disable
static inline void mp_hal_wake_main_task_from_isr(void) { static inline void mp_hal_wake_main_task_from_isr(void) {

View File

@ -174,7 +174,7 @@ const lpm_instance_t g_lpm_standby = {
#endif #endif
NORETURN void powerctrl_mcu_reset(void) { MP_NORETURN void powerctrl_mcu_reset(void) {
#if BSP_TZ_SECURE_BUILD #if BSP_TZ_SECURE_BUILD
R_BSP_NonSecureEnter(); R_BSP_NonSecureEnter();
#else #else
@ -185,7 +185,7 @@ NORETURN void powerctrl_mcu_reset(void) {
} }
} }
NORETURN void powerctrl_enter_bootloader(uint32_t r0, uint32_t bl_addr) { MP_NORETURN void powerctrl_enter_bootloader(uint32_t r0, uint32_t bl_addr) {
while (1) { while (1) {
; ;
} }
@ -245,7 +245,7 @@ void powerctrl_enter_stop_mode(void) {
enable_irq(irq_state); enable_irq(irq_state);
} }
NORETURN void powerctrl_enter_standby_mode(void) { MP_NORETURN void powerctrl_enter_standby_mode(void) {
rtc_init_finalise(); rtc_init_finalise();
#if defined(MICROPY_BOARD_ENTER_STANDBY) #if defined(MICROPY_BOARD_ENTER_STANDBY)

View File

@ -32,11 +32,11 @@
void SystemClock_Config(void); void SystemClock_Config(void);
NORETURN void powerctrl_mcu_reset(void); MP_NORETURN void powerctrl_mcu_reset(void);
NORETURN void powerctrl_enter_bootloader(uint32_t r0, uint32_t bl_addr); MP_NORETURN void powerctrl_enter_bootloader(uint32_t r0, uint32_t bl_addr);
void powerctrl_check_enter_bootloader(void); void powerctrl_check_enter_bootloader(void);
void powerctrl_enter_stop_mode(void); void powerctrl_enter_stop_mode(void);
NORETURN void powerctrl_enter_standby_mode(void); MP_NORETURN void powerctrl_enter_standby_mode(void);
#endif // MICROPY_INCLUDED_RA_POWERCTRL_H #endif // MICROPY_INCLUDED_RA_POWERCTRL_H

View File

@ -42,7 +42,7 @@
typedef int (*KEYEX_CB)(uint32_t d); typedef int (*KEYEX_CB)(uint32_t d);
extern void NORETURN __fatal_error(const char *msg); extern void MP_NORETURN __fatal_error(const char *msg);
#if MICROPY_KBD_EXCEPTION #if MICROPY_KBD_EXCEPTION
extern int mp_interrupt_char; extern int mp_interrupt_char;
static KEYEX_CB keyex_cb[MICROPY_HW_MAX_UART] = {(KEYEX_CB)NULL}; static KEYEX_CB keyex_cb[MICROPY_HW_MAX_UART] = {(KEYEX_CB)NULL};

View File

@ -65,7 +65,7 @@ static mp_obj_t mp_machine_unique_id(void) {
return mp_obj_new_bytes(id.id, sizeof(id.id)); return mp_obj_new_bytes(id.id, sizeof(id.id));
} }
NORETURN static void mp_machine_reset(void) { MP_NORETURN static void mp_machine_reset(void) {
watchdog_reboot(0, SRAM_END, 0); watchdog_reboot(0, SRAM_END, 0);
for (;;) { for (;;) {
__wfi(); __wfi();
@ -82,7 +82,7 @@ static mp_int_t mp_machine_reset_cause(void) {
return reset_cause; return reset_cause;
} }
NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) { MP_NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) {
MICROPY_BOARD_ENTER_BOOTLOADER(n_args, args); MICROPY_BOARD_ENTER_BOOTLOADER(n_args, args);
rosc_hw->ctrl = ROSC_CTRL_ENABLE_VALUE_ENABLE << ROSC_CTRL_ENABLE_LSB; rosc_hw->ctrl = ROSC_CTRL_ENABLE_VALUE_ENABLE << ROSC_CTRL_ENABLE_LSB;
reset_usb_boot(0, 0); reset_usb_boot(0, 0);
@ -338,7 +338,7 @@ static void mp_machine_lightsleep(size_t n_args, const mp_obj_t *args) {
#endif #endif
} }
NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) { MP_NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) {
mp_machine_lightsleep(n_args, args); mp_machine_lightsleep(n_args, args);
mp_machine_reset(); mp_machine_reset();
} }

View File

@ -65,7 +65,7 @@
extern bool EIC_occured; extern bool EIC_occured;
extern uint32_t _dbl_tap_addr; extern uint32_t _dbl_tap_addr;
NORETURN static void mp_machine_reset(void) { MP_NORETURN static void mp_machine_reset(void) {
*DBL_TAP_ADDR = DBL_TAP_MAGIC_RESET; *DBL_TAP_ADDR = DBL_TAP_MAGIC_RESET;
#ifdef DBL_TAP_ADDR_ALT #ifdef DBL_TAP_ADDR_ALT
*DBL_TAP_ADDR_ALT = DBL_TAP_MAGIC_RESET; *DBL_TAP_ADDR_ALT = DBL_TAP_MAGIC_RESET;
@ -73,7 +73,7 @@ NORETURN static void mp_machine_reset(void) {
NVIC_SystemReset(); NVIC_SystemReset();
} }
NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) { MP_NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) {
*DBL_TAP_ADDR = DBL_TAP_MAGIC_LOADER; *DBL_TAP_ADDR = DBL_TAP_MAGIC_LOADER;
#ifdef DBL_TAP_ADDR_ALT #ifdef DBL_TAP_ADDR_ALT
*DBL_TAP_ADDR_ALT = DBL_TAP_MAGIC_LOADER; *DBL_TAP_ADDR_ALT = DBL_TAP_MAGIC_LOADER;
@ -164,7 +164,7 @@ static void mp_machine_lightsleep(size_t n_args, const mp_obj_t *args) {
set_cpu_freq(freq); set_cpu_freq(freq);
} }
NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) { MP_NORETURN static void mp_machine_deepsleep(size_t n_args, const mp_obj_t *args) {
mp_machine_lightsleep(n_args, args); mp_machine_lightsleep(n_args, args);
mp_machine_reset(); mp_machine_reset();
} }

View File

@ -35,7 +35,7 @@
#include "led.h" #include "led.h"
#include "usrsw.h" #include "usrsw.h"
NORETURN void boardctrl_fatal_error(const char *msg) { MP_NORETURN void boardctrl_fatal_error(const char *msg) {
for (volatile uint delay = 0; delay < 10000000; delay++) { for (volatile uint delay = 0; delay < 10000000; delay++) {
} }
led_state(1, 1); led_state(1, 1);

View File

@ -114,7 +114,7 @@ typedef struct _boardctrl_state_t {
bool log_soft_reset; bool log_soft_reset;
} boardctrl_state_t; } boardctrl_state_t;
NORETURN void boardctrl_fatal_error(const char *msg); MP_NORETURN void boardctrl_fatal_error(const char *msg);
void boardctrl_maybe_enter_mboot(size_t n_args, const void *args); void boardctrl_maybe_enter_mboot(size_t n_args, const void *args);
void boardctrl_before_soft_reset_loop(boardctrl_state_t *state); void boardctrl_before_soft_reset_loop(boardctrl_state_t *state);
void boardctrl_top_soft_reset_loop(boardctrl_state_t *state); void boardctrl_top_soft_reset_loop(boardctrl_state_t *state);

View File

@ -176,7 +176,7 @@ void HAL_Delay(uint32_t ms) {
mp_hal_delay_ms(ms); mp_hal_delay_ms(ms);
} }
NORETURN static void __fatal_error(const char *msg) { MP_NORETURN static void __fatal_error(const char *msg) {
NVIC_SystemReset(); NVIC_SystemReset();
for (;;) { for (;;) {
} }
@ -1443,7 +1443,7 @@ static int pyb_usbdd_shutdown(void) {
/******************************************************************************/ /******************************************************************************/
// main // main
NORETURN static __attribute__((naked)) void branch_to_application(uint32_t r0, uint32_t bl_addr) { MP_NORETURN static __attribute__((naked)) void branch_to_application(uint32_t r0, uint32_t bl_addr) {
__asm volatile ( __asm volatile (
"ldr r2, [r1, #0]\n" // get address of stack pointer "ldr r2, [r1, #0]\n" // get address of stack pointer
"msr msp, r2\n" // set stack pointer "msr msp, r2\n" // set stack pointer

View File

@ -36,7 +36,7 @@
#define ELEM_DATA_START (&_estack[0]) #define ELEM_DATA_START (&_estack[0])
#define ELEM_DATA_MAX (&_estack[ELEM_DATA_SIZE]) #define ELEM_DATA_MAX (&_estack[ELEM_DATA_SIZE])
#define NORETURN __attribute__((noreturn)) #define MP_NORETURN __attribute__((noreturn))
#define MP_ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0])) #define MP_ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
// The default UI code in ui.c only works if there is at least one LED configured. // The default UI code in ui.c only works if there is at least one LED configured.

View File

@ -291,12 +291,12 @@ static mp_obj_t mp_machine_unique_id(void) {
} }
// Resets the pyboard in a manner similar to pushing the external RESET button. // Resets the pyboard in a manner similar to pushing the external RESET button.
NORETURN static void mp_machine_reset(void) { MP_NORETURN static void mp_machine_reset(void) {
powerctrl_mcu_reset(); powerctrl_mcu_reset();
} }
// Activate the bootloader without BOOT* pins. // Activate the bootloader without BOOT* pins.
NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) { MP_NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) {
#if MICROPY_HW_ENABLE_USB #if MICROPY_HW_ENABLE_USB
pyb_usb_dev_deinit(); pyb_usb_dev_deinit();
#endif #endif

View File

@ -20,7 +20,7 @@ const byte mp_hal_status_to_errno_table[4] = {
uint8_t mp_hal_unique_id_address[12]; uint8_t mp_hal_unique_id_address[12];
#endif #endif
NORETURN void mp_hal_raise(HAL_StatusTypeDef status) { MP_NORETURN void mp_hal_raise(HAL_StatusTypeDef status) {
mp_raise_OSError(mp_hal_status_to_errno_table[status]); mp_raise_OSError(mp_hal_status_to_errno_table[status]);
} }

View File

@ -37,7 +37,7 @@ static inline int mp_hal_status_to_neg_errno(HAL_StatusTypeDef status) {
return -mp_hal_status_to_errno_table[status]; return -mp_hal_status_to_errno_table[status];
} }
NORETURN void mp_hal_raise(HAL_StatusTypeDef status); MP_NORETURN void mp_hal_raise(HAL_StatusTypeDef status);
void mp_hal_set_interrupt_char(int c); // -1 to disable void mp_hal_set_interrupt_char(int c); // -1 to disable
// Atomic section helpers. // Atomic section helpers.

View File

@ -115,7 +115,7 @@ static inline void powerctrl_disable_hsi_if_unused(void) {
#endif #endif
} }
NORETURN void powerctrl_mcu_reset(void) { MP_NORETURN void powerctrl_mcu_reset(void) {
#if MICROPY_HW_ENTER_BOOTLOADER_VIA_RESET #if MICROPY_HW_ENTER_BOOTLOADER_VIA_RESET
*BL_STATE_PTR = BL_STATE_INVALID; *BL_STATE_PTR = BL_STATE_INVALID;
#if __DCACHE_PRESENT == 1 #if __DCACHE_PRESENT == 1
@ -125,7 +125,7 @@ NORETURN void powerctrl_mcu_reset(void) {
NVIC_SystemReset(); NVIC_SystemReset();
} }
NORETURN static __attribute__((naked)) void branch_to_bootloader(uint32_t r0, uint32_t bl_addr) { MP_NORETURN static __attribute__((naked)) void branch_to_bootloader(uint32_t r0, uint32_t bl_addr) {
__asm volatile ( __asm volatile (
"ldr r2, [r1, #0]\n" // get address of stack pointer "ldr r2, [r1, #0]\n" // get address of stack pointer
"msr msp, r2\n" // get stack pointer "msr msp, r2\n" // get stack pointer
@ -135,7 +135,7 @@ NORETURN static __attribute__((naked)) void branch_to_bootloader(uint32_t r0, ui
MP_UNREACHABLE; MP_UNREACHABLE;
} }
NORETURN void powerctrl_enter_bootloader(uint32_t r0, uint32_t bl_addr) { MP_NORETURN void powerctrl_enter_bootloader(uint32_t r0, uint32_t bl_addr) {
#if MICROPY_HW_ENTER_BOOTLOADER_VIA_RESET #if MICROPY_HW_ENTER_BOOTLOADER_VIA_RESET
// Enter the bootloader via a reset, so everything is reset (including WDT). // Enter the bootloader via a reset, so everything is reset (including WDT).
@ -1016,7 +1016,7 @@ void powerctrl_enter_stop_mode(void) {
enable_irq(irq_state); enable_irq(irq_state);
} }
NORETURN void powerctrl_enter_standby_mode(void) { MP_NORETURN void powerctrl_enter_standby_mode(void) {
rtc_init_finalise(); rtc_init_finalise();
#if defined(MICROPY_BOARD_ENTER_STANDBY) #if defined(MICROPY_BOARD_ENTER_STANDBY)

View File

@ -39,14 +39,14 @@ static inline void stm32_system_init(void) {
void SystemClock_Config(void); void SystemClock_Config(void);
NORETURN void powerctrl_mcu_reset(void); MP_NORETURN void powerctrl_mcu_reset(void);
NORETURN void powerctrl_enter_bootloader(uint32_t r0, uint32_t bl_addr); MP_NORETURN void powerctrl_enter_bootloader(uint32_t r0, uint32_t bl_addr);
void powerctrl_check_enter_bootloader(void); void powerctrl_check_enter_bootloader(void);
void powerctrl_config_systick(void); void powerctrl_config_systick(void);
int powerctrl_rcc_clock_config_pll(RCC_ClkInitTypeDef *rcc_init, uint32_t sysclk_mhz, bool need_pllsai); int powerctrl_rcc_clock_config_pll(RCC_ClkInitTypeDef *rcc_init, uint32_t sysclk_mhz, bool need_pllsai);
int powerctrl_set_sysclk(uint32_t sysclk, uint32_t ahb, uint32_t apb1, uint32_t apb2); int powerctrl_set_sysclk(uint32_t sysclk, uint32_t ahb, uint32_t apb1, uint32_t apb2);
void powerctrl_enter_stop_mode(void); void powerctrl_enter_stop_mode(void);
NORETURN void powerctrl_enter_standby_mode(void); MP_NORETURN void powerctrl_enter_standby_mode(void);
#endif // MICROPY_INCLUDED_STM32_POWERCTRL_H #endif // MICROPY_INCLUDED_STM32_POWERCTRL_H

View File

@ -233,7 +233,7 @@ void nlr_jump_fail(void *val) {
} }
} }
void NORETURN __fatal_error(const char *msg) { void MP_NORETURN __fatal_error(const char *msg) {
while (1) { while (1) {
; ;
} }

View File

@ -242,7 +242,7 @@ typedef long mp_off_t;
// CL specific overrides from mpconfig // CL specific overrides from mpconfig
#define NORETURN __declspec(noreturn) #define MP_NORETURN __declspec(noreturn)
#define MP_WEAK #define MP_WEAK
#define MP_NOINLINE __declspec(noinline) #define MP_NOINLINE __declspec(noinline)
#define MP_ALWAYSINLINE __forceinline #define MP_ALWAYSINLINE __forceinline

View File

@ -219,7 +219,7 @@ mp_obj_t mp_builtin_open(size_t n_args, const mp_obj_t *args, mp_map_t *kwargs)
MP_DEFINE_CONST_FUN_OBJ_KW(mp_builtin_open_obj, 1, mp_builtin_open); MP_DEFINE_CONST_FUN_OBJ_KW(mp_builtin_open_obj, 1, mp_builtin_open);
#endif #endif
NORETURN void nlr_jump_fail(void *val) { MP_NORETURN void nlr_jump_fail(void *val) {
while (1) { while (1) {
; ;
} }

View File

@ -137,12 +137,12 @@ void mp_arg_parse_all_kw_array(size_t n_pos, size_t n_kw, const mp_obj_t *args,
mp_arg_parse_all(n_pos, args, &kw_args, n_allowed, allowed, out_vals); mp_arg_parse_all(n_pos, args, &kw_args, n_allowed, allowed, out_vals);
} }
NORETURN void mp_arg_error_terse_mismatch(void) { MP_NORETURN void mp_arg_error_terse_mismatch(void) {
mp_raise_TypeError(MP_ERROR_TEXT("argument num/types mismatch")); mp_raise_TypeError(MP_ERROR_TEXT("argument num/types mismatch"));
} }
#if MICROPY_CPYTHON_COMPAT #if MICROPY_CPYTHON_COMPAT
NORETURN void mp_arg_error_unimpl_kw(void) { MP_NORETURN void mp_arg_error_unimpl_kw(void) {
mp_raise_NotImplementedError(MP_ERROR_TEXT("keyword argument(s) not implemented - use normal args instead")); mp_raise_NotImplementedError(MP_ERROR_TEXT("keyword argument(s) not implemented - use normal args instead"));
} }
#endif #endif

View File

@ -88,7 +88,7 @@ const byte *mp_decode_uint_skip(const byte *ptr) {
return ptr; return ptr;
} }
static NORETURN void fun_pos_args_mismatch(mp_obj_fun_bc_t *f, size_t expected, size_t given) { static MP_NORETURN void fun_pos_args_mismatch(mp_obj_fun_bc_t *f, size_t expected, size_t given) {
#if MICROPY_ERROR_REPORTING <= MICROPY_ERROR_REPORTING_TERSE #if MICROPY_ERROR_REPORTING <= MICROPY_ERROR_REPORTING_TERSE
// generic message, used also for other argument issues // generic message, used also for other argument issues
(void)f; (void)f;

View File

@ -70,7 +70,7 @@
#define m_realloc(ptr, new_num_bytes) (m_realloc_dyn((ptr), (new_num_bytes))) #define m_realloc(ptr, new_num_bytes) (m_realloc_dyn((ptr), (new_num_bytes)))
#define m_realloc_maybe(ptr, new_num_bytes, allow_move) (m_realloc_maybe_dyn((ptr), (new_num_bytes), (allow_move))) #define m_realloc_maybe(ptr, new_num_bytes, allow_move) (m_realloc_maybe_dyn((ptr), (new_num_bytes), (allow_move)))
static NORETURN inline void m_malloc_fail_dyn(size_t num_bytes) { static MP_NORETURN inline void m_malloc_fail_dyn(size_t num_bytes) {
mp_fun_table.raise_msg( mp_fun_table.raise_msg(
mp_fun_table.load_global(MP_QSTR_MemoryError), mp_fun_table.load_global(MP_QSTR_MemoryError),
"memory allocation failed"); "memory allocation failed");
@ -295,7 +295,7 @@ static inline mp_obj_t mp_obj_new_exception_arg1_dyn(const mp_obj_type_t *exc_ty
return mp_call_function_n_kw(MP_OBJ_FROM_PTR(exc_type), 1, 0, &args[0]); return mp_call_function_n_kw(MP_OBJ_FROM_PTR(exc_type), 1, 0, &args[0]);
} }
static NORETURN inline void mp_raise_dyn(mp_obj_t o) { static MP_NORETURN inline void mp_raise_dyn(mp_obj_t o) {
mp_fun_table.raise(o); mp_fun_table.raise(o);
for (;;) { for (;;) {
} }

View File

@ -105,7 +105,7 @@ void *m_realloc(void *ptr, size_t new_num_bytes);
void *m_realloc_maybe(void *ptr, size_t new_num_bytes, bool allow_move); void *m_realloc_maybe(void *ptr, size_t new_num_bytes, bool allow_move);
void m_free(void *ptr); void m_free(void *ptr);
#endif #endif
NORETURN void m_malloc_fail(size_t num_bytes); MP_NORETURN void m_malloc_fail(size_t num_bytes);
#if MICROPY_TRACKED_ALLOC #if MICROPY_TRACKED_ALLOC
// These alloc/free functions track the pointers in a linked list so the GC does not reclaim // These alloc/free functions track the pointers in a linked list so the GC does not reclaim

View File

@ -37,7 +37,7 @@
#define MP_PI_4 MICROPY_FLOAT_CONST(0.78539816339744830962) #define MP_PI_4 MICROPY_FLOAT_CONST(0.78539816339744830962)
#define MP_3_PI_4 MICROPY_FLOAT_CONST(2.35619449019234492885) #define MP_3_PI_4 MICROPY_FLOAT_CONST(2.35619449019234492885)
static NORETURN void math_error(void) { static MP_NORETURN void math_error(void) {
mp_raise_ValueError(MP_ERROR_TEXT("math domain error")); mp_raise_ValueError(MP_ERROR_TEXT("math domain error"));
} }

View File

@ -2115,8 +2115,12 @@ typedef double mp_float_t;
#endif // INT_FMT #endif // INT_FMT
// Modifier for function which doesn't return // Modifier for function which doesn't return
#ifndef NORETURN #ifndef MP_NORETURN
#define NORETURN __attribute__((noreturn)) #define MP_NORETURN __attribute__((noreturn))
#endif
#if !MICROPY_PREVIEW_VERSION_2
#define NORETURN MP_NORETURN
#endif #endif
// Modifier for weak functions // Modifier for weak functions

View File

@ -143,7 +143,7 @@ typedef struct _mp_fun_table_t {
int (*printf_)(const mp_print_t *print, const char *fmt, ...); int (*printf_)(const mp_print_t *print, const char *fmt, ...);
int (*vprintf_)(const mp_print_t *print, const char *fmt, va_list args); int (*vprintf_)(const mp_print_t *print, const char *fmt, va_list args);
#if defined(__GNUC__) #if defined(__GNUC__)
NORETURN // Only certain compilers support no-return attributes in function pointer declarations MP_NORETURN // Only certain compilers support no-return attributes in function pointer declarations
#endif #endif
void (*raise_msg)(const mp_obj_type_t *exc_type, mp_rom_error_text_t msg); void (*raise_msg)(const mp_obj_type_t *exc_type, mp_rom_error_text_t msg);
const mp_obj_type_t *(*obj_get_type)(mp_const_obj_t o_in); const mp_obj_type_t *(*obj_get_type)(mp_const_obj_t o_in);

View File

@ -81,7 +81,7 @@ void nlr_call_jump_callbacks(nlr_buf_t *nlr) {
} }
#if MICROPY_ENABLE_VM_ABORT #if MICROPY_ENABLE_VM_ABORT
NORETURN void nlr_jump_abort(void) { MP_NORETURN void nlr_jump_abort(void) {
MP_STATE_THREAD(nlr_top) = MP_STATE_VM(nlr_abort); MP_STATE_THREAD(nlr_top) = MP_STATE_VM(nlr_abort);
nlr_jump(NULL); nlr_jump(NULL);
} }

View File

@ -177,18 +177,18 @@ unsigned int nlr_push(nlr_buf_t *);
unsigned int nlr_push_tail(nlr_buf_t *top); unsigned int nlr_push_tail(nlr_buf_t *top);
void nlr_pop(void); void nlr_pop(void);
NORETURN void nlr_jump(void *val); MP_NORETURN void nlr_jump(void *val);
#if MICROPY_ENABLE_VM_ABORT #if MICROPY_ENABLE_VM_ABORT
#define nlr_set_abort(buf) MP_STATE_VM(nlr_abort) = buf #define nlr_set_abort(buf) MP_STATE_VM(nlr_abort) = buf
#define nlr_get_abort() MP_STATE_VM(nlr_abort) #define nlr_get_abort() MP_STATE_VM(nlr_abort)
NORETURN void nlr_jump_abort(void); MP_NORETURN void nlr_jump_abort(void);
#endif #endif
// This must be implemented by a port. It's called by nlr_jump // This must be implemented by a port. It's called by nlr_jump
// if no nlr buf has been pushed. It must not return, but rather // if no nlr buf has been pushed. It must not return, but rather
// should bail out with a fatal error. // should bail out with a fatal error.
NORETURN void nlr_jump_fail(void *val); MP_NORETURN void nlr_jump_fail(void *val);
// use nlr_raise instead of nlr_jump so that debugging is easier // use nlr_raise instead of nlr_jump so that debugging is easier
#ifndef MICROPY_DEBUG_NLR #ifndef MICROPY_DEBUG_NLR

View File

@ -56,7 +56,7 @@ __asm(
#endif #endif
); );
NORETURN void nlr_jump(void *val) { MP_NORETURN void nlr_jump(void *val) {
MP_NLR_JUMP_HEAD(val, top) MP_NLR_JUMP_HEAD(val, top)
MP_STATIC_ASSERT(offsetof(nlr_buf_t, regs) == 16); // asm assumes it MP_STATIC_ASSERT(offsetof(nlr_buf_t, regs) == 16); // asm assumes it

View File

@ -57,7 +57,7 @@ __asm(
".end nlr_push \n" ".end nlr_push \n"
); );
NORETURN void nlr_jump(void *val) { MP_NORETURN void nlr_jump(void *val) {
MP_NLR_JUMP_HEAD(val, top) MP_NLR_JUMP_HEAD(val, top)
__asm( __asm(
"move $4, %0 \n" "move $4, %0 \n"

View File

@ -78,7 +78,7 @@ unsigned int nlr_push(nlr_buf_t *nlr) {
return 0; return 0;
} }
NORETURN void nlr_jump(void *val) { MP_NORETURN void nlr_jump(void *val) {
MP_NLR_JUMP_HEAD(val, top) MP_NLR_JUMP_HEAD(val, top)
__asm__ volatile ( __asm__ volatile (
@ -167,7 +167,7 @@ unsigned int nlr_push(nlr_buf_t *nlr) {
return 0; return 0;
} }
NORETURN void nlr_jump(void *val) { MP_NORETURN void nlr_jump(void *val) {
MP_NLR_JUMP_HEAD(val, top) MP_NLR_JUMP_HEAD(val, top)
__asm__ volatile ( __asm__ volatile (

View File

@ -50,7 +50,7 @@ __attribute__((naked)) unsigned int nlr_push(nlr_buf_t *nlr) {
); );
} }
NORETURN void nlr_jump(void *val) { MP_NORETURN void nlr_jump(void *val) {
MP_NLR_JUMP_HEAD(val, top) MP_NLR_JUMP_HEAD(val, top)
__asm volatile ( __asm volatile (
"add x10, x0, %0 \n" // Load nlr_buf address. "add x10, x0, %0 \n" // Load nlr_buf address.

View File

@ -50,7 +50,7 @@ __attribute__((naked)) unsigned int nlr_push(nlr_buf_t *nlr) {
); );
} }
NORETURN void nlr_jump(void *val) { MP_NORETURN void nlr_jump(void *val) {
MP_NLR_JUMP_HEAD(val, top) MP_NLR_JUMP_HEAD(val, top)
__asm volatile ( __asm volatile (
"add x10, x0, %0 \n" // Load nlr_buf address. "add x10, x0, %0 \n" // Load nlr_buf address.

View File

@ -100,7 +100,7 @@ __attribute__((naked)) unsigned int nlr_push(nlr_buf_t *nlr) {
#endif #endif
} }
NORETURN void nlr_jump(void *val) { MP_NORETURN void nlr_jump(void *val) {
MP_NLR_JUMP_HEAD(val, top) MP_NLR_JUMP_HEAD(val, top)
__asm volatile ( __asm volatile (

View File

@ -100,7 +100,7 @@ unsigned int nlr_push(nlr_buf_t *nlr) {
#endif #endif
} }
NORETURN void nlr_jump(void *val) { MP_NORETURN void nlr_jump(void *val) {
MP_NLR_JUMP_HEAD(val, top) MP_NLR_JUMP_HEAD(val, top)
__asm volatile ( __asm volatile (

View File

@ -78,7 +78,7 @@ unsigned int nlr_push(nlr_buf_t *nlr) {
#endif #endif
} }
NORETURN void nlr_jump(void *val) { MP_NORETURN void nlr_jump(void *val) {
MP_NLR_JUMP_HEAD(val, top) MP_NLR_JUMP_HEAD(val, top)
__asm volatile ( __asm volatile (

View File

@ -55,7 +55,7 @@ unsigned int nlr_push(nlr_buf_t *nlr) {
return 0; // needed to silence compiler warning return 0; // needed to silence compiler warning
} }
NORETURN void nlr_jump(void *val) { MP_NORETURN void nlr_jump(void *val) {
MP_NLR_JUMP_HEAD(val, top) MP_NLR_JUMP_HEAD(val, top)
__asm volatile ( __asm volatile (

View File

@ -40,7 +40,7 @@ static mp_obj_t str_modulo_format(mp_obj_t pattern, size_t n_args, const mp_obj_
#endif #endif
static mp_obj_t mp_obj_new_bytes_iterator(mp_obj_t str, mp_obj_iter_buf_t *iter_buf); static mp_obj_t mp_obj_new_bytes_iterator(mp_obj_t str, mp_obj_iter_buf_t *iter_buf);
static NORETURN void bad_implicit_conversion(mp_obj_t self_in); static MP_NORETURN void bad_implicit_conversion(mp_obj_t self_in);
static mp_obj_t mp_obj_new_str_type_from_vstr(const mp_obj_type_t *type, vstr_t *vstr); static mp_obj_t mp_obj_new_str_type_from_vstr(const mp_obj_type_t *type, vstr_t *vstr);
@ -1001,7 +1001,7 @@ static mp_obj_t arg_as_int(mp_obj_t arg) {
#endif #endif
#if MICROPY_ERROR_REPORTING <= MICROPY_ERROR_REPORTING_TERSE #if MICROPY_ERROR_REPORTING <= MICROPY_ERROR_REPORTING_TERSE
static NORETURN void terse_str_format_value_error(void) { static MP_NORETURN void terse_str_format_value_error(void) {
mp_raise_ValueError(MP_ERROR_TEXT("bad format string")); mp_raise_ValueError(MP_ERROR_TEXT("bad format string"));
} }
#else #else
@ -2357,7 +2357,7 @@ bool mp_obj_str_equal(mp_obj_t s1, mp_obj_t s2) {
} }
} }
static NORETURN void bad_implicit_conversion(mp_obj_t self_in) { static MP_NORETURN void bad_implicit_conversion(mp_obj_t self_in) {
#if MICROPY_ERROR_REPORTING <= MICROPY_ERROR_REPORTING_TERSE #if MICROPY_ERROR_REPORTING <= MICROPY_ERROR_REPORTING_TERSE
mp_raise_TypeError(MP_ERROR_TEXT("can't convert to str implicitly")); mp_raise_TypeError(MP_ERROR_TEXT("can't convert to str implicitly"));
#else #else

View File

@ -36,7 +36,7 @@
#include <math.h> #include <math.h>
#endif #endif
static NORETURN void raise_exc(mp_obj_t exc, mp_lexer_t *lex) { static MP_NORETURN void raise_exc(mp_obj_t exc, mp_lexer_t *lex) {
// if lex!=NULL then the parser called us and we need to convert the // if lex!=NULL then the parser called us and we need to convert the
// exception's type from ValueError to SyntaxError and add traceback info // exception's type from ValueError to SyntaxError and add traceback info
if (lex != NULL) { if (lex != NULL) {

View File

@ -1649,7 +1649,7 @@ mp_obj_t mp_parse_compile_execute(mp_lexer_t *lex, mp_parse_input_kind_t parse_i
#endif // MICROPY_ENABLE_COMPILER #endif // MICROPY_ENABLE_COMPILER
NORETURN void m_malloc_fail(size_t num_bytes) { MP_NORETURN void m_malloc_fail(size_t num_bytes) {
DEBUG_printf("memory allocation failed, allocating %u bytes\n", (uint)num_bytes); DEBUG_printf("memory allocation failed, allocating %u bytes\n", (uint)num_bytes);
#if MICROPY_ENABLE_GC #if MICROPY_ENABLE_GC
if (gc_is_locked()) { if (gc_is_locked()) {
@ -1662,25 +1662,25 @@ NORETURN void m_malloc_fail(size_t num_bytes) {
#if MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_NONE #if MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_NONE
NORETURN void mp_raise_type(const mp_obj_type_t *exc_type) { MP_NORETURN void mp_raise_type(const mp_obj_type_t *exc_type) {
nlr_raise(mp_obj_new_exception(exc_type)); nlr_raise(mp_obj_new_exception(exc_type));
} }
NORETURN void mp_raise_ValueError_no_msg(void) { MP_NORETURN void mp_raise_ValueError_no_msg(void) {
mp_raise_type(&mp_type_ValueError); mp_raise_type(&mp_type_ValueError);
} }
NORETURN void mp_raise_TypeError_no_msg(void) { MP_NORETURN void mp_raise_TypeError_no_msg(void) {
mp_raise_type(&mp_type_TypeError); mp_raise_type(&mp_type_TypeError);
} }
NORETURN void mp_raise_NotImplementedError_no_msg(void) { MP_NORETURN void mp_raise_NotImplementedError_no_msg(void) {
mp_raise_type(&mp_type_NotImplementedError); mp_raise_type(&mp_type_NotImplementedError);
} }
#else #else
NORETURN void mp_raise_msg(const mp_obj_type_t *exc_type, mp_rom_error_text_t msg) { MP_NORETURN void mp_raise_msg(const mp_obj_type_t *exc_type, mp_rom_error_text_t msg) {
if (msg == NULL) { if (msg == NULL) {
nlr_raise(mp_obj_new_exception(exc_type)); nlr_raise(mp_obj_new_exception(exc_type));
} else { } else {
@ -1688,7 +1688,7 @@ NORETURN void mp_raise_msg(const mp_obj_type_t *exc_type, mp_rom_error_text_t ms
} }
} }
NORETURN void mp_raise_msg_varg(const mp_obj_type_t *exc_type, mp_rom_error_text_t fmt, ...) { MP_NORETURN void mp_raise_msg_varg(const mp_obj_type_t *exc_type, mp_rom_error_text_t fmt, ...) {
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);
mp_obj_t exc = mp_obj_new_exception_msg_vlist(exc_type, fmt, args); mp_obj_t exc = mp_obj_new_exception_msg_vlist(exc_type, fmt, args);
@ -1696,25 +1696,25 @@ NORETURN void mp_raise_msg_varg(const mp_obj_type_t *exc_type, mp_rom_error_text
nlr_raise(exc); nlr_raise(exc);
} }
NORETURN void mp_raise_ValueError(mp_rom_error_text_t msg) { MP_NORETURN void mp_raise_ValueError(mp_rom_error_text_t msg) {
mp_raise_msg(&mp_type_ValueError, msg); mp_raise_msg(&mp_type_ValueError, msg);
} }
NORETURN void mp_raise_TypeError(mp_rom_error_text_t msg) { MP_NORETURN void mp_raise_TypeError(mp_rom_error_text_t msg) {
mp_raise_msg(&mp_type_TypeError, msg); mp_raise_msg(&mp_type_TypeError, msg);
} }
NORETURN void mp_raise_NotImplementedError(mp_rom_error_text_t msg) { MP_NORETURN void mp_raise_NotImplementedError(mp_rom_error_text_t msg) {
mp_raise_msg(&mp_type_NotImplementedError, msg); mp_raise_msg(&mp_type_NotImplementedError, msg);
} }
#endif #endif
NORETURN void mp_raise_type_arg(const mp_obj_type_t *exc_type, mp_obj_t arg) { MP_NORETURN void mp_raise_type_arg(const mp_obj_type_t *exc_type, mp_obj_t arg) {
nlr_raise(mp_obj_new_exception_arg1(exc_type, arg)); nlr_raise(mp_obj_new_exception_arg1(exc_type, arg));
} }
NORETURN void mp_raise_StopIteration(mp_obj_t arg) { MP_NORETURN void mp_raise_StopIteration(mp_obj_t arg) {
if (arg == MP_OBJ_NULL) { if (arg == MP_OBJ_NULL) {
mp_raise_type(&mp_type_StopIteration); mp_raise_type(&mp_type_StopIteration);
} else { } else {
@ -1722,7 +1722,7 @@ NORETURN void mp_raise_StopIteration(mp_obj_t arg) {
} }
} }
NORETURN void mp_raise_TypeError_int_conversion(mp_const_obj_t arg) { MP_NORETURN void mp_raise_TypeError_int_conversion(mp_const_obj_t arg) {
#if MICROPY_ERROR_REPORTING <= MICROPY_ERROR_REPORTING_TERSE #if MICROPY_ERROR_REPORTING <= MICROPY_ERROR_REPORTING_TERSE
(void)arg; (void)arg;
mp_raise_TypeError(MP_ERROR_TEXT("can't convert to int")); mp_raise_TypeError(MP_ERROR_TEXT("can't convert to int"));
@ -1732,11 +1732,11 @@ NORETURN void mp_raise_TypeError_int_conversion(mp_const_obj_t arg) {
#endif #endif
} }
NORETURN void mp_raise_OSError(int errno_) { MP_NORETURN void mp_raise_OSError(int errno_) {
mp_raise_type_arg(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(errno_)); mp_raise_type_arg(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(errno_));
} }
NORETURN void mp_raise_OSError_with_filename(int errno_, const char *filename) { MP_NORETURN void mp_raise_OSError_with_filename(int errno_, const char *filename) {
vstr_t vstr; vstr_t vstr;
vstr_init(&vstr, 32); vstr_init(&vstr, 32);
vstr_printf(&vstr, "can't open %s", filename); vstr_printf(&vstr, "can't open %s", filename);
@ -1746,7 +1746,7 @@ NORETURN void mp_raise_OSError_with_filename(int errno_, const char *filename) {
} }
#if MICROPY_STACK_CHECK || MICROPY_ENABLE_PYSTACK #if MICROPY_STACK_CHECK || MICROPY_ENABLE_PYSTACK
NORETURN void mp_raise_recursion_depth(void) { MP_NORETURN void mp_raise_recursion_depth(void) {
mp_raise_type_arg(&mp_type_RuntimeError, MP_OBJ_NEW_QSTR(MP_QSTR_maximum_space_recursion_space_depth_space_exceeded)); mp_raise_type_arg(&mp_type_RuntimeError, MP_OBJ_NEW_QSTR(MP_QSTR_maximum_space_recursion_space_depth_space_exceeded));
} }
#endif #endif

View File

@ -136,8 +136,8 @@ static inline void mp_arg_check_num(size_t n_args, size_t n_kw, size_t n_args_mi
} }
void mp_arg_parse_all(size_t n_pos, const mp_obj_t *pos, mp_map_t *kws, size_t n_allowed, const mp_arg_t *allowed, mp_arg_val_t *out_vals); void mp_arg_parse_all(size_t n_pos, const mp_obj_t *pos, mp_map_t *kws, size_t n_allowed, const mp_arg_t *allowed, mp_arg_val_t *out_vals);
void mp_arg_parse_all_kw_array(size_t n_pos, size_t n_kw, const mp_obj_t *args, size_t n_allowed, const mp_arg_t *allowed, mp_arg_val_t *out_vals); void mp_arg_parse_all_kw_array(size_t n_pos, size_t n_kw, const mp_obj_t *args, size_t n_allowed, const mp_arg_t *allowed, mp_arg_val_t *out_vals);
NORETURN void mp_arg_error_terse_mismatch(void); MP_NORETURN void mp_arg_error_terse_mismatch(void);
NORETURN void mp_arg_error_unimpl_kw(void); MP_NORETURN void mp_arg_error_unimpl_kw(void);
static inline mp_obj_dict_t *mp_locals_get(void) { static inline mp_obj_dict_t *mp_locals_get(void) {
return MP_STATE_THREAD(dict_locals); return MP_STATE_THREAD(dict_locals);
@ -246,10 +246,10 @@ mp_obj_t mp_import_from(mp_obj_t module, qstr name);
void mp_import_all(mp_obj_t module); void mp_import_all(mp_obj_t module);
#if MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_NONE #if MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_NONE
NORETURN void mp_raise_type(const mp_obj_type_t *exc_type); MP_NORETURN void mp_raise_type(const mp_obj_type_t *exc_type);
NORETURN void mp_raise_ValueError_no_msg(void); MP_NORETURN void mp_raise_ValueError_no_msg(void);
NORETURN void mp_raise_TypeError_no_msg(void); MP_NORETURN void mp_raise_TypeError_no_msg(void);
NORETURN void mp_raise_NotImplementedError_no_msg(void); MP_NORETURN void mp_raise_NotImplementedError_no_msg(void);
#define mp_raise_msg(exc_type, msg) mp_raise_type(exc_type) #define mp_raise_msg(exc_type, msg) mp_raise_type(exc_type)
#define mp_raise_msg_varg(exc_type, ...) mp_raise_type(exc_type) #define mp_raise_msg_varg(exc_type, ...) mp_raise_type(exc_type)
#define mp_raise_ValueError(msg) mp_raise_ValueError_no_msg() #define mp_raise_ValueError(msg) mp_raise_ValueError_no_msg()
@ -257,19 +257,19 @@ NORETURN void mp_raise_NotImplementedError_no_msg(void);
#define mp_raise_NotImplementedError(msg) mp_raise_NotImplementedError_no_msg() #define mp_raise_NotImplementedError(msg) mp_raise_NotImplementedError_no_msg()
#else #else
#define mp_raise_type(exc_type) mp_raise_msg(exc_type, NULL) #define mp_raise_type(exc_type) mp_raise_msg(exc_type, NULL)
NORETURN void mp_raise_msg(const mp_obj_type_t *exc_type, mp_rom_error_text_t msg); MP_NORETURN void mp_raise_msg(const mp_obj_type_t *exc_type, mp_rom_error_text_t msg);
NORETURN void mp_raise_msg_varg(const mp_obj_type_t *exc_type, mp_rom_error_text_t fmt, ...); MP_NORETURN void mp_raise_msg_varg(const mp_obj_type_t *exc_type, mp_rom_error_text_t fmt, ...);
NORETURN void mp_raise_ValueError(mp_rom_error_text_t msg); MP_NORETURN void mp_raise_ValueError(mp_rom_error_text_t msg);
NORETURN void mp_raise_TypeError(mp_rom_error_text_t msg); MP_NORETURN void mp_raise_TypeError(mp_rom_error_text_t msg);
NORETURN void mp_raise_NotImplementedError(mp_rom_error_text_t msg); MP_NORETURN void mp_raise_NotImplementedError(mp_rom_error_text_t msg);
#endif #endif
NORETURN void mp_raise_type_arg(const mp_obj_type_t *exc_type, mp_obj_t arg); MP_NORETURN void mp_raise_type_arg(const mp_obj_type_t *exc_type, mp_obj_t arg);
NORETURN void mp_raise_StopIteration(mp_obj_t arg); MP_NORETURN void mp_raise_StopIteration(mp_obj_t arg);
NORETURN void mp_raise_TypeError_int_conversion(mp_const_obj_t arg); MP_NORETURN void mp_raise_TypeError_int_conversion(mp_const_obj_t arg);
NORETURN void mp_raise_OSError(int errno_); MP_NORETURN void mp_raise_OSError(int errno_);
NORETURN void mp_raise_OSError_with_filename(int errno_, const char *filename); MP_NORETURN void mp_raise_OSError_with_filename(int errno_, const char *filename);
NORETURN void mp_raise_recursion_depth(void); MP_NORETURN void mp_raise_recursion_depth(void);
#if MICROPY_BUILTIN_METHOD_CHECK_SELF_ARG #if MICROPY_BUILTIN_METHOD_CHECK_SELF_ARG
#undef mp_check_self #undef mp_check_self

View File

@ -1,7 +1,7 @@
#include <py/runtime.h> #include <py/runtime.h>
NORETURN void abort_(void); MP_NORETURN void abort_(void);
NORETURN void abort_(void) { MP_NORETURN void abort_(void) {
mp_raise_msg(&mp_type_RuntimeError, MP_ERROR_TEXT("abort() called")); mp_raise_msg(&mp_type_RuntimeError, MP_ERROR_TEXT("abort() called"));
} }