revert additional assertion check which breaks used of hw_alias macro outside of functions (#635)

* revert additional assertion check which breaks used of hw_alias macros outside of functions
This commit is contained in:
Graham Sanderson 2021-10-26 16:07:21 -05:00 committed by GitHub
parent 5641cd0a4a
commit b04a09110f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 6 deletions

View File

@ -81,11 +81,13 @@ typedef ioptr const const_ioptr;
#define _REG_(x) #define _REG_(x)
// Helper method used by hw_alias macros to optionally check input validity // Helper method used by hw_alias macros to optionally check input validity
static __force_inline uint32_t hw_alias_check_addr(volatile void *addr) { #define hw_alias_check_addr(addr) ((uintptr_t)(addr))
uint32_t rc = (uintptr_t)addr; // can't use the following impl as it breaks existing static declarations using hw_alias, so would be a backwards incompatibility
invalid_params_if(ADDRESS_ALIAS, rc < 0x40000000); // catch likely non HW pointer types //static __force_inline uint32_t hw_alias_check_addr(volatile void *addr) {
return rc; // uint32_t rc = (uintptr_t)addr;
} // invalid_params_if(ADDRESS_ALIAS, rc < 0x40000000); // catch likely non HW pointer types
// return rc;
//}
// Helper method used by xip_alias macros to optionally check input validity // Helper method used by xip_alias macros to optionally check input validity
static __force_inline uint32_t xip_alias_check_addr(const void *addr) { static __force_inline uint32_t xip_alias_check_addr(const void *addr) {

View File

@ -244,7 +244,7 @@ extern void __attribute__((noreturn)) __printflike(1, 0) PICO_PANIC_FUNCTION(__u
// Use a forwarding method here as it is a little simpler than renaming the symbol as it is used from assembler // Use a forwarding method here as it is a little simpler than renaming the symbol as it is used from assembler
void __attribute__((naked, noreturn)) __printflike(1, 0) panic(__unused const char *fmt, ...) { void __attribute__((naked, noreturn)) __printflike(1, 0) panic(__unused const char *fmt, ...) {
// if you get an undefined reference here, you didn't define your PICO_PANIC_FUNCTION! // if you get an undefined reference here, you didn't define your PICO_PANIC_FUNCTION!
asm ( __asm (
"push {lr}\n" "push {lr}\n"
#if !PICO_PANIC_FUNCTION_EMPTY #if !PICO_PANIC_FUNCTION_EMPTY
"bl " __XSTRING(PICO_PANIC_FUNCTION) "\n" "bl " __XSTRING(PICO_PANIC_FUNCTION) "\n"