arch/nios2: rearrange for standard use of extern "C"
Consistently place C++ use of extern "C" after all include directives, within the negative branch of _ASMLANGUAGE if used. Remove extern "C" support from files that don't declare objects or functions. Background from issue #17997: Declarations that use C linkage should be placed within extern "C" so the language linkage is correct when the header is included by a C++ compiler. Similarly #include directives should be outside the extern "C" to ensure the language-specific default linkage is applied to any declarations provided by the included header. See: https://en.cppreference.com/w/cpp/language/language_linkage Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
This commit is contained in:
parent
817f527641
commit
20bb672266
3 changed files with 18 additions and 29 deletions
|
@ -22,10 +22,6 @@
|
|||
#include <arch/common/sys_io.h>
|
||||
#include <arch/common/ffs.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define STACK_ALIGN 4
|
||||
|
||||
#ifndef _ASMLANGUAGE
|
||||
|
@ -33,6 +29,9 @@ extern "C" {
|
|||
#include <irq.h>
|
||||
#include <sw_isr_table.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Configure a static interrupt.
|
||||
|
@ -210,10 +209,10 @@ static ALWAYS_INLINE void arch_nop(void)
|
|||
__asm__ volatile("nop");
|
||||
}
|
||||
|
||||
#endif /* _ASMLANGUAGE */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif /* _ASMLANGUAGE */
|
||||
|
||||
#endif /* ZEPHYR_INCLUDE_ARCH_NIOS2_ARCH_H_ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue