diff options
author | Chris Johns <chrisj@rtems.org> | 2022-06-14 10:56:34 +1000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2022-06-15 12:57:28 +1000 |
commit | 5262b9c2ab43373ff03d31543c9c2ea72ae9ad51 (patch) | |
tree | 660065f6faba6f5df836a13a65cd4bbfd3da1ccd /cpukit/score/cpu/arm/cpu.c | |
parent | sptests/spglobalcon01/init.cc: Change license to BSD-2 (diff) | |
download | rtems-5262b9c2ab43373ff03d31543c9c2ea72ae9ad51.tar.bz2 |
score/cpu: Silence ARM and AARCH64 GCC 12 false trigger array warning
The false trigger is covered in:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578
GCC 11 and 12 has been patched for constant pointer casts above
4K. This code casts a constant pointer within the first 4K
page. As a result the patch disables the warning.
Updates #4662
Diffstat (limited to '')
-rw-r--r-- | cpukit/score/cpu/arm/cpu.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/cpukit/score/cpu/arm/cpu.c b/cpukit/score/cpu/arm/cpu.c index 5c5b253470..b2cc6039b0 100644 --- a/cpukit/score/cpu/arm/cpu.c +++ b/cpukit/score/cpu/arm/cpu.c @@ -167,8 +167,10 @@ void _CPU_ISR_install_vector( CPU_ISR_handler *old_handler ) { +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Warray-bounds" /* Redirection table starts at the end of the vector table */ - CPU_ISR_handler *table = (CPU_ISR_handler *) (MAX_EXCEPTIONS * 4); + CPU_ISR_handler volatile *table = (CPU_ISR_handler *) (MAX_EXCEPTIONS * 4); CPU_ISR_handler current_handler = table [vector]; @@ -181,6 +183,7 @@ void _CPU_ISR_install_vector( if (current_handler != new_handler) { table [vector] = new_handler; } +#pragma GCC diagnostic pop } void _CPU_Initialize( void ) |