[rtems commit] Do not use RTEMS_INLINE_ROUTINE

Sebastian Huber sebh at rtems.org
Mon Sep 19 07:01:28 UTC 2022


Module:    rtems
Branch:    master
Commit:    a660e9dc47c522fe1a1b7f6e4af1795dbd6c20b1
Changeset: http://git.rtems.org/rtems/commit/?id=a660e9dc47c522fe1a1b7f6e4af1795dbd6c20b1

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Thu Sep  8 10:37:05 2022 +0200

Do not use RTEMS_INLINE_ROUTINE

Directly use "static inline" which is available in C99 and later.  This brings
the RTEMS implementation closer to standard C.

Close #3935.

---

 bsps/i386/pc386/include/edid.h                     |   2 +-
 bsps/include/grlib/grlib_impl.h                    |  18 +--
 bsps/m68k/shared/cache/cache.h                     |  56 +++----
 bsps/powerpc/gen5200/include/tm27.h                |   2 +-
 bsps/powerpc/motorola_powerpc/include/bsp.h        |   2 +-
 bsps/powerpc/mvme5500/include/tm27.h               |   2 +-
 bsps/powerpc/psim/include/tm27.h                   |   2 +-
 bsps/powerpc/qoriq/include/tm27.h                  |  10 +-
 bsps/powerpc/t32mppc/include/bsp/irq.h             |   4 +-
 bsps/powerpc/virtex/console/consolelite.c          |   8 +-
 bsps/sparc/erc32/include/bsp/irq.h                 |   4 +-
 bsps/x86_64/amd64/start/page.c                     |   2 +-
 cpukit/include/drvmgr/drvmgr.h                     |   4 +-
 cpukit/include/pci/access.h                        |  20 +--
 cpukit/include/pci/irq.h                           |  10 +-
 cpukit/include/rtems/bsd.h                         |  24 +--
 cpukit/include/rtems/cbs.h                         |  24 +--
 cpukit/include/rtems/chain.h                       |  64 ++++----
 cpukit/include/rtems/extensionimpl.h               |   6 +-
 cpukit/include/rtems/ioimpl.h                      |   4 +-
 cpukit/include/rtems/libio.h                       |   2 +-
 cpukit/include/rtems/linkersets.h                  |   2 +-
 cpukit/include/rtems/mallocinitmulti.h             |   2 +-
 cpukit/include/rtems/mallocinitone.h               |   2 +-
 cpukit/include/rtems/media.h                       |   2 +-
 cpukit/include/rtems/posix/condimpl.h              |  10 +-
 cpukit/include/rtems/posix/keyimpl.h               |  22 +--
 cpukit/include/rtems/posix/mqueueimpl.h            |  14 +-
 cpukit/include/rtems/posix/muteximpl.h             |  32 ++--
 cpukit/include/rtems/posix/posixapi.h              |  10 +-
 cpukit/include/rtems/posix/priorityimpl.h          |   2 +-
 cpukit/include/rtems/posix/psignalimpl.h           |   4 +-
 cpukit/include/rtems/posix/pthreadattrimpl.h       |   6 +-
 cpukit/include/rtems/posix/pthreadimpl.h           |   4 +-
 cpukit/include/rtems/posix/rwlockimpl.h            |   2 +-
 cpukit/include/rtems/posix/semaphoreimpl.h         |  18 +--
 cpukit/include/rtems/posix/shmimpl.h               |  10 +-
 cpukit/include/rtems/posix/spinlockimpl.h          |   2 +-
 cpukit/include/rtems/posix/timerimpl.h             |  10 +-
 cpukit/include/rtems/pty.h                         |   2 +-
 cpukit/include/rtems/qreslib.h                     |  24 +--
 cpukit/include/rtems/rbtree.h                      |  46 +++---
 cpukit/include/rtems/record.h                      |  22 +--
 cpukit/include/rtems/rtems/attrimpl.h              |  28 ++--
 cpukit/include/rtems/rtems/barrierimpl.h           |   6 +-
 cpukit/include/rtems/rtems/dpmemimpl.h             |   6 +-
 cpukit/include/rtems/rtems/eventimpl.h             |  10 +-
 cpukit/include/rtems/rtems/messageimpl.h           |   6 +-
 cpukit/include/rtems/rtems/modesimpl.h             |  14 +-
 cpukit/include/rtems/rtems/msgmp.h                 |   2 +-
 cpukit/include/rtems/rtems/optionsimpl.h           |   4 +-
 cpukit/include/rtems/rtems/partimpl.h              |   6 +-
 cpukit/include/rtems/rtems/partmp.h                |   2 +-
 cpukit/include/rtems/rtems/ratemonimpl.h           |  12 +-
 cpukit/include/rtems/rtems/regionimpl.h            |  12 +-
 cpukit/include/rtems/rtems/semimpl.h               |  24 +--
 cpukit/include/rtems/rtems/semmp.h                 |   2 +-
 cpukit/include/rtems/rtems/statusimpl.h            |   4 +-
 cpukit/include/rtems/rtems/tasksimpl.h             |   6 +-
 cpukit/include/rtems/rtems/timerimpl.h             |  22 +--
 cpukit/include/rtems/score/address.h               |  14 +-
 cpukit/include/rtems/score/chainimpl.h             |  82 +++++-----
 cpukit/include/rtems/score/corebarrierimpl.h       |  10 +-
 cpukit/include/rtems/score/coremsgimpl.h           |  26 ++--
 cpukit/include/rtems/score/coremuteximpl.h         |  38 ++---
 cpukit/include/rtems/score/corerwlockimpl.h        |   6 +-
 cpukit/include/rtems/score/coresemimpl.h           |  12 +-
 cpukit/include/rtems/score/freechainimpl.h         |   8 +-
 cpukit/include/rtems/score/hash.h                  |   8 +-
 cpukit/include/rtems/score/heap.h                  |   8 +-
 cpukit/include/rtems/score/heapimpl.h              |  54 +++----
 cpukit/include/rtems/score/isrlock.h               |   2 +-
 cpukit/include/rtems/score/memory.h                |  26 ++--
 cpukit/include/rtems/score/mpciimpl.h              |   2 +-
 cpukit/include/rtems/score/mrspimpl.h              |  32 ++--
 cpukit/include/rtems/score/object.h                |   8 +-
 cpukit/include/rtems/score/objectimpl.h            |  46 +++---
 cpukit/include/rtems/score/percpu.h                |   6 +-
 cpukit/include/rtems/score/prioritybitmapimpl.h    |  22 +--
 cpukit/include/rtems/score/priorityimpl.h          |  62 ++++----
 cpukit/include/rtems/score/processormask.h         |  42 +++---
 cpukit/include/rtems/score/protectedheap.h         |   6 +-
 cpukit/include/rtems/score/rbtree.h                |  38 ++---
 cpukit/include/rtems/score/schedulercbsimpl.h      |   4 +-
 cpukit/include/rtems/score/scheduleredfimpl.h      |  18 +--
 cpukit/include/rtems/score/schedulerimpl.h         |  62 ++++----
 cpukit/include/rtems/score/schedulernodeimpl.h     |  20 +--
 cpukit/include/rtems/score/schedulerpriorityimpl.h |  22 +--
 cpukit/include/rtems/score/schedulersimpleimpl.h   |  10 +-
 cpukit/include/rtems/score/scheduleruniimpl.h      |  14 +-
 cpukit/include/rtems/score/smpimpl.h               |   4 +-
 cpukit/include/rtems/score/stackimpl.h             |  10 +-
 cpukit/include/rtems/score/statesimpl.h            |  18 +--
 cpukit/include/rtems/score/sysstate.h              |  12 +-
 cpukit/include/rtems/score/threaddispatch.h        |  16 +-
 cpukit/include/rtems/score/threadimpl.h            | 166 ++++++++++-----------
 cpukit/include/rtems/score/threadmp.h              |   2 +-
 cpukit/include/rtems/score/threadqimpl.h           |  70 ++++-----
 cpukit/include/rtems/score/timestampimpl.h         |  26 ++--
 cpukit/include/rtems/score/todimpl.h               |   4 +-
 cpukit/include/rtems/score/userextimpl.h           |   4 +-
 cpukit/include/rtems/score/watchdogimpl.h          |  52 +++----
 cpukit/include/rtems/score/wkspaceinitmulti.h      |   2 +-
 cpukit/include/rtems/score/wkspaceinitone.h        |   2 +-
 cpukit/include/rtems/termiostypes.h                |   8 +-
 cpukit/include/rtems/timecounter.h                 |  14 +-
 cpukit/include/rtems/timespec.h                    |  28 ++--
 cpukit/libfs/src/dosfs/msdos.h                     |   4 +-
 cpukit/score/cpu/aarch64/include/rtems/score/cpu.h |   2 +-
 .../cpu/aarch64/include/rtems/score/cpuimpl.h      |   6 +-
 cpukit/score/cpu/arm/include/rtems/score/cpu.h     |   2 +-
 cpukit/score/cpu/arm/include/rtems/score/cpuimpl.h |   6 +-
 cpukit/score/cpu/bfin/include/rtems/score/cpu.h    |   2 +-
 .../score/cpu/bfin/include/rtems/score/cpuimpl.h   |  10 +-
 cpukit/score/cpu/i386/include/rtems/score/cpu.h    |   2 +-
 .../score/cpu/i386/include/rtems/score/cpuimpl.h   |  10 +-
 cpukit/score/cpu/i386/include/rtems/score/i386.h   |   4 +-
 cpukit/score/cpu/lm32/include/rtems/score/cpu.h    |   4 +-
 .../score/cpu/lm32/include/rtems/score/cpuimpl.h   |  10 +-
 cpukit/score/cpu/m68k/include/rtems/score/cpu.h    |   2 +-
 .../score/cpu/m68k/include/rtems/score/cpuimpl.h   |  10 +-
 .../score/cpu/microblaze/include/rtems/score/cpu.h |   2 +-
 .../cpu/microblaze/include/rtems/score/cpuimpl.h   |   6 +-
 cpukit/score/cpu/mips/include/rtems/score/cpu.h    |   2 +-
 .../score/cpu/mips/include/rtems/score/cpuimpl.h   |  10 +-
 cpukit/score/cpu/moxie/include/rtems/score/cpu.h   |   2 +-
 .../score/cpu/moxie/include/rtems/score/cpuimpl.h  |  10 +-
 .../score/cpu/nios2/include/rtems/score/cpuimpl.h  |   6 +-
 cpukit/score/cpu/nios2/nios2-iic-irq.c             |   2 +-
 cpukit/score/cpu/no_cpu/include/rtems/score/cpu.h  |   2 +-
 .../score/cpu/no_cpu/include/rtems/score/cpuimpl.h |   6 +-
 cpukit/score/cpu/or1k/include/rtems/score/cpu.h    |   4 +-
 .../score/cpu/or1k/include/rtems/score/cpuimpl.h   |   6 +-
 cpukit/score/cpu/powerpc/include/rtems/score/cpu.h |   2 +-
 .../cpu/powerpc/include/rtems/score/cpuimpl.h      |   6 +-
 cpukit/score/cpu/riscv/include/rtems/score/cpu.h   |   4 +-
 .../score/cpu/riscv/include/rtems/score/cpuimpl.h  |   6 +-
 cpukit/score/cpu/sh/include/rtems/score/cpu.h      |   2 +-
 cpukit/score/cpu/sh/include/rtems/score/cpuimpl.h  |  10 +-
 cpukit/score/cpu/sparc/include/libcpu/byteorder.h  |  16 +-
 cpukit/score/cpu/sparc/include/rtems/score/cpu.h   |   2 +-
 .../score/cpu/sparc/include/rtems/score/cpuimpl.h  |   6 +-
 cpukit/score/cpu/sparc64/include/rtems/score/cpu.h |   2 +-
 .../cpu/sparc64/include/rtems/score/cpuimpl.h      |  10 +-
 cpukit/score/cpu/v850/include/rtems/score/cpu.h    |   2 +-
 .../score/cpu/v850/include/rtems/score/cpuimpl.h   |  10 +-
 cpukit/score/cpu/x86_64/include/rtems/score/cpu.h  |   6 +-
 .../score/cpu/x86_64/include/rtems/score/cpu_asm.h |  20 +--
 .../score/cpu/x86_64/include/rtems/score/cpuimpl.h |  10 +-
 testsuites/sptests/sp07/system.h                   |   2 +-
 150 files changed, 1039 insertions(+), 1039 deletions(-)

diff --git a/bsps/i386/pc386/include/edid.h b/bsps/i386/pc386/include/edid.h
index c76cec8330..9945ee5ae7 100644
--- a/bsps/i386/pc386/include/edid.h
+++ b/bsps/i386/pc386/include/edid.h
@@ -34,7 +34,7 @@ extern "C" {
 #endif /* __cplusplus */
 
 #include <rtems/score/basedefs.h>
-#define EDID_INLINE_ROUTINE     RTEMS_INLINE_ROUTINE
+#define EDID_INLINE_ROUTINE     static inline
 
 /*  VESA Enhanced Extended Display Identification Data (E-EDID) Proposed
     Release A, March 27, 2007 */
diff --git a/bsps/include/grlib/grlib_impl.h b/bsps/include/grlib/grlib_impl.h
index 919f6d69ab..4781d0aa1f 100644
--- a/bsps/include/grlib/grlib_impl.h
+++ b/bsps/include/grlib/grlib_impl.h
@@ -66,24 +66,24 @@ extern "C" {
 
 #if (((__RTEMS_MAJOR__ << 16) | (__RTEMS_MINOR__ << 8) | __RTEMS_REVISION__) >= 0x050000)
 
-RTEMS_INLINE_ROUTINE void *grlib_malloc(size_t size)
+static inline void *grlib_malloc(size_t size)
 {
  return rtems_malloc(size);
 }
 
-RTEMS_INLINE_ROUTINE void *grlib_calloc(size_t nelem, size_t elsize)
+static inline void *grlib_calloc(size_t nelem, size_t elsize)
 {
  return rtems_calloc(nelem, elsize);
 }
 
 #else
 
-RTEMS_INLINE_ROUTINE void *grlib_malloc(size_t size)
+static inline void *grlib_malloc(size_t size)
 {
  return malloc(size);
 }
 
-RTEMS_INLINE_ROUTINE void *grlib_calloc(size_t nelem, size_t elsize)
+static inline void *grlib_calloc(size_t nelem, size_t elsize)
 {
  return calloc(nelem, elsize);
 }
@@ -92,7 +92,7 @@ RTEMS_INLINE_ROUTINE void *grlib_calloc(size_t nelem, size_t elsize)
 
 #ifdef __sparc__
 
-RTEMS_INLINE_ROUTINE unsigned char grlib_read_uncached8(unsigned int address)
+static inline unsigned char grlib_read_uncached8(unsigned int address)
 {
        unsigned char tmp;
        __asm__ (" lduba [%1]1, %0 "
@@ -102,7 +102,7 @@ RTEMS_INLINE_ROUTINE unsigned char grlib_read_uncached8(unsigned int address)
        return tmp;
 }
 
-RTEMS_INLINE_ROUTINE unsigned short grlib_read_uncached16(unsigned int addr) {
+static inline unsigned short grlib_read_uncached16(unsigned int addr) {
        unsigned short tmp;
        __asm__ (" lduha [%1]1, %0 "
          : "=r"(tmp)
@@ -112,7 +112,7 @@ RTEMS_INLINE_ROUTINE unsigned short grlib_read_uncached16(unsigned int addr) {
 }
 
 
-RTEMS_INLINE_ROUTINE unsigned int grlib_read_uncached32(unsigned int address)
+static inline unsigned int grlib_read_uncached32(unsigned int address)
 {
 	unsigned int tmp;
 	__asm__ (" lda [%1]1, %0 "
@@ -122,7 +122,7 @@ RTEMS_INLINE_ROUTINE unsigned int grlib_read_uncached32(unsigned int address)
 	return tmp;
 }
 
-RTEMS_INLINE_ROUTINE uint64_t grlib_read_uncached64(uint64_t *address)
+static inline uint64_t grlib_read_uncached64(uint64_t *address)
 {
 	uint64_t tmp;
 	__asm__ (" ldda [%1]1, %0 "
@@ -147,7 +147,7 @@ static __inline__ unsigned short grlib_read_uncached16(unsigned int address) {
 	return tmp;
 }
 
-RTEMS_INLINE_ROUTINE unsigned int grlib_read_uncached32(unsigned int address)
+static inline unsigned int grlib_read_uncached32(unsigned int address)
 {
 	unsigned int tmp = (*(volatile unsigned int *)(address));
 	return tmp;
diff --git a/bsps/m68k/shared/cache/cache.h b/bsps/m68k/shared/cache/cache.h
index 18797d4695..0fb63f7d2f 100644
--- a/bsps/m68k/shared/cache/cache.h
+++ b/bsps/m68k/shared/cache/cache.h
@@ -76,10 +76,10 @@
 
 /* Only the mc68030 has a data cache; it is writethrough only. */
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_flush_1_data_line(const void * d_addr) {}
-RTEMS_INLINE_ROUTINE void _CPU_cache_flush_entire_data(void) {}
+static inline void _CPU_cache_flush_1_data_line(const void * d_addr) {}
+static inline void _CPU_cache_flush_entire_data(void) {}
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_invalidate_1_data_line(
+static inline void _CPU_cache_invalidate_1_data_line(
   const void * d_addr
 )
 {
@@ -88,27 +88,27 @@ RTEMS_INLINE_ROUTINE void _CPU_cache_invalidate_1_data_line(
   _CPU_CACR_OR(0x00000400);
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_invalidate_entire_data(void)
+static inline void _CPU_cache_invalidate_entire_data(void)
 {
   _CPU_CACR_OR( 0x00000800 );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_freeze_data(void)
+static inline void _CPU_cache_freeze_data(void)
 {
   _CPU_CACR_OR( 0x00000200 );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_unfreeze_data(void)
+static inline void _CPU_cache_unfreeze_data(void)
 {
   _CPU_CACR_AND( 0xFFFFFDFF );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_enable_data(void)
+static inline void _CPU_cache_enable_data(void)
 {
   _CPU_CACR_OR( 0x00000100 );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_disable_data(void)
+static inline void _CPU_cache_disable_data(void)
 {
   _CPU_CACR_AND( 0xFFFFFEFF );
 }
@@ -117,7 +117,7 @@ RTEMS_INLINE_ROUTINE void _CPU_cache_disable_data(void)
 
 /* Both the 68020 and 68030 have instruction caches */
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_invalidate_1_instruction_line(
+static inline void _CPU_cache_invalidate_1_instruction_line(
   const void * d_addr
 )
 {
@@ -126,27 +126,27 @@ RTEMS_INLINE_ROUTINE void _CPU_cache_invalidate_1_instruction_line(
   _CPU_CACR_OR( 0x00000004 );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_invalidate_entire_instruction(void)
+static inline void _CPU_cache_invalidate_entire_instruction(void)
 {
   _CPU_CACR_OR( 0x00000008 );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_freeze_instruction(void)
+static inline void _CPU_cache_freeze_instruction(void)
 {
   _CPU_CACR_OR( 0x00000002);
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_unfreeze_instruction(void)
+static inline void _CPU_cache_unfreeze_instruction(void)
 {
   _CPU_CACR_AND( 0xFFFFFFFD );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_enable_instruction(void)
+static inline void _CPU_cache_enable_instruction(void)
 {
   _CPU_CACR_OR( 0x00000001 );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_disable_instruction(void)
+static inline void _CPU_cache_disable_instruction(void)
 {
   _CPU_CACR_AND( 0xFFFFFFFE );
 }
@@ -155,12 +155,12 @@ RTEMS_INLINE_ROUTINE void _CPU_cache_disable_instruction(void)
 #elif ( defined(__mc68040__) || defined (__mc68060__) )
 
 /* Cannot be frozen */
-RTEMS_INLINE_ROUTINE void _CPU_cache_freeze_data(void) {}
-RTEMS_INLINE_ROUTINE void _CPU_cache_unfreeze_data(void) {}
-RTEMS_INLINE_ROUTINE void _CPU_cache_freeze_instruction(void) {}
-RTEMS_INLINE_ROUTINE void _CPU_cache_unfreeze_instruction(void) {}
+static inline void _CPU_cache_freeze_data(void) {}
+static inline void _CPU_cache_unfreeze_data(void) {}
+static inline void _CPU_cache_freeze_instruction(void) {}
+static inline void _CPU_cache_unfreeze_instruction(void) {}
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_flush_1_data_line(
+static inline void _CPU_cache_flush_1_data_line(
   const void * d_addr
 )
 {
@@ -168,7 +168,7 @@ RTEMS_INLINE_ROUTINE void _CPU_cache_flush_1_data_line(
   __asm__ volatile ( "cpushl %%dc,(%0)" :: "a" (p_address) );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_invalidate_1_data_line(
+static inline void _CPU_cache_invalidate_1_data_line(
   const void * d_addr
 )
 {
@@ -176,44 +176,44 @@ RTEMS_INLINE_ROUTINE void _CPU_cache_invalidate_1_data_line(
   __asm__ volatile ( "cinvl %%dc,(%0)" :: "a" (p_address) );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_flush_entire_data(void)
+static inline void _CPU_cache_flush_entire_data(void)
 {
   __asm__ volatile ( "cpusha %%dc" :: );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_invalidate_entire_data(void)
+static inline void _CPU_cache_invalidate_entire_data(void)
 {
   __asm__ volatile ( "cinva %%dc" :: );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_enable_data(void)
+static inline void _CPU_cache_enable_data(void)
 {
   _CPU_CACR_OR( 0x80000000 );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_disable_data(void)
+static inline void _CPU_cache_disable_data(void)
 {
   _CPU_CACR_AND( 0x7FFFFFFF );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_invalidate_1_instruction_line(
+static inline void _CPU_cache_invalidate_1_instruction_line(
   const void * i_addr )
 {
   void * p_address = (void *)  _CPU_virtual_to_physical( i_addr );
   __asm__ volatile ( "cinvl %%ic,(%0)" :: "a" (p_address) );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_invalidate_entire_instruction(void)
+static inline void _CPU_cache_invalidate_entire_instruction(void)
 {
   __asm__ volatile ( "cinva %%ic" :: );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_enable_instruction(void)
+static inline void _CPU_cache_enable_instruction(void)
 {
   _CPU_CACR_OR( 0x00008000 );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_cache_disable_instruction(void)
+static inline void _CPU_cache_disable_instruction(void)
 {
   _CPU_CACR_AND( 0xFFFF7FFF );
 }
diff --git a/bsps/powerpc/gen5200/include/tm27.h b/bsps/powerpc/gen5200/include/tm27.h
index bd3dbb2d85..77dc566e49 100644
--- a/bsps/powerpc/gen5200/include/tm27.h
+++ b/bsps/powerpc/gen5200/include/tm27.h
@@ -34,7 +34,7 @@ static rtems_irq_connect_data clockIrqData = {BSP_DECREMENTER,
                                               (rtems_irq_disable) nullFunc,
                                               (rtems_irq_is_enabled) nullFunc};
 
-RTEMS_INLINE_ROUTINE void Install_tm27_vector(void (*_handler)(void))
+static inline void Install_tm27_vector(void (*_handler)(void))
 {
   clockIrqData.hdl = _handler;
   if (!BSP_install_rtems_irq_handler (&clockIrqData)) {
diff --git a/bsps/powerpc/motorola_powerpc/include/bsp.h b/bsps/powerpc/motorola_powerpc/include/bsp.h
index 7d362bf406..1c35d8e1b7 100644
--- a/bsps/powerpc/motorola_powerpc/include/bsp.h
+++ b/bsps/powerpc/motorola_powerpc/include/bsp.h
@@ -190,7 +190,7 @@ extern int rtems_dec21140_driver_attach(struct rtems_bsdnet_ifconfig *, int);
 #define RTEMS_BSP_NETWORK_DRIVER_ATTACH rtems_ne_driver_attach
 extern int rtems_ne_driver_attach(struct rtems_bsdnet_ifconfig *, int);
 
-RTEMS_INLINE_ROUTINE const char* bsp_cmdline_arg(const char* arg)
+static inline const char* bsp_cmdline_arg(const char* arg)
 {
   return rtems_bsp_cmdline_get_param_raw(arg);
 }
diff --git a/bsps/powerpc/mvme5500/include/tm27.h b/bsps/powerpc/mvme5500/include/tm27.h
index bf255aeb79..99686dc85d 100644
--- a/bsps/powerpc/mvme5500/include/tm27.h
+++ b/bsps/powerpc/mvme5500/include/tm27.h
@@ -32,7 +32,7 @@ static rtems_irq_connect_data clockIrqData = {BSP_DECREMENTER,
                                               (rtems_irq_disable)nullFunc,
                                               (rtems_irq_is_enabled) nullFunc};
 
-RTEMS_INLINE_ROUTINE void Install_tm27_vector(void (*_handler)())
+static inline void Install_tm27_vector(void (*_handler)())
 {
   clockIrqData.hdl = _handler;
   if (!BSP_install_rtems_irq_handler (&clockIrqData)) {
diff --git a/bsps/powerpc/psim/include/tm27.h b/bsps/powerpc/psim/include/tm27.h
index 8e20a3ebd1..c8781efe65 100644
--- a/bsps/powerpc/psim/include/tm27.h
+++ b/bsps/powerpc/psim/include/tm27.h
@@ -32,7 +32,7 @@ static rtems_irq_connect_data clockIrqData = {BSP_DECREMENTER,
                                               (rtems_irq_disable)nullFunc,
                                               (rtems_irq_is_enabled) nullFunc};
 
-RTEMS_INLINE_ROUTINE void Install_tm27_vector(void (*_handler)())
+static inline void Install_tm27_vector(void (*_handler)())
 {
   clockIrqData.hdl = _handler;
   if (!BSP_install_rtems_irq_handler (&clockIrqData)) {
diff --git a/bsps/powerpc/qoriq/include/tm27.h b/bsps/powerpc/qoriq/include/tm27.h
index 89ae11fef6..4ac769de90 100644
--- a/bsps/powerpc/qoriq/include/tm27.h
+++ b/bsps/powerpc/qoriq/include/tm27.h
@@ -53,7 +53,7 @@
 
 #define IPI_INDEX_HIGH 2
 
-RTEMS_INLINE_ROUTINE void Install_tm27_vector(void (*handler)(rtems_vector_number))
+static inline void Install_tm27_vector(void (*handler)(rtems_vector_number))
 {
   rtems_status_code sc;
   rtems_vector_number low = QORIQ_IRQ_IPI_0 + IPI_INDEX_LOW;
@@ -84,24 +84,24 @@ RTEMS_INLINE_ROUTINE void Install_tm27_vector(void (*handler)(rtems_vector_numbe
   assert(sc == RTEMS_SUCCESSFUL);
 }
 
-RTEMS_INLINE_ROUTINE void qoriq_tm27_cause(uint32_t ipi_index)
+static inline void qoriq_tm27_cause(uint32_t ipi_index)
 {
   uint32_t self = ppc_processor_id();
 
   qoriq.pic.per_cpu[self].ipidr[ipi_index].reg = UINT32_C(1) << self;
 }
 
-RTEMS_INLINE_ROUTINE void Cause_tm27_intr(void)
+static inline void Cause_tm27_intr(void)
 {
   qoriq_tm27_cause(IPI_INDEX_LOW);
 }
 
-RTEMS_INLINE_ROUTINE void Clear_tm27_intr(void)
+static inline void Clear_tm27_intr(void)
 {
   /* Nothing to do */
 }
 
-RTEMS_INLINE_ROUTINE inline void Lower_tm27_intr(void)
+static inline inline void Lower_tm27_intr(void)
 {
   qoriq_tm27_cause(IPI_INDEX_HIGH);
 }
diff --git a/bsps/powerpc/t32mppc/include/bsp/irq.h b/bsps/powerpc/t32mppc/include/bsp/irq.h
index a860dc28e1..bb9b9b1564 100644
--- a/bsps/powerpc/t32mppc/include/bsp/irq.h
+++ b/bsps/powerpc/t32mppc/include/bsp/irq.h
@@ -39,7 +39,7 @@ extern "C" {
 
 #define BSP_INTERRUPT_VECTOR_COUNT 1
 
-RTEMS_INLINE_ROUTINE rtems_status_code bsp_interrupt_set_affinity(
+static inline rtems_status_code bsp_interrupt_set_affinity(
   rtems_vector_number   vector,
   const Processor_mask *affinity
 )
@@ -49,7 +49,7 @@ RTEMS_INLINE_ROUTINE rtems_status_code bsp_interrupt_set_affinity(
   return RTEMS_SUCCESSFUL;
 }
 
-RTEMS_INLINE_ROUTINE rtems_status_code bsp_interrupt_get_affinity(
+static inline rtems_status_code bsp_interrupt_get_affinity(
   rtems_vector_number  vector,
   Processor_mask      *affinity
 )
diff --git a/bsps/powerpc/virtex/console/consolelite.c b/bsps/powerpc/virtex/console/consolelite.c
index 4d0b2db17f..9a2595a535 100644
--- a/bsps/powerpc/virtex/console/consolelite.c
+++ b/bsps/powerpc/virtex/console/consolelite.c
@@ -57,28 +57,28 @@
 
 
 
-RTEMS_INLINE_ROUTINE uint32_t xlite_uart_control(uint32_t base)
+static inline uint32_t xlite_uart_control(uint32_t base)
 {
   uint32_t c = *((volatile uint32_t*)(base+CTRL_REG));
   return c;
 }
 
 
-RTEMS_INLINE_ROUTINE uint32_t xlite_uart_status(uint32_t base)
+static inline uint32_t xlite_uart_status(uint32_t base)
 {
   uint32_t c = *((volatile uint32_t*)(base+STAT_REG));
   return c;
 }
 
 
-RTEMS_INLINE_ROUTINE uint32_t xlite_uart_read(uint32_t base)
+static inline uint32_t xlite_uart_read(uint32_t base)
 {
   uint32_t c = *((volatile uint32_t*)(base+RECV_REG));
   return c;
 }
 
 
-RTEMS_INLINE_ROUTINE void xlite_uart_write(uint32_t base, char ch)
+static inline void xlite_uart_write(uint32_t base, char ch)
 {
   *(volatile uint32_t*)(base+TRAN_REG) = (uint32_t)ch;
   return;
diff --git a/bsps/sparc/erc32/include/bsp/irq.h b/bsps/sparc/erc32/include/bsp/irq.h
index 83b383ba7a..b03d8fec85 100644
--- a/bsps/sparc/erc32/include/bsp/irq.h
+++ b/bsps/sparc/erc32/include/bsp/irq.h
@@ -25,7 +25,7 @@
 
 #define BSP_INTERRUPT_CUSTOM_VALID_VECTOR
 
-RTEMS_INLINE_ROUTINE rtems_status_code bsp_interrupt_set_affinity(
+static inline rtems_status_code bsp_interrupt_set_affinity(
   rtems_vector_number   vector,
   const Processor_mask *affinity
 )
@@ -35,7 +35,7 @@ RTEMS_INLINE_ROUTINE rtems_status_code bsp_interrupt_set_affinity(
   return RTEMS_SUCCESSFUL;
 }
 
-RTEMS_INLINE_ROUTINE rtems_status_code bsp_interrupt_get_affinity(
+static inline rtems_status_code bsp_interrupt_get_affinity(
   rtems_vector_number  vector,
   Processor_mask      *affinity
 )
diff --git a/bsps/x86_64/amd64/start/page.c b/bsps/x86_64/amd64/start/page.c
index 64bdf21707..c2e3949556 100644
--- a/bsps/x86_64/amd64/start/page.c
+++ b/bsps/x86_64/amd64/start/page.c
@@ -83,7 +83,7 @@ uint64_t get_mask_for_bits(uint8_t start, uint8_t end)
   return mask;
 }
 
-RTEMS_INLINE_ROUTINE void assert_0s_from_bit(uint64_t entry, uint8_t bit_pos)
+static inline void assert_0s_from_bit(uint64_t entry, uint8_t bit_pos)
 {
   /* Confirm that bit_pos:64 are all 0s */
   assert((entry & get_mask_for_bits(bit_pos, 64)) == 0);
diff --git a/cpukit/include/drvmgr/drvmgr.h b/cpukit/include/drvmgr/drvmgr.h
index 8573159af6..fc60aede2b 100644
--- a/cpukit/include/drvmgr/drvmgr.h
+++ b/cpukit/include/drvmgr/drvmgr.h
@@ -485,7 +485,7 @@ extern union drvmgr_key_value *drvmgr_dev_key_get(
 /*** DRIVER INTERACE USED TO REQUEST INFORMATION/SERVICES FROM BUS DRIVER ***/
 
 /*! Get parent bus */
-RTEMS_INLINE_ROUTINE struct drvmgr_bus *drvmgr_get_parent(
+static inline struct drvmgr_bus *drvmgr_get_parent(
 	struct drvmgr_dev *dev)
 {
 	if (dev)
@@ -495,7 +495,7 @@ RTEMS_INLINE_ROUTINE struct drvmgr_bus *drvmgr_get_parent(
 }
 
 /*! Get Driver of device */
-RTEMS_INLINE_ROUTINE struct drvmgr_drv *drvmgr_get_drv(struct drvmgr_dev *dev)
+static inline struct drvmgr_drv *drvmgr_get_drv(struct drvmgr_dev *dev)
 {
 	if (dev)
 		return dev->drv;
diff --git a/cpukit/include/pci/access.h b/cpukit/include/pci/access.h
index 9a53c7e3a3..680c96d4dc 100644
--- a/cpukit/include/pci/access.h
+++ b/cpukit/include/pci/access.h
@@ -134,32 +134,32 @@ extern int pci_access_drv_register(struct pci_access_drv *drv);
 extern void pci_modify_cmdsts(pci_dev_t dev, uint32_t mask, uint32_t val);
 
 /* Enable Memory in command register */
-RTEMS_INLINE_ROUTINE void pci_mem_enable(pci_dev_t dev)
+static inline void pci_mem_enable(pci_dev_t dev)
 {
 	pci_modify_cmdsts(dev, PCIM_CMD_MEMEN, PCIM_CMD_MEMEN);
 }
 
-RTEMS_INLINE_ROUTINE void pci_mem_disable(pci_dev_t dev)
+static inline void pci_mem_disable(pci_dev_t dev)
 {
 	pci_modify_cmdsts(dev, PCIM_CMD_MEMEN, 0);
 }
 
-RTEMS_INLINE_ROUTINE void pci_io_enable(pci_dev_t dev)
+static inline void pci_io_enable(pci_dev_t dev)
 {
 	pci_modify_cmdsts(dev, PCIM_CMD_PORTEN, PCIM_CMD_PORTEN);
 }
 
-RTEMS_INLINE_ROUTINE void pci_io_disable(pci_dev_t dev)
+static inline void pci_io_disable(pci_dev_t dev)
 {
 	pci_modify_cmdsts(dev, PCIM_CMD_PORTEN, 0);
 }
 
-RTEMS_INLINE_ROUTINE void pci_master_enable(pci_dev_t dev)
+static inline void pci_master_enable(pci_dev_t dev)
 {
 	pci_modify_cmdsts(dev, PCIM_CMD_BUSMASTEREN, PCIM_CMD_BUSMASTEREN);
 }
 
-RTEMS_INLINE_ROUTINE void pci_master_disable(pci_dev_t dev)
+static inline void pci_master_disable(pci_dev_t dev)
 {
 	pci_modify_cmdsts(dev, PCIM_CMD_BUSMASTEREN, 0);
 }
@@ -185,25 +185,25 @@ extern void pci_io_w16(uint32_t adr, uint16_t data);
 extern void pci_io_w32(uint32_t adr, uint32_t data);
 
 /* Translate PCI address into CPU accessible address */
-RTEMS_INLINE_ROUTINE int pci_pci2cpu(uint32_t *address, int type)
+static inline int pci_pci2cpu(uint32_t *address, int type)
 {
 	return pci_access_ops.translate(address, type, 0);
 }
 
 /* Translate CPU accessible address into PCI address (for DMA) */
-RTEMS_INLINE_ROUTINE int pci_cpu2pci(uint32_t *address, int type)
+static inline int pci_cpu2pci(uint32_t *address, int type)
 {
 	return pci_access_ops.translate(address, type, 1);
 }
 
 /*** Read/Write a register over PCI Memory Space ***/
 
-RTEMS_INLINE_ROUTINE uint8_t pci_ld8(volatile uint8_t *addr)
+static inline uint8_t pci_ld8(volatile uint8_t *addr)
 {
 	return *addr;
 }
 
-RTEMS_INLINE_ROUTINE void pci_st8(volatile uint8_t *addr, uint8_t val)
+static inline void pci_st8(volatile uint8_t *addr, uint8_t val)
 {
 	*addr = val;
 }
diff --git a/cpukit/include/pci/irq.h b/cpukit/include/pci/irq.h
index b7c4a77aab..190c68a723 100644
--- a/cpukit/include/pci/irq.h
+++ b/cpukit/include/pci/irq.h
@@ -53,7 +53,7 @@ extern int pci_dev_irq(pci_dev_t dev);
  *  isr       Function pointer to the ISR
  *  arg       Second argument to function isr
  */
-RTEMS_INLINE_ROUTINE int pci_interrupt_register(int irq, const char *info,
+static inline int pci_interrupt_register(int irq, const char *info,
 						pci_isr isr, void *arg)
 {
 	return rtems_interrupt_handler_install(irq, info,
@@ -68,7 +68,7 @@ RTEMS_INLINE_ROUTINE int pci_interrupt_register(int irq, const char *info,
  *  isr       Function pointer to the ISR
  *  arg       Second argument to function isr
  */
-RTEMS_INLINE_ROUTINE int pci_interrupt_unregister(int irq, pci_isr isr,
+static inline int pci_interrupt_unregister(int irq, pci_isr isr,
 						  void *arg)
 {
 	return rtems_interrupt_handler_remove(irq, isr, arg);
@@ -85,7 +85,7 @@ RTEMS_INLINE_ROUTINE int pci_interrupt_unregister(int irq, pci_isr isr,
  *  isr       Function pointer to the ISR
  *  arg       Second argument to function isr
  */
-RTEMS_INLINE_ROUTINE void pci_interrupt_unmask(int irq)
+static inline void pci_interrupt_unmask(int irq)
 {
 	BSP_shared_interrupt_unmask(irq);
 }
@@ -101,7 +101,7 @@ RTEMS_INLINE_ROUTINE void pci_interrupt_unmask(int irq)
  *  isr       Function pointer to the ISR
  *  arg       Second argument to function isr
  */
-RTEMS_INLINE_ROUTINE void pci_interrupt_mask(int irq)
+static inline void pci_interrupt_mask(int irq)
 {
 	BSP_shared_interrupt_mask(irq);
 }
@@ -115,7 +115,7 @@ RTEMS_INLINE_ROUTINE void pci_interrupt_mask(int irq)
  *  isr       Function pointer to the ISR
  *  arg       Second argument to function isr
  */
-RTEMS_INLINE_ROUTINE void pci_interrupt_clear(int irq)
+static inline void pci_interrupt_clear(int irq)
 {
 	BSP_shared_interrupt_clear(irq);
 }
diff --git a/cpukit/include/rtems/bsd.h b/cpukit/include/rtems/bsd.h
index ea56f91c7c..fe54246212 100644
--- a/cpukit/include/rtems/bsd.h
+++ b/cpukit/include/rtems/bsd.h
@@ -54,7 +54,7 @@ extern "C" {
 /**
  * @copydoc _Timecounter_Bintime()
  */
-RTEMS_INLINE_ROUTINE void rtems_bsd_bintime( struct bintime *bt )
+static inline void rtems_bsd_bintime( struct bintime *bt )
 {
   _Timecounter_Bintime( bt );
 }
@@ -62,7 +62,7 @@ RTEMS_INLINE_ROUTINE void rtems_bsd_bintime( struct bintime *bt )
 /**
  * @copydoc _Timecounter_Nanotime()
  */
-RTEMS_INLINE_ROUTINE void rtems_bsd_nanotime( struct timespec *ts )
+static inline void rtems_bsd_nanotime( struct timespec *ts )
 {
   _Timecounter_Nanotime( ts );
 }
@@ -70,7 +70,7 @@ RTEMS_INLINE_ROUTINE void rtems_bsd_nanotime( struct timespec *ts )
 /**
  * @copydoc _Timecounter_Microtime()
  */
-RTEMS_INLINE_ROUTINE void rtems_bsd_microtime( struct timeval *tv )
+static inline void rtems_bsd_microtime( struct timeval *tv )
 {
   _Timecounter_Microtime( tv );
 }
@@ -78,7 +78,7 @@ RTEMS_INLINE_ROUTINE void rtems_bsd_microtime( struct timeval *tv )
 /**
  * @copydoc _Timecounter_Binuptime()
  */
-RTEMS_INLINE_ROUTINE void rtems_bsd_binuptime( struct bintime *bt )
+static inline void rtems_bsd_binuptime( struct bintime *bt )
 {
   _Timecounter_Binuptime( bt );
 }
@@ -86,7 +86,7 @@ RTEMS_INLINE_ROUTINE void rtems_bsd_binuptime( struct bintime *bt )
 /**
  * @copydoc _Timecounter_Nanouptime()
  */
-RTEMS_INLINE_ROUTINE void rtems_bsd_nanouptime( struct timespec *ts )
+static inline void rtems_bsd_nanouptime( struct timespec *ts )
 {
   _Timecounter_Nanouptime( ts );
 }
@@ -94,7 +94,7 @@ RTEMS_INLINE_ROUTINE void rtems_bsd_nanouptime( struct timespec *ts )
 /**
  * @copydoc _Timecounter_Microtime()
  */
-RTEMS_INLINE_ROUTINE void rtems_bsd_microuptime( struct timeval *tv )
+static inline void rtems_bsd_microuptime( struct timeval *tv )
 {
   _Timecounter_Microuptime( tv );
 }
@@ -102,7 +102,7 @@ RTEMS_INLINE_ROUTINE void rtems_bsd_microuptime( struct timeval *tv )
 /**
  * @copydoc _Timecounter_Getbintime()
  */
-RTEMS_INLINE_ROUTINE void rtems_bsd_getbintime( struct bintime *bt )
+static inline void rtems_bsd_getbintime( struct bintime *bt )
 {
   _Timecounter_Getbintime( bt );
 }
@@ -110,7 +110,7 @@ RTEMS_INLINE_ROUTINE void rtems_bsd_getbintime( struct bintime *bt )
 /**
  * @copydoc _Timecounter_Getnanotime()
  */
-RTEMS_INLINE_ROUTINE void rtems_bsd_getnanotime( struct timespec *ts )
+static inline void rtems_bsd_getnanotime( struct timespec *ts )
 {
   _Timecounter_Getnanotime( ts );
 }
@@ -118,7 +118,7 @@ RTEMS_INLINE_ROUTINE void rtems_bsd_getnanotime( struct timespec *ts )
 /**
  * @copydoc _Timecounter_Getmicrotime()
  */
-RTEMS_INLINE_ROUTINE void rtems_bsd_getmicrotime( struct timeval *tv )
+static inline void rtems_bsd_getmicrotime( struct timeval *tv )
 {
   _Timecounter_Getmicrotime( tv );
 }
@@ -126,7 +126,7 @@ RTEMS_INLINE_ROUTINE void rtems_bsd_getmicrotime( struct timeval *tv )
 /**
  * @copydoc _Timecounter_Getbinuptime()
  */
-RTEMS_INLINE_ROUTINE void rtems_bsd_getbinuptime( struct bintime *bt )
+static inline void rtems_bsd_getbinuptime( struct bintime *bt )
 {
   _Timecounter_Getbinuptime( bt );
 }
@@ -134,7 +134,7 @@ RTEMS_INLINE_ROUTINE void rtems_bsd_getbinuptime( struct bintime *bt )
 /**
  * @copydoc _Timecounter_Getnanouptime()
  */
-RTEMS_INLINE_ROUTINE void rtems_bsd_getnanouptime( struct timespec *ts )
+static inline void rtems_bsd_getnanouptime( struct timespec *ts )
 {
   _Timecounter_Getnanouptime( ts );
 }
@@ -142,7 +142,7 @@ RTEMS_INLINE_ROUTINE void rtems_bsd_getnanouptime( struct timespec *ts )
 /**
  * @copydoc _Timecounter_Getmicrouptime()
  */
-RTEMS_INLINE_ROUTINE void rtems_bsd_getmicrouptime( struct timeval *tv )
+static inline void rtems_bsd_getmicrouptime( struct timeval *tv )
 {
   _Timecounter_Getmicrouptime( tv );
 }
diff --git a/cpukit/include/rtems/cbs.h b/cpukit/include/rtems/cbs.h
index d8a78cc214..ee87cb7ae0 100644
--- a/cpukit/include/rtems/cbs.h
+++ b/cpukit/include/rtems/cbs.h
@@ -81,7 +81,7 @@ typedef Scheduler_CBS_Parameters rtems_cbs_parameters;
  *
  * @return status code.
  */
-RTEMS_INLINE_ROUTINE int rtems_cbs_initialize ( void )
+static inline int rtems_cbs_initialize ( void )
 {
   return _Scheduler_CBS_Initialize();
 }
@@ -93,7 +93,7 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_initialize ( void )
  *
  * @return status code.
  */
-RTEMS_INLINE_ROUTINE int rtems_cbs_cleanup ( void )
+static inline int rtems_cbs_cleanup ( void )
 {
   return _Scheduler_CBS_Cleanup();
 }
@@ -105,7 +105,7 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_cleanup ( void )
  *
  * @return status code.
  */
-RTEMS_INLINE_ROUTINE int rtems_cbs_create_server (
+static inline int rtems_cbs_create_server (
   rtems_cbs_parameters     *params,
   rtems_cbs_budget_overrun  budget_overrun_callback,
   rtems_cbs_server_id      *server_id
@@ -125,7 +125,7 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_create_server (
  *
  * @return status code.
  */
-RTEMS_INLINE_ROUTINE int rtems_cbs_attach_thread (
+static inline int rtems_cbs_attach_thread (
   rtems_cbs_server_id server_id,
   rtems_id            task_id
 )
@@ -140,7 +140,7 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_attach_thread (
  *
  * @return status code.
  */
-RTEMS_INLINE_ROUTINE int rtems_cbs_detach_thread (
+static inline int rtems_cbs_detach_thread (
   rtems_cbs_server_id server_id,
   rtems_id            task_id
 )
@@ -155,7 +155,7 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_detach_thread (
  *
  * @return status code.
  */
-RTEMS_INLINE_ROUTINE int rtems_cbs_destroy_server (
+static inline int rtems_cbs_destroy_server (
   rtems_cbs_server_id server_id
 )
 {
@@ -170,7 +170,7 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_destroy_server (
  *
  * @return status code.
  */
-RTEMS_INLINE_ROUTINE int rtems_cbs_get_server_id (
+static inline int rtems_cbs_get_server_id (
   rtems_id             task_id,
   rtems_cbs_server_id *server_id
 )
@@ -185,7 +185,7 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_get_server_id (
  *
  * @return status code.
  */
-RTEMS_INLINE_ROUTINE int rtems_cbs_get_parameters (
+static inline int rtems_cbs_get_parameters (
   rtems_cbs_server_id   server_id,
   rtems_cbs_parameters *params
 )
@@ -200,7 +200,7 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_get_parameters (
  *
  * @return status code.
  */
-RTEMS_INLINE_ROUTINE int rtems_cbs_set_parameters (
+static inline int rtems_cbs_set_parameters (
   rtems_cbs_server_id   server_id,
   rtems_cbs_parameters *params
 )
@@ -215,7 +215,7 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_set_parameters (
  *
  * @return status code.
  */
-RTEMS_INLINE_ROUTINE int rtems_cbs_get_execution_time (
+static inline int rtems_cbs_get_execution_time (
   rtems_cbs_server_id    server_id,
   time_t                *exec_time,
   time_t                *abs_time
@@ -231,7 +231,7 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_get_execution_time (
  *
  * @return status code.
  */
-RTEMS_INLINE_ROUTINE int rtems_cbs_get_remaining_budget (
+static inline int rtems_cbs_get_remaining_budget (
   rtems_cbs_server_id  server_id,
   time_t              *remaining_budget
 )
@@ -247,7 +247,7 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_get_remaining_budget (
  *
  * @return status code.
  */
-RTEMS_INLINE_ROUTINE int rtems_cbs_get_approved_budget (
+static inline int rtems_cbs_get_approved_budget (
   rtems_cbs_server_id  server_id,
   time_t              *appr_budget
 )
diff --git a/cpukit/include/rtems/chain.h b/cpukit/include/rtems/chain.h
index da08ddcfdd..076056dd7a 100644
--- a/cpukit/include/rtems/chain.h
+++ b/cpukit/include/rtems/chain.h
@@ -166,7 +166,7 @@ rtems_status_code rtems_chain_get_with_wait(
  * @param[in] number_nodes is the number of nodes that will be in the chain
  * @param[in] node_size is the size of each node
  */
-RTEMS_INLINE_ROUTINE void rtems_chain_initialize(
+static inline void rtems_chain_initialize(
   rtems_chain_control *the_chain,
   void                *starting_address,
   size_t               number_nodes,
@@ -188,7 +188,7 @@ RTEMS_INLINE_ROUTINE void rtems_chain_initialize(
  *
  * @param[in] the_chain is the chain to be initialized.
  */
-RTEMS_INLINE_ROUTINE void rtems_chain_initialize_empty(
+static inline void rtems_chain_initialize_empty(
   rtems_chain_control *the_chain
 )
 {
@@ -203,7 +203,7 @@ RTEMS_INLINE_ROUTINE void rtems_chain_initialize_empty(
  *
  * @param[in] node the node set to off chain.
  */
-RTEMS_INLINE_ROUTINE void rtems_chain_set_off_chain(
+static inline void rtems_chain_set_off_chain(
   rtems_chain_node *node
 )
 {
@@ -218,7 +218,7 @@ RTEMS_INLINE_ROUTINE void rtems_chain_set_off_chain(
  *
  * @param[in] the_node The chain node to initialize.
  */
-RTEMS_INLINE_ROUTINE void rtems_chain_initialize_node(
+static inline void rtems_chain_initialize_node(
   rtems_chain_node *node
 )
 {
@@ -236,7 +236,7 @@ RTEMS_INLINE_ROUTINE void rtems_chain_initialize_node(
  * @retval true The node is off chain.
  * @retval false The node is not off chain.
  */
-RTEMS_INLINE_ROUTINE bool rtems_chain_is_node_off_chain(
+static inline bool rtems_chain_is_node_off_chain(
   const rtems_chain_node *node
 )
 {
@@ -253,7 +253,7 @@ RTEMS_INLINE_ROUTINE bool rtems_chain_is_node_off_chain(
  * @retval true The chain node pointer is NULL.
  * @retval false The chain node pointer is not NULL.
  */
-RTEMS_INLINE_ROUTINE bool rtems_chain_is_null_node(
+static inline bool rtems_chain_is_null_node(
   const rtems_chain_node *the_node
 )
 {
@@ -269,7 +269,7 @@ RTEMS_INLINE_ROUTINE bool rtems_chain_is_null_node(
  *
  * @return This method returns the permanent node of the chain.
  */
-RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_head(
+static inline rtems_chain_node *rtems_chain_head(
   rtems_chain_control *the_chain
 )
 {
@@ -285,7 +285,7 @@ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_head(
  *
  * @return This method returns the permanent head node of the chain.
  */
-RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_head(
+static inline const rtems_chain_node *rtems_chain_immutable_head(
   const rtems_chain_control *the_chain
 )
 {
@@ -301,7 +301,7 @@ RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_head(
  *
  * @return This method returns the permanent tail node of the chain.
  */
-RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_tail(
+static inline rtems_chain_node *rtems_chain_tail(
   rtems_chain_control *the_chain
 )
 {
@@ -317,7 +317,7 @@ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_tail(
  *
  * @return This method returns the permanent tail node of the chain.
  */
-RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_tail(
+static inline const rtems_chain_node *rtems_chain_immutable_tail(
   const rtems_chain_control *the_chain
 )
 {
@@ -334,7 +334,7 @@ RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_tail(
  *
  * @return This method returns the first node of the chain.
  */
-RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_first(
+static inline rtems_chain_node *rtems_chain_first(
   const rtems_chain_control *the_chain
 )
 {
@@ -351,7 +351,7 @@ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_first(
  *
  * @return This method returns the first node of the chain.
  */
-RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_first(
+static inline const rtems_chain_node *rtems_chain_immutable_first(
   const rtems_chain_control *the_chain
 )
 {
@@ -368,7 +368,7 @@ RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_first(
  *
  * @return This method returns the last node of the chain.
  */
-RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_last(
+static inline rtems_chain_node *rtems_chain_last(
   const rtems_chain_control *the_chain
 )
 {
@@ -385,7 +385,7 @@ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_last(
  *
  * @return This method returns the last node of the chain.
  */
-RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_last(
+static inline const rtems_chain_node *rtems_chain_immutable_last(
   const rtems_chain_control *the_chain
 )
 {
@@ -401,7 +401,7 @@ RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_last(
  *
  * @return This method returns the next node on the chain.
  */
-RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_next(
+static inline rtems_chain_node *rtems_chain_next(
   const rtems_chain_node *the_node
 )
 {
@@ -417,7 +417,7 @@ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_next(
  *
  * @return This method returns the next node on the chain.
  */
-RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_next(
+static inline const rtems_chain_node *rtems_chain_immutable_next(
   const rtems_chain_node *the_node
 )
 {
@@ -433,7 +433,7 @@ RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_next(
  *
  * @return This method returns the previous node on the chain.
  */
-RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_previous(
+static inline rtems_chain_node *rtems_chain_previous(
   const rtems_chain_node *the_node
 )
 {
@@ -449,7 +449,7 @@ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_previous(
  *
  * @return This method returns the previous node on the chain.
  */
-RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_previous(
+static inline const rtems_chain_node *rtems_chain_immutable_previous(
   const rtems_chain_node *the_node
 )
 {
@@ -468,7 +468,7 @@ RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_previous(
  * @retval true @a left is equal to @a right.
  * @retval false @a left is not equal to @a right
  */
-RTEMS_INLINE_ROUTINE bool rtems_chain_are_nodes_equal(
+static inline bool rtems_chain_are_nodes_equal(
   const rtems_chain_node *left,
   const rtems_chain_node *right
 )
@@ -487,7 +487,7 @@ RTEMS_INLINE_ROUTINE bool rtems_chain_are_nodes_equal(
  * @retval true The chain is empty.
  * @retval false The chain is not empty.
  */
-RTEMS_INLINE_ROUTINE bool rtems_chain_is_empty(
+static inline bool rtems_chain_is_empty(
   const rtems_chain_control *the_chain
 )
 {
@@ -506,7 +506,7 @@ RTEMS_INLINE_ROUTINE bool rtems_chain_is_empty(
  * @retval true @a the_node is the first node on a chain.
  * @retval false @a the_node is not the first node on a chain.
  */
-RTEMS_INLINE_ROUTINE bool rtems_chain_is_first(
+static inline bool rtems_chain_is_first(
   const rtems_chain_node *the_node
 )
 {
@@ -524,7 +524,7 @@ RTEMS_INLINE_ROUTINE bool rtems_chain_is_first(
  * @retval true @a the_node is the last node on a chain.
  * @retval false @a the_node is not the last node on a chain
  */
-RTEMS_INLINE_ROUTINE bool rtems_chain_is_last(
+static inline bool rtems_chain_is_last(
   const rtems_chain_node *the_node
 )
 {
@@ -542,7 +542,7 @@ RTEMS_INLINE_ROUTINE bool rtems_chain_is_last(
  * @retval true The chain has only one node.
  * @retval false The chain has more than one nodes.
  */
-RTEMS_INLINE_ROUTINE bool rtems_chain_has_only_one_node(
+static inline bool rtems_chain_has_only_one_node(
   const rtems_chain_control *the_chain
 )
 {
@@ -561,7 +561,7 @@ RTEMS_INLINE_ROUTINE bool rtems_chain_has_only_one_node(
  * @retval true @a the_node is the head of @a the_chain.
  * @retval false @a the_node is not the head of @a the_chain.
  */
-RTEMS_INLINE_ROUTINE bool rtems_chain_is_head(
+static inline bool rtems_chain_is_head(
   const rtems_chain_control *the_chain,
   const rtems_chain_node *the_node
 )
@@ -581,7 +581,7 @@ RTEMS_INLINE_ROUTINE bool rtems_chain_is_head(
  * @retval true @a the_node is the tail of @a the_chain.
  * @retval false @a the_node is not the tail of @a the_chain.
  */
-RTEMS_INLINE_ROUTINE bool rtems_chain_is_tail(
+static inline bool rtems_chain_is_tail(
   const rtems_chain_control *the_chain,
   const rtems_chain_node *the_node
 )
@@ -610,7 +610,7 @@ void rtems_chain_extract(
  * NOTE: It does NOT disable interrupts to ensure the atomicity of the
  * append operation.
  */
-RTEMS_INLINE_ROUTINE void rtems_chain_extract_unprotected(
+static inline void rtems_chain_extract_unprotected(
   rtems_chain_node *the_node
 )
 {
@@ -636,7 +636,7 @@ rtems_chain_node *rtems_chain_get(
 /**
  * @brief See _Chain_Get_unprotected().
  */
-RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_get_unprotected(
+static inline rtems_chain_node *rtems_chain_get_unprotected(
   rtems_chain_control *the_chain
 )
 {
@@ -646,7 +646,7 @@ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_get_unprotected(
 /**
  * @brief See _Chain_Get_first_unprotected().
  */
-RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_get_first_unprotected(
+static inline rtems_chain_node *rtems_chain_get_first_unprotected(
   rtems_chain_control *the_chain
 )
 {
@@ -670,7 +670,7 @@ void rtems_chain_insert(
 /**
  * @brief See _Chain_Insert_unprotected().
  */
-RTEMS_INLINE_ROUTINE void rtems_chain_insert_unprotected(
+static inline void rtems_chain_insert_unprotected(
   rtems_chain_node *after_node,
   rtems_chain_node *the_node
 )
@@ -699,7 +699,7 @@ void rtems_chain_append(
  * NOTE: It does NOT disable interrupts to ensure the atomicity of the
  * append operation.
  */
-RTEMS_INLINE_ROUTINE void rtems_chain_append_unprotected(
+static inline void rtems_chain_append_unprotected(
   rtems_chain_control *the_chain,
   rtems_chain_node    *the_node
 )
@@ -734,7 +734,7 @@ void rtems_chain_prepend(
  * NOTE: It does NOT disable interrupts to ensure the atomicity of the
  *       prepend operation.
  */
-RTEMS_INLINE_ROUTINE void rtems_chain_prepend_unprotected(
+static inline void rtems_chain_prepend_unprotected(
   rtems_chain_control *the_chain,
   rtems_chain_node    *the_node
 )
@@ -795,7 +795,7 @@ bool rtems_chain_get_with_empty_check(
  *
  * @return The node count of the chain.
  */
-RTEMS_INLINE_ROUTINE size_t rtems_chain_node_count_unprotected(
+static inline size_t rtems_chain_node_count_unprotected(
   const rtems_chain_control *chain
 )
 {
diff --git a/cpukit/include/rtems/extensionimpl.h b/cpukit/include/rtems/extensionimpl.h
index f90d1df5f4..8d559e2fed 100644
--- a/cpukit/include/rtems/extensionimpl.h
+++ b/cpukit/include/rtems/extensionimpl.h
@@ -54,19 +54,19 @@ extern "C" {
  * @{
  */
 
-RTEMS_INLINE_ROUTINE Extension_Control *_Extension_Allocate( void )
+static inline Extension_Control *_Extension_Allocate( void )
 {
   return (Extension_Control *) _Objects_Allocate( &_Extension_Information );
 }
 
-RTEMS_INLINE_ROUTINE void _Extension_Free (
+static inline void _Extension_Free (
   Extension_Control *the_extension
 )
 {
   _Objects_Free( &_Extension_Information, &the_extension->Object );
 }
 
-RTEMS_INLINE_ROUTINE Extension_Control *_Extension_Get( Objects_Id id )
+static inline Extension_Control *_Extension_Get( Objects_Id id )
 {
   return (Extension_Control *)
     _Objects_Get_no_protection( id, &_Extension_Information );
diff --git a/cpukit/include/rtems/ioimpl.h b/cpukit/include/rtems/ioimpl.h
index dff474dcac..3be4df286b 100644
--- a/cpukit/include/rtems/ioimpl.h
+++ b/cpukit/include/rtems/ioimpl.h
@@ -70,7 +70,7 @@ void _IO_Initialize_all_drivers( void );
 
 ISR_LOCK_DECLARE( extern, _IO_Driver_registration_lock )
 
-RTEMS_INLINE_ROUTINE void _IO_Driver_registration_acquire(
+static inline void _IO_Driver_registration_acquire(
   ISR_lock_Context *lock_context
 )
 {
@@ -80,7 +80,7 @@ RTEMS_INLINE_ROUTINE void _IO_Driver_registration_acquire(
   );
 }
 
-RTEMS_INLINE_ROUTINE void _IO_Driver_registration_release(
+static inline void _IO_Driver_registration_release(
   ISR_lock_Context *lock_context
 )
 {
diff --git a/cpukit/include/rtems/libio.h b/cpukit/include/rtems/libio.h
index 5379d92e4a..041fc050ad 100644
--- a/cpukit/include/rtems/libio.h
+++ b/cpukit/include/rtems/libio.h
@@ -1905,7 +1905,7 @@ typedef struct rtems_termios_callbacks {
   int    outputUsesInterrupts;
 } rtems_termios_callbacks;
 
-RTEMS_INLINE_ROUTINE void rtems_termios_initialize( void )
+static inline void rtems_termios_initialize( void )
 {
   /* Nothing to do, provided for backward compatibility */
 }
diff --git a/cpukit/include/rtems/linkersets.h b/cpukit/include/rtems/linkersets.h
index cdfcd54cde..c4b3e2b7dc 100644
--- a/cpukit/include/rtems/linkersets.h
+++ b/cpukit/include/rtems/linkersets.h
@@ -129,7 +129,7 @@ extern "C" {
   decl \
   RTEMS_SECTION( ".rtemsrwset." #set ".content" )
 
-RTEMS_INLINE_ROUTINE uintptr_t _Linker_set_Obfuscate( const void *ptr )
+static inline uintptr_t _Linker_set_Obfuscate( const void *ptr )
 {
   uintptr_t addr;
 
diff --git a/cpukit/include/rtems/mallocinitmulti.h b/cpukit/include/rtems/mallocinitmulti.h
index a64c6e4802..45b52e7dc6 100644
--- a/cpukit/include/rtems/mallocinitmulti.h
+++ b/cpukit/include/rtems/mallocinitmulti.h
@@ -54,7 +54,7 @@ extern "C" {
  * memory area via _Memory_Get() to implement
  * _Workspace_Malloc_initialize_separate().
  */
-RTEMS_INLINE_ROUTINE Heap_Control *_Malloc_Initialize_for_multiple_areas(
+static inline Heap_Control *_Malloc_Initialize_for_multiple_areas(
   Heap_Control *heap
 )
 {
diff --git a/cpukit/include/rtems/mallocinitone.h b/cpukit/include/rtems/mallocinitone.h
index eaa0d8eb3e..1e28df137c 100644
--- a/cpukit/include/rtems/mallocinitone.h
+++ b/cpukit/include/rtems/mallocinitone.h
@@ -54,7 +54,7 @@ extern "C" {
  * This implementation should be used by BSPs which provide exactly one memory
  * area via _Memory_Get() to implement _Workspace_Malloc_initialize_separate().
  */
-RTEMS_INLINE_ROUTINE Heap_Control *_Malloc_Initialize_for_one_area(
+static inline Heap_Control *_Malloc_Initialize_for_one_area(
   Heap_Control *heap
 )
 {
diff --git a/cpukit/include/rtems/media.h b/cpukit/include/rtems/media.h
index 7868267d6c..9a8cf2d4e2 100644
--- a/cpukit/include/rtems/media.h
+++ b/cpukit/include/rtems/media.h
@@ -343,7 +343,7 @@ typedef rtems_status_code (*rtems_media_worker)(
  * @retval RTEMS_SUCCESSFUL Successful operation.
  * @retval RTEMS_NO_MEMORY Not enough resources.
  */
-RTEMS_INLINE_ROUTINE rtems_status_code rtems_media_initialize(void)
+static inline rtems_status_code rtems_media_initialize(void)
 {
   return RTEMS_SUCCESSFUL;
 }
diff --git a/cpukit/include/rtems/posix/condimpl.h b/cpukit/include/rtems/posix/condimpl.h
index 10c044de72..5bbc35c4b3 100644
--- a/cpukit/include/rtems/posix/condimpl.h
+++ b/cpukit/include/rtems/posix/condimpl.h
@@ -82,7 +82,7 @@ static inline POSIX_Condition_variables_Control *_POSIX_Condition_variables_Get(
   return (POSIX_Condition_variables_Control *) cond;
 }
 
-RTEMS_INLINE_ROUTINE void _POSIX_Condition_variables_Initialize(
+static inline void _POSIX_Condition_variables_Initialize(
   POSIX_Condition_variables_Control *the_cond,
   const pthread_condattr_t          *the_attr
 )
@@ -102,14 +102,14 @@ RTEMS_INLINE_ROUTINE void _POSIX_Condition_variables_Initialize(
   the_cond->flags = flags;
 }
 
-RTEMS_INLINE_ROUTINE void _POSIX_Condition_variables_Destroy(
+static inline void _POSIX_Condition_variables_Destroy(
   POSIX_Condition_variables_Control *the_cond
 )
 {
   the_cond->flags = ~the_cond->flags;
 }
 
-RTEMS_INLINE_ROUTINE clockid_t _POSIX_Condition_variables_Get_clock(
+static inline clockid_t _POSIX_Condition_variables_Get_clock(
   unsigned long flags
 )
 {
@@ -120,7 +120,7 @@ RTEMS_INLINE_ROUTINE clockid_t _POSIX_Condition_variables_Get_clock(
   return CLOCK_REALTIME;
 }
 
-RTEMS_INLINE_ROUTINE Thread_Control *_POSIX_Condition_variables_Acquire(
+static inline Thread_Control *_POSIX_Condition_variables_Acquire(
   POSIX_Condition_variables_Control *the_cond,
   Thread_queue_Context              *queue_context
 )
@@ -140,7 +140,7 @@ RTEMS_INLINE_ROUTINE Thread_Control *_POSIX_Condition_variables_Acquire(
   return executing;
 }
 
-RTEMS_INLINE_ROUTINE void _POSIX_Condition_variables_Release(
+static inline void _POSIX_Condition_variables_Release(
   POSIX_Condition_variables_Control *the_cond,
   Thread_queue_Context              *queue_context
 )
diff --git a/cpukit/include/rtems/posix/keyimpl.h b/cpukit/include/rtems/posix/keyimpl.h
index 8f8644ca71..5ff269d95c 100644
--- a/cpukit/include/rtems/posix/keyimpl.h
+++ b/cpukit/include/rtems/posix/keyimpl.h
@@ -70,7 +70,7 @@ extern Freechain_Control _POSIX_Keys_Keypool;
  * the inactive chain of free keys control blocks.
  */
 
-RTEMS_INLINE_ROUTINE POSIX_Keys_Control *_POSIX_Keys_Allocate( void )
+static inline POSIX_Keys_Control *_POSIX_Keys_Allocate( void )
 {
   return (POSIX_Keys_Control *) _Objects_Allocate( &_POSIX_Keys_Information );
 }
@@ -81,20 +81,20 @@ RTEMS_INLINE_ROUTINE POSIX_Keys_Control *_POSIX_Keys_Allocate( void )
  * This routine frees a keys control block to the
  * inactive chain of free keys control blocks.
  */
-RTEMS_INLINE_ROUTINE void _POSIX_Keys_Free(
+static inline void _POSIX_Keys_Free(
   POSIX_Keys_Control *the_key
 )
 {
   _Objects_Free( &_POSIX_Keys_Information, &the_key->Object );
 }
 
-RTEMS_INLINE_ROUTINE POSIX_Keys_Control *_POSIX_Keys_Get( pthread_key_t key )
+static inline POSIX_Keys_Control *_POSIX_Keys_Get( pthread_key_t key )
 {
   return (POSIX_Keys_Control *)
     _Objects_Get_no_protection( (Objects_Id) key, &_POSIX_Keys_Information );
 }
 
-RTEMS_INLINE_ROUTINE void _POSIX_Keys_Key_value_acquire(
+static inline void _POSIX_Keys_Key_value_acquire(
   Thread_Control   *the_thread,
   ISR_lock_Context *lock_context
 )
@@ -102,7 +102,7 @@ RTEMS_INLINE_ROUTINE void _POSIX_Keys_Key_value_acquire(
   _ISR_lock_ISR_disable_and_acquire( &the_thread->Keys.Lock, lock_context );
 }
 
-RTEMS_INLINE_ROUTINE void _POSIX_Keys_Key_value_release(
+static inline void _POSIX_Keys_Key_value_release(
   Thread_Control   *the_thread,
   ISR_lock_Context *lock_context
 )
@@ -112,7 +112,7 @@ RTEMS_INLINE_ROUTINE void _POSIX_Keys_Key_value_release(
 
 POSIX_Keys_Key_value_pair * _POSIX_Keys_Key_value_allocate( void );
 
-RTEMS_INLINE_ROUTINE void _POSIX_Keys_Key_value_free(
+static inline void _POSIX_Keys_Key_value_free(
   POSIX_Keys_Key_value_pair *key_value_pair
 )
 {
@@ -120,7 +120,7 @@ RTEMS_INLINE_ROUTINE void _POSIX_Keys_Key_value_free(
   _Freechain_Put( &_POSIX_Keys_Keypool, key_value_pair );
 }
 
-RTEMS_INLINE_ROUTINE bool _POSIX_Keys_Key_value_equal(
+static inline bool _POSIX_Keys_Key_value_equal(
   const void        *left,
   const RBTree_Node *right
 )
@@ -134,7 +134,7 @@ RTEMS_INLINE_ROUTINE bool _POSIX_Keys_Key_value_equal(
   return *the_left == the_right->key;
 }
 
-RTEMS_INLINE_ROUTINE bool _POSIX_Keys_Key_value_less(
+static inline bool _POSIX_Keys_Key_value_less(
   const void        *left,
   const RBTree_Node *right
 )
@@ -148,12 +148,12 @@ RTEMS_INLINE_ROUTINE bool _POSIX_Keys_Key_value_less(
   return *the_left < the_right->key;
 }
 
-RTEMS_INLINE_ROUTINE void *_POSIX_Keys_Key_value_map( RBTree_Node *node )
+static inline void *_POSIX_Keys_Key_value_map( RBTree_Node *node )
 {
   return POSIX_KEYS_RBTREE_NODE_TO_KEY_VALUE_PAIR( node );
 }
 
-RTEMS_INLINE_ROUTINE POSIX_Keys_Key_value_pair *_POSIX_Keys_Key_value_find(
+static inline POSIX_Keys_Key_value_pair *_POSIX_Keys_Key_value_find(
   pthread_key_t         key,
   const Thread_Control *the_thread
 )
@@ -167,7 +167,7 @@ RTEMS_INLINE_ROUTINE POSIX_Keys_Key_value_pair *_POSIX_Keys_Key_value_find(
   );
 }
 
-RTEMS_INLINE_ROUTINE void _POSIX_Keys_Key_value_insert(
+static inline void _POSIX_Keys_Key_value_insert(
   pthread_key_t              key,
   POSIX_Keys_Key_value_pair *key_value_pair,
   Thread_Control            *the_thread
diff --git a/cpukit/include/rtems/posix/mqueueimpl.h b/cpukit/include/rtems/posix/mqueueimpl.h
index 127709c0f1..c2749db1e2 100644
--- a/cpukit/include/rtems/posix/mqueueimpl.h
+++ b/cpukit/include/rtems/posix/mqueueimpl.h
@@ -99,7 +99,7 @@ int _POSIX_Message_queue_Send_support(
   Thread_queue_Enqueue_callout  enqueue_callout
 );
 
-RTEMS_INLINE_ROUTINE POSIX_Message_queue_Control *
+static inline POSIX_Message_queue_Control *
   _POSIX_Message_queue_Allocate_unprotected( void )
 {
   return (POSIX_Message_queue_Control *)
@@ -112,7 +112,7 @@ RTEMS_INLINE_ROUTINE POSIX_Message_queue_Control *
  *  This routine frees a message queue control block to the
  *  inactive chain of free message queue control blocks.
  */
-RTEMS_INLINE_ROUTINE void _POSIX_Message_queue_Free(
+static inline void _POSIX_Message_queue_Free(
   POSIX_Message_queue_Control *the_mq
 )
 {
@@ -120,7 +120,7 @@ RTEMS_INLINE_ROUTINE void _POSIX_Message_queue_Free(
 }
 
 
-RTEMS_INLINE_ROUTINE POSIX_Message_queue_Control *_POSIX_Message_queue_Get(
+static inline POSIX_Message_queue_Control *_POSIX_Message_queue_Get(
   Objects_Id            id,
   Thread_queue_Context *queue_context
 )
@@ -139,7 +139,7 @@ RTEMS_INLINE_ROUTINE POSIX_Message_queue_Control *_POSIX_Message_queue_Get(
  *  This method converts a POSIX message priority to the priorities used
  *  by the Score.
  */
-RTEMS_INLINE_ROUTINE CORE_message_queue_Submit_types
+static inline CORE_message_queue_Submit_types
   _POSIX_Message_queue_Priority_to_core(
   unsigned int priority
 )
@@ -154,7 +154,7 @@ RTEMS_INLINE_ROUTINE CORE_message_queue_Submit_types
  *  This method converts a POSIX message priority from the priorities used
  *  by the Score.
  */
-RTEMS_INLINE_ROUTINE unsigned int _POSIX_Message_queue_Priority_from_core(
+static inline unsigned int _POSIX_Message_queue_Priority_from_core(
   CORE_message_queue_Submit_types priority
 )
 {
@@ -165,7 +165,7 @@ RTEMS_INLINE_ROUTINE unsigned int _POSIX_Message_queue_Priority_from_core(
 /**
  *  @brief POSIX Message Queue Remove from Namespace
  */
-RTEMS_INLINE_ROUTINE void _POSIX_Message_queue_Namespace_remove (
+static inline void _POSIX_Message_queue_Namespace_remove (
   POSIX_Message_queue_Control *the_mq
 )
 {
@@ -175,7 +175,7 @@ RTEMS_INLINE_ROUTINE void _POSIX_Message_queue_Namespace_remove (
   );
 }
 
-RTEMS_INLINE_ROUTINE POSIX_Message_queue_Control *
+static inline POSIX_Message_queue_Control *
 _POSIX_Message_queue_Get_by_name(
   const char                *name,
   size_t                    *name_length_p,
diff --git a/cpukit/include/rtems/posix/muteximpl.h b/cpukit/include/rtems/posix/muteximpl.h
index ff1b7b1643..8dffea80a5 100644
--- a/cpukit/include/rtems/posix/muteximpl.h
+++ b/cpukit/include/rtems/posix/muteximpl.h
@@ -87,7 +87,7 @@ typedef enum {
  */
 extern const pthread_mutexattr_t _POSIX_Mutex_Default_attributes;
 
-RTEMS_INLINE_ROUTINE Thread_Control *_POSIX_Mutex_Acquire(
+static inline Thread_Control *_POSIX_Mutex_Acquire(
   POSIX_Mutex_Control  *the_mutex,
   Thread_queue_Context *queue_context
 )
@@ -108,7 +108,7 @@ RTEMS_INLINE_ROUTINE Thread_Control *_POSIX_Mutex_Acquire(
   return executing;
 }
 
-RTEMS_INLINE_ROUTINE void _POSIX_Mutex_Release(
+static inline void _POSIX_Mutex_Release(
   POSIX_Mutex_Control  *the_mutex,
   Thread_queue_Context *queue_context
 )
@@ -119,28 +119,28 @@ RTEMS_INLINE_ROUTINE void _POSIX_Mutex_Release(
   );
 }
 
-RTEMS_INLINE_ROUTINE POSIX_Mutex_Protocol _POSIX_Mutex_Get_protocol(
+static inline POSIX_Mutex_Protocol _POSIX_Mutex_Get_protocol(
   unsigned long flags
 )
 {
   return (POSIX_Mutex_Protocol) (flags & POSIX_MUTEX_PROTOCOL_MASK);
 }
 
-RTEMS_INLINE_ROUTINE bool _POSIX_Mutex_Is_recursive(
+static inline bool _POSIX_Mutex_Is_recursive(
   unsigned long flags
 )
 {
   return ( flags & POSIX_MUTEX_RECURSIVE ) != 0;
 }
 
-RTEMS_INLINE_ROUTINE Thread_Control *_POSIX_Mutex_Get_owner(
+static inline Thread_Control *_POSIX_Mutex_Get_owner(
   const POSIX_Mutex_Control *the_mutex
 )
 {
   return the_mutex->Recursive.Mutex.Queue.Queue.owner;
 }
 
-RTEMS_INLINE_ROUTINE bool _POSIX_Mutex_Is_locked(
+static inline bool _POSIX_Mutex_Is_locked(
   const POSIX_Mutex_Control *the_mutex
 )
 {
@@ -155,7 +155,7 @@ Status_Control _POSIX_Mutex_Seize_slow(
   Thread_queue_Context          *queue_context
 );
 
-RTEMS_INLINE_ROUTINE void _POSIX_Mutex_Set_owner(
+static inline void _POSIX_Mutex_Set_owner(
   POSIX_Mutex_Control *the_mutex,
   Thread_Control      *owner
 )
@@ -163,7 +163,7 @@ RTEMS_INLINE_ROUTINE void _POSIX_Mutex_Set_owner(
   the_mutex->Recursive.Mutex.Queue.Queue.owner = owner;
 }
 
-RTEMS_INLINE_ROUTINE bool _POSIX_Mutex_Is_owner(
+static inline bool _POSIX_Mutex_Is_owner(
   const POSIX_Mutex_Control *the_mutex,
   const Thread_Control      *the_thread
 )
@@ -185,7 +185,7 @@ static Status_Control _POSIX_Mutex_Lock_nested(
   }
 }
 
-RTEMS_INLINE_ROUTINE Status_Control _POSIX_Mutex_Seize(
+static inline Status_Control _POSIX_Mutex_Seize(
   POSIX_Mutex_Control           *the_mutex,
   unsigned long                  flags,
   const Thread_queue_Operations *operations,
@@ -222,7 +222,7 @@ RTEMS_INLINE_ROUTINE Status_Control _POSIX_Mutex_Seize(
   );
 }
 
-RTEMS_INLINE_ROUTINE Status_Control _POSIX_Mutex_Surrender(
+static inline Status_Control _POSIX_Mutex_Surrender(
   POSIX_Mutex_Control           *the_mutex,
   const Thread_queue_Operations *operations,
   Thread_Control                *executing,
@@ -265,7 +265,7 @@ RTEMS_INLINE_ROUTINE Status_Control _POSIX_Mutex_Surrender(
   return STATUS_SUCCESSFUL;
 }
 
-RTEMS_INLINE_ROUTINE const Scheduler_Control *_POSIX_Mutex_Get_scheduler(
+static inline const Scheduler_Control *_POSIX_Mutex_Get_scheduler(
   const POSIX_Mutex_Control *the_mutex
 )
 {
@@ -276,7 +276,7 @@ RTEMS_INLINE_ROUTINE const Scheduler_Control *_POSIX_Mutex_Get_scheduler(
 #endif
 }
 
-RTEMS_INLINE_ROUTINE void _POSIX_Mutex_Set_priority(
+static inline void _POSIX_Mutex_Set_priority(
   POSIX_Mutex_Control  *the_mutex,
   Priority_Control      priority_ceiling,
   Thread_queue_Context *queue_context
@@ -301,14 +301,14 @@ RTEMS_INLINE_ROUTINE void _POSIX_Mutex_Set_priority(
   }
 }
 
-RTEMS_INLINE_ROUTINE Priority_Control _POSIX_Mutex_Get_priority(
+static inline Priority_Control _POSIX_Mutex_Get_priority(
   const POSIX_Mutex_Control *the_mutex
 )
 {
   return the_mutex->Priority_ceiling.priority;
 }
 
-RTEMS_INLINE_ROUTINE Status_Control _POSIX_Mutex_Ceiling_set_owner(
+static inline Status_Control _POSIX_Mutex_Ceiling_set_owner(
   POSIX_Mutex_Control  *the_mutex,
   Thread_Control       *owner,
   Thread_queue_Context *queue_context
@@ -347,7 +347,7 @@ RTEMS_INLINE_ROUTINE Status_Control _POSIX_Mutex_Ceiling_set_owner(
   return STATUS_SUCCESSFUL;
 }
 
-RTEMS_INLINE_ROUTINE Status_Control _POSIX_Mutex_Ceiling_seize(
+static inline Status_Control _POSIX_Mutex_Ceiling_seize(
   POSIX_Mutex_Control   *the_mutex,
   unsigned long          flags,
   Thread_Control        *executing,
@@ -395,7 +395,7 @@ RTEMS_INLINE_ROUTINE Status_Control _POSIX_Mutex_Ceiling_seize(
   );
 }
 
-RTEMS_INLINE_ROUTINE Status_Control _POSIX_Mutex_Ceiling_surrender(
+static inline Status_Control _POSIX_Mutex_Ceiling_surrender(
   POSIX_Mutex_Control  *the_mutex,
   Thread_Control       *executing,
   Thread_queue_Context *queue_context
diff --git a/cpukit/include/rtems/posix/posixapi.h b/cpukit/include/rtems/posix/posixapi.h
index d166608774..24c1dc51e0 100644
--- a/cpukit/include/rtems/posix/posixapi.h
+++ b/cpukit/include/rtems/posix/posixapi.h
@@ -59,7 +59,7 @@
 
 extern const int _POSIX_Get_by_name_error_table[ 3 ];
 
-RTEMS_INLINE_ROUTINE int _POSIX_Get_by_name_error(
+static inline int _POSIX_Get_by_name_error(
   Objects_Get_by_name_error error
 )
 {
@@ -67,19 +67,19 @@ RTEMS_INLINE_ROUTINE int _POSIX_Get_by_name_error(
   return _POSIX_Get_by_name_error_table[ error ];
 }
 
-RTEMS_INLINE_ROUTINE int _POSIX_Get_error( Status_Control status )
+static inline int _POSIX_Get_error( Status_Control status )
 {
   return STATUS_GET_POSIX( status );
 }
 
-RTEMS_INLINE_ROUTINE int _POSIX_Get_error_after_wait(
+static inline int _POSIX_Get_error_after_wait(
   const Thread_Control *executing
 )
 {
   return _POSIX_Get_error( _Thread_Wait_get_status( executing ) );
 }
 
-RTEMS_INLINE_ROUTINE int _POSIX_Zero_or_minus_one_plus_errno(
+static inline int _POSIX_Zero_or_minus_one_plus_errno(
   Status_Control status
 )
 {
@@ -97,7 +97,7 @@ RTEMS_INLINE_ROUTINE int _POSIX_Zero_or_minus_one_plus_errno(
  *
  * http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_09_09
  */
-RTEMS_INLINE_ROUTINE bool _POSIX_Is_valid_pshared( int pshared )
+static inline bool _POSIX_Is_valid_pshared( int pshared )
 {
   return pshared == PTHREAD_PROCESS_PRIVATE ||
     pshared == PTHREAD_PROCESS_SHARED;
diff --git a/cpukit/include/rtems/posix/priorityimpl.h b/cpukit/include/rtems/posix/priorityimpl.h
index ce26787294..2cb1bb22fc 100644
--- a/cpukit/include/rtems/posix/priorityimpl.h
+++ b/cpukit/include/rtems/posix/priorityimpl.h
@@ -68,7 +68,7 @@ extern "C" {
  *
  * @return The maximum POSIX API priority for this scheduler instance.
  */
-RTEMS_INLINE_ROUTINE int _POSIX_Priority_Get_maximum(
+static inline int _POSIX_Priority_Get_maximum(
   const Scheduler_Control *scheduler
 )
 {
diff --git a/cpukit/include/rtems/posix/psignalimpl.h b/cpukit/include/rtems/posix/psignalimpl.h
index c5c02edf65..16c9b38607 100644
--- a/cpukit/include/rtems/posix/psignalimpl.h
+++ b/cpukit/include/rtems/posix/psignalimpl.h
@@ -92,14 +92,14 @@ extern Chain_Control _POSIX_signals_Siginfo[ SIG_ARRAY_MAX ];
  *  Internal routines
  */
 
-RTEMS_INLINE_ROUTINE void _POSIX_signals_Acquire(
+static inline void _POSIX_signals_Acquire(
   Thread_queue_Context *queue_context
 )
 {
   _Thread_queue_Acquire( &_POSIX_signals_Wait_queue, queue_context );
 }
 
-RTEMS_INLINE_ROUTINE void _POSIX_signals_Release(
+static inline void _POSIX_signals_Release(
   Thread_queue_Context *queue_context
 )
 {
diff --git a/cpukit/include/rtems/posix/pthreadattrimpl.h b/cpukit/include/rtems/posix/pthreadattrimpl.h
index e1211c2861..726519c690 100644
--- a/cpukit/include/rtems/posix/pthreadattrimpl.h
+++ b/cpukit/include/rtems/posix/pthreadattrimpl.h
@@ -60,7 +60,7 @@ extern "C" {
  */
 extern const pthread_attr_t _POSIX_Threads_Default_attributes;
 
-RTEMS_INLINE_ROUTINE void _POSIX_Threads_Copy_attributes(
+static inline void _POSIX_Threads_Copy_attributes(
   pthread_attr_t        *dst_attr,
   const pthread_attr_t  *src_attr
 )
@@ -72,7 +72,7 @@ RTEMS_INLINE_ROUTINE void _POSIX_Threads_Copy_attributes(
   dst_attr->affinityset = &dst_attr->affinitysetpreallocated;
 }
 
-RTEMS_INLINE_ROUTINE void _POSIX_Threads_Initialize_attributes(
+static inline void _POSIX_Threads_Initialize_attributes(
   pthread_attr_t  *attr
 )
 {
@@ -82,7 +82,7 @@ RTEMS_INLINE_ROUTINE void _POSIX_Threads_Initialize_attributes(
   );
 }
 
-RTEMS_INLINE_ROUTINE void _POSIX_Threads_Get_sched_param_sporadic(
+static inline void _POSIX_Threads_Get_sched_param_sporadic(
   const Thread_Control    *the_thread,
   const Scheduler_Control *scheduler,
   struct sched_param      *param
diff --git a/cpukit/include/rtems/posix/pthreadimpl.h b/cpukit/include/rtems/posix/pthreadimpl.h
index 2f75b4aafb..3e76f2792a 100644
--- a/cpukit/include/rtems/posix/pthreadimpl.h
+++ b/cpukit/include/rtems/posix/pthreadimpl.h
@@ -61,7 +61,7 @@ extern "C" {
 #define PTHREAD_MINIMUM_STACK_SIZE _POSIX_Threads_Minimum_stack_size
 
 #if defined(RTEMS_POSIX_API)
-RTEMS_INLINE_ROUTINE void _POSIX_Threads_Sporadic_timer_insert(
+static inline void _POSIX_Threads_Sporadic_timer_insert(
   Thread_Control    *the_thread,
   POSIX_API_Control *api
 )
@@ -109,7 +109,7 @@ int _POSIX_Thread_Translate_sched_param(
   Thread_Configuration     *config
 );
 
-RTEMS_INLINE_ROUTINE Thread_Control *_POSIX_Threads_Allocate(void)
+static inline Thread_Control *_POSIX_Threads_Allocate(void)
 {
   _Objects_Allocator_lock();
 
diff --git a/cpukit/include/rtems/posix/rwlockimpl.h b/cpukit/include/rtems/posix/rwlockimpl.h
index 2f77cbabad..f17967b1f6 100644
--- a/cpukit/include/rtems/posix/rwlockimpl.h
+++ b/cpukit/include/rtems/posix/rwlockimpl.h
@@ -54,7 +54,7 @@ typedef struct {
   CORE_RWLock_Control RWLock;
 } POSIX_RWLock_Control;
 
-RTEMS_INLINE_ROUTINE POSIX_RWLock_Control *_POSIX_RWLock_Get(
+static inline POSIX_RWLock_Control *_POSIX_RWLock_Get(
   pthread_rwlock_t *rwlock
 )
 {
diff --git a/cpukit/include/rtems/posix/semaphoreimpl.h b/cpukit/include/rtems/posix/semaphoreimpl.h
index b10e3731c5..7f322c21c0 100644
--- a/cpukit/include/rtems/posix/semaphoreimpl.h
+++ b/cpukit/include/rtems/posix/semaphoreimpl.h
@@ -53,7 +53,7 @@ extern "C" {
  */
 #define POSIX_SEMAPHORE_MAGIC 0x5d367fe7UL
 
-RTEMS_INLINE_ROUTINE POSIX_Semaphore_Control *
+static inline POSIX_Semaphore_Control *
   _POSIX_Semaphore_Allocate_unprotected( void )
 {
   return (POSIX_Semaphore_Control *)
@@ -66,31 +66,31 @@ RTEMS_INLINE_ROUTINE POSIX_Semaphore_Control *
  *  This routine frees a semaphore control block to the
  *  inactive chain of free semaphore control blocks.
  */
-RTEMS_INLINE_ROUTINE void _POSIX_Semaphore_Free (
+static inline void _POSIX_Semaphore_Free (
   POSIX_Semaphore_Control *the_semaphore
 )
 {
   _Objects_Free( &_POSIX_Semaphore_Information, &the_semaphore->Object );
 }
 
-RTEMS_INLINE_ROUTINE POSIX_Semaphore_Control *_POSIX_Semaphore_Get(
+static inline POSIX_Semaphore_Control *_POSIX_Semaphore_Get(
   sem_t *sem
 )
 {
   return RTEMS_CONTAINER_OF( sem, POSIX_Semaphore_Control, Semaphore );
 }
 
-RTEMS_INLINE_ROUTINE bool _POSIX_Semaphore_Is_named( const sem_t *sem )
+static inline bool _POSIX_Semaphore_Is_named( const sem_t *sem )
 {
   return sem->_Semaphore._Queue._name != NULL;
 }
 
-RTEMS_INLINE_ROUTINE bool _POSIX_Semaphore_Is_busy( const sem_t *sem )
+static inline bool _POSIX_Semaphore_Is_busy( const sem_t *sem )
 {
   return sem->_Semaphore._Queue._heads != NULL;
 }
 
-RTEMS_INLINE_ROUTINE void _POSIX_Semaphore_Initialize(
+static inline void _POSIX_Semaphore_Initialize(
   sem_t        *sem,
   const char   *name,
   unsigned int  value
@@ -100,7 +100,7 @@ RTEMS_INLINE_ROUTINE void _POSIX_Semaphore_Initialize(
   _Semaphore_Initialize_named( &sem->_Semaphore, name, value );
 }
 
-RTEMS_INLINE_ROUTINE void _POSIX_Semaphore_Destroy( sem_t *sem )
+static inline void _POSIX_Semaphore_Destroy( sem_t *sem )
 {
   sem->_flags = 0;
   _Semaphore_Destroy( &sem->_Semaphore );
@@ -116,7 +116,7 @@ void _POSIX_Semaphore_Delete( POSIX_Semaphore_Control *the_semaphore );
 /**
  *  @brief POSIX Semaphore Namespace Remove
  */
-RTEMS_INLINE_ROUTINE void _POSIX_Semaphore_Namespace_remove (
+static inline void _POSIX_Semaphore_Namespace_remove (
   POSIX_Semaphore_Control *the_semaphore
 )
 {
@@ -126,7 +126,7 @@ RTEMS_INLINE_ROUTINE void _POSIX_Semaphore_Namespace_remove (
   );
 }
 
-RTEMS_INLINE_ROUTINE POSIX_Semaphore_Control *_POSIX_Semaphore_Get_by_name(
+static inline POSIX_Semaphore_Control *_POSIX_Semaphore_Get_by_name(
   const char                *name,
   size_t                    *name_length_p,
   Objects_Get_by_name_error *error
diff --git a/cpukit/include/rtems/posix/shmimpl.h b/cpukit/include/rtems/posix/shmimpl.h
index b0630acbe1..b5f8847b0c 100644
--- a/cpukit/include/rtems/posix/shmimpl.h
+++ b/cpukit/include/rtems/posix/shmimpl.h
@@ -50,7 +50,7 @@ extern "C" {
  * @{
  */
 
-RTEMS_INLINE_ROUTINE POSIX_Shm_Control *_POSIX_Shm_Allocate_unprotected( void )
+static inline POSIX_Shm_Control *_POSIX_Shm_Allocate_unprotected( void )
 {
   return (POSIX_Shm_Control *)
     _Objects_Allocate_unprotected( &_POSIX_Shm_Information );
@@ -61,14 +61,14 @@ RTEMS_INLINE_ROUTINE POSIX_Shm_Control *_POSIX_Shm_Allocate_unprotected( void )
  *
  * This routine frees a shm control block.
  */
-RTEMS_INLINE_ROUTINE void _POSIX_Shm_Free (
+static inline void _POSIX_Shm_Free (
   POSIX_Shm_Control *the_shm
 )
 {
   _Objects_Free( &_POSIX_Shm_Information, &the_shm->Object );
 }
 
-RTEMS_INLINE_ROUTINE POSIX_Shm_Control *_POSIX_Shm_Get_by_name(
+static inline POSIX_Shm_Control *_POSIX_Shm_Get_by_name(
   const char                *name,
   size_t                    *name_length_p,
   Objects_Get_by_name_error *error
@@ -82,7 +82,7 @@ RTEMS_INLINE_ROUTINE POSIX_Shm_Control *_POSIX_Shm_Get_by_name(
   );
 }
 
-RTEMS_INLINE_ROUTINE void _POSIX_Shm_Update_atime(
+static inline void _POSIX_Shm_Update_atime(
   POSIX_Shm_Control *shm
 )
 {
@@ -91,7 +91,7 @@ RTEMS_INLINE_ROUTINE void _POSIX_Shm_Update_atime(
   shm->atime = now.tv_sec;
 }
 
-RTEMS_INLINE_ROUTINE void _POSIX_Shm_Update_mtime_ctime(
+static inline void _POSIX_Shm_Update_mtime_ctime(
   POSIX_Shm_Control *shm
 )
 {
diff --git a/cpukit/include/rtems/posix/spinlockimpl.h b/cpukit/include/rtems/posix/spinlockimpl.h
index be3245f90a..a5e5bb1850 100644
--- a/cpukit/include/rtems/posix/spinlockimpl.h
+++ b/cpukit/include/rtems/posix/spinlockimpl.h
@@ -62,7 +62,7 @@ typedef struct {
   ISR_Level interrupt_state;
 } POSIX_Spinlock_Control;
 
-RTEMS_INLINE_ROUTINE POSIX_Spinlock_Control *_POSIX_Spinlock_Get(
+static inline POSIX_Spinlock_Control *_POSIX_Spinlock_Get(
   pthread_spinlock_t *lock
 )
 {
diff --git a/cpukit/include/rtems/posix/timerimpl.h b/cpukit/include/rtems/posix/timerimpl.h
index 8f92186e30..f0622b6026 100644
--- a/cpukit/include/rtems/posix/timerimpl.h
+++ b/cpukit/include/rtems/posix/timerimpl.h
@@ -76,7 +76,7 @@ extern "C" {
  *  This function allocates a timer control block from
  *  the inactive chain of free timer control blocks.
  */
-RTEMS_INLINE_ROUTINE POSIX_Timer_Control *_POSIX_Timer_Allocate( void )
+static inline POSIX_Timer_Control *_POSIX_Timer_Allocate( void )
 {
   return (POSIX_Timer_Control *) _Objects_Allocate( &_POSIX_Timer_Information );
 }
@@ -87,7 +87,7 @@ RTEMS_INLINE_ROUTINE POSIX_Timer_Control *_POSIX_Timer_Allocate( void )
  *  This routine frees a timer control block to the
  *  inactive chain of free timer control blocks.
  */
-RTEMS_INLINE_ROUTINE void _POSIX_Timer_Free (
+static inline void _POSIX_Timer_Free (
   POSIX_Timer_Control *the_timer
 )
 {
@@ -105,7 +105,7 @@ void _POSIX_Timer_TSR( Watchdog_Control *the_watchdog );
  *  is set to OBJECTS_LOCAL.  Otherwise, location is set
  *  to OBJECTS_ERROR and the returned value is undefined.
  */
-RTEMS_INLINE_ROUTINE POSIX_Timer_Control *_POSIX_Timer_Get (
+static inline POSIX_Timer_Control *_POSIX_Timer_Get (
   timer_t            id,
   ISR_lock_Context  *lock_context
 )
@@ -117,7 +117,7 @@ RTEMS_INLINE_ROUTINE POSIX_Timer_Control *_POSIX_Timer_Get (
   );
 }
 
-RTEMS_INLINE_ROUTINE Per_CPU_Control *_POSIX_Timer_Acquire_critical(
+static inline Per_CPU_Control *_POSIX_Timer_Acquire_critical(
   POSIX_Timer_Control *ptimer,
   ISR_lock_Context    *lock_context
 )
@@ -130,7 +130,7 @@ RTEMS_INLINE_ROUTINE Per_CPU_Control *_POSIX_Timer_Acquire_critical(
   return cpu;
 }
 
-RTEMS_INLINE_ROUTINE void _POSIX_Timer_Release(
+static inline void _POSIX_Timer_Release(
   Per_CPU_Control  *cpu,
   ISR_lock_Context *lock_context
 )
diff --git a/cpukit/include/rtems/pty.h b/cpukit/include/rtems/pty.h
index 46d07602b4..e9303a1be3 100644
--- a/cpukit/include/rtems/pty.h
+++ b/cpukit/include/rtems/pty.h
@@ -39,7 +39,7 @@ typedef struct {
 
 const char *rtems_pty_initialize(rtems_pty_context *pty, uintptr_t unique);
 
-RTEMS_INLINE_ROUTINE const char *rtems_pty_get_path(const rtems_pty_context *pty)
+static inline const char *rtems_pty_get_path(const rtems_pty_context *pty)
 {
   return pty->name;
 }
diff --git a/cpukit/include/rtems/qreslib.h b/cpukit/include/rtems/qreslib.h
index f06925674b..a8e70433a1 100644
--- a/cpukit/include/rtems/qreslib.h
+++ b/cpukit/include/rtems/qreslib.h
@@ -98,7 +98,7 @@ typedef struct {
  *
  *  @return status code.
  */
-RTEMS_INLINE_ROUTINE qos_rv qres_init ( void )
+static inline qos_rv qres_init ( void )
 {
   return _Scheduler_CBS_Initialize();
 }
@@ -110,7 +110,7 @@ RTEMS_INLINE_ROUTINE qos_rv qres_init ( void )
  *
  *  @return status code.
  */
-RTEMS_INLINE_ROUTINE qos_rv qres_cleanup ( void )
+static inline qos_rv qres_cleanup ( void )
 {
   return _Scheduler_CBS_Cleanup();
 }
@@ -122,7 +122,7 @@ RTEMS_INLINE_ROUTINE qos_rv qres_cleanup ( void )
  *
  *  @return status code.
  */
-RTEMS_INLINE_ROUTINE qos_rv qres_create_server (
+static inline qos_rv qres_create_server (
   qres_params_t *params,
   qres_sid_t    *server_id
 )
@@ -141,7 +141,7 @@ RTEMS_INLINE_ROUTINE qos_rv qres_create_server (
  *
  *  @return status code.
  */
-RTEMS_INLINE_ROUTINE qos_rv qres_attach_thread (
+static inline qos_rv qres_attach_thread (
   qres_sid_t server_id,
   pid_t      pid,
   tid_t      task_id
@@ -157,7 +157,7 @@ RTEMS_INLINE_ROUTINE qos_rv qres_attach_thread (
  *
  *  @return status code.
  */
-RTEMS_INLINE_ROUTINE qos_rv qres_detach_thread (
+static inline qos_rv qres_detach_thread (
   qres_sid_t server_id,
   pid_t      pid,
   tid_t      task_id
@@ -173,7 +173,7 @@ RTEMS_INLINE_ROUTINE qos_rv qres_detach_thread (
  *
  *  @return status code.
  */
-RTEMS_INLINE_ROUTINE qos_rv qres_destroy_server (
+static inline qos_rv qres_destroy_server (
   qres_sid_t server_id
 )
 {
@@ -188,7 +188,7 @@ RTEMS_INLINE_ROUTINE qos_rv qres_destroy_server (
  *
  *  @return status code.
  */
-RTEMS_INLINE_ROUTINE qos_rv qres_get_sid (
+static inline qos_rv qres_get_sid (
   pid_t       pid,
   tid_t       task_id,
   qres_sid_t *server_id
@@ -204,7 +204,7 @@ RTEMS_INLINE_ROUTINE qos_rv qres_get_sid (
  *
  *  @return status code.
  */
-RTEMS_INLINE_ROUTINE qos_rv qres_get_params (
+static inline qos_rv qres_get_params (
   qres_sid_t     server_id,
   qres_params_t *params
 )
@@ -222,7 +222,7 @@ RTEMS_INLINE_ROUTINE qos_rv qres_get_params (
  *
  *  @return status code.
  */
-RTEMS_INLINE_ROUTINE qos_rv qres_set_params (
+static inline qos_rv qres_set_params (
   qres_sid_t     server_id,
   qres_params_t *params
 )
@@ -240,7 +240,7 @@ RTEMS_INLINE_ROUTINE qos_rv qres_set_params (
  *
  *  @return status code.
  */
-RTEMS_INLINE_ROUTINE qos_rv qres_get_exec_time (
+static inline qos_rv qres_get_exec_time (
   qres_sid_t    server_id,
   qres_time_t  *exec_time,
   qres_atime_t *abs_time
@@ -256,7 +256,7 @@ RTEMS_INLINE_ROUTINE qos_rv qres_get_exec_time (
  *
  *  @return status code.
  */
-RTEMS_INLINE_ROUTINE qos_rv qres_get_curr_budget (
+static inline qos_rv qres_get_curr_budget (
   qres_sid_t   server_id,
   qres_time_t *current_budget
 )
@@ -272,7 +272,7 @@ RTEMS_INLINE_ROUTINE qos_rv qres_get_curr_budget (
  *
  *  @return status code.
  */
-RTEMS_INLINE_ROUTINE qos_rv qres_get_appr_budget (
+static inline qos_rv qres_get_appr_budget (
   qres_sid_t   server_id,
   qres_time_t *appr_budget
 )
diff --git a/cpukit/include/rtems/rbtree.h b/cpukit/include/rtems/rbtree.h
index 73b0d1bbfc..45d08701da 100644
--- a/cpukit/include/rtems/rbtree.h
+++ b/cpukit/include/rtems/rbtree.h
@@ -139,7 +139,7 @@ void rtems_rbtree_initialize(
  *
  * This routine initializes @a the_rbtree to contain zero nodes.
  */
-RTEMS_INLINE_ROUTINE void rtems_rbtree_initialize_empty(
+static inline void rtems_rbtree_initialize_empty(
   rtems_rbtree_control *the_rbtree
 )
 {
@@ -152,7 +152,7 @@ RTEMS_INLINE_ROUTINE void rtems_rbtree_initialize_empty(
  * This function sets the next and previous fields of the @a node to NULL
  * indicating the @a node is not part of any rbtree.
  */
-RTEMS_INLINE_ROUTINE void rtems_rbtree_set_off_tree(
+static inline void rtems_rbtree_set_off_tree(
   rtems_rbtree_node *node
 )
 {
@@ -165,7 +165,7 @@ RTEMS_INLINE_ROUTINE void rtems_rbtree_set_off_tree(
  * This function returns true if the @a node is not on a rbtree. A @a node is
  * off rbtree if the next and previous fields are set to NULL.
  */
-RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_node_off_tree(
+static inline bool rtems_rbtree_is_node_off_tree(
   const rtems_rbtree_node *node
 )
 {
@@ -177,7 +177,7 @@ RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_node_off_tree(
  *
  * This function returns a pointer to the root node of @a the_rbtree.
  */
-RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_root(
+static inline rtems_rbtree_node *rtems_rbtree_root(
   const rtems_rbtree_control *the_rbtree
 )
 {
@@ -187,7 +187,7 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_root(
 /**
  * @copydoc _RBTree_Minimum()
  */
-RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_min(
+static inline rtems_rbtree_node *rtems_rbtree_min(
   const rtems_rbtree_control *the_rbtree
 )
 {
@@ -197,7 +197,7 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_min(
 /**
  * @copydoc _RBTree_Maximum()
  */
-RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_max(
+static inline rtems_rbtree_node *rtems_rbtree_max(
   const rtems_rbtree_control *the_rbtree
 )
 {
@@ -209,7 +209,7 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_max(
  *
  * This function returns a pointer to the left child node of @a the_node.
  */
-RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_left(
+static inline rtems_rbtree_node *rtems_rbtree_left(
   const rtems_rbtree_node *the_node
 )
 {
@@ -221,7 +221,7 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_left(
  *
  * This function returns a pointer to the right child node of @a the_node.
  */
-RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_right(
+static inline rtems_rbtree_node *rtems_rbtree_right(
   const rtems_rbtree_node *the_node
 )
 {
@@ -231,7 +231,7 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_right(
 /**
  * @copydoc _RBTree_Parent()
  */
-RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_parent(
+static inline rtems_rbtree_node *rtems_rbtree_parent(
   const rtems_rbtree_node *the_node
 )
 {
@@ -244,7 +244,7 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_parent(
  * This function returns true if there a no nodes on @a the_rbtree and
  * false otherwise.
  */
-RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_empty(
+static inline bool rtems_rbtree_is_empty(
   const rtems_rbtree_control *the_rbtree
 )
 {
@@ -257,7 +257,7 @@ RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_empty(
  * This function returns true if @a the_node is the min node on @a the_rbtree 
  * and false otherwise.
  */
-RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_min(
+static inline bool rtems_rbtree_is_min(
   const rtems_rbtree_control *the_rbtree,
   const rtems_rbtree_node *the_node
 )
@@ -271,7 +271,7 @@ RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_min(
  * This function returns true if @a the_node is the max node on @a the_rbtree 
  * and false otherwise.
  */
-RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_max(
+static inline bool rtems_rbtree_is_max(
   const rtems_rbtree_control *the_rbtree,
   const rtems_rbtree_node *the_node
 )
@@ -282,28 +282,28 @@ RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_max(
 /**
  * @copydoc _RBTree_Is_root()
  */
-RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_root(
+static inline bool rtems_rbtree_is_root(
   const rtems_rbtree_node *the_node
 )
 {
   return _RBTree_Is_root( the_node );
 }
 
-RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_equal(
+static inline bool rtems_rbtree_is_equal(
   rtems_rbtree_compare_result compare_result
 )
 {
   return compare_result == 0;
 }
 
-RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_greater(
+static inline bool rtems_rbtree_is_greater(
   rtems_rbtree_compare_result compare_result
 )
 {
   return compare_result > 0;
 }
 
-RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_lesser(
+static inline bool rtems_rbtree_is_lesser(
   rtems_rbtree_compare_result compare_result
 )
 {
@@ -334,7 +334,7 @@ rtems_rbtree_node* rtems_rbtree_find(
 /**
  * @copydoc _RBTree_Predecessor()
  */
-RTEMS_INLINE_ROUTINE rtems_rbtree_node* rtems_rbtree_predecessor(
+static inline rtems_rbtree_node* rtems_rbtree_predecessor(
   const rtems_rbtree_node *node
 )
 {
@@ -344,7 +344,7 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node* rtems_rbtree_predecessor(
 /**
  * @copydoc _RBTree_Successor()
  */
-RTEMS_INLINE_ROUTINE rtems_rbtree_node* rtems_rbtree_successor(
+static inline rtems_rbtree_node* rtems_rbtree_successor(
   const rtems_rbtree_node *node
 )
 {
@@ -354,7 +354,7 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node* rtems_rbtree_successor(
 /**
  * @copydoc _RBTree_Extract()
  */
-RTEMS_INLINE_ROUTINE void rtems_rbtree_extract(
+static inline void rtems_rbtree_extract(
   rtems_rbtree_control *the_rbtree,
   rtems_rbtree_node *the_node
 )
@@ -374,7 +374,7 @@ RTEMS_INLINE_ROUTINE void rtems_rbtree_extract(
  * @retval NULL The tree is empty.
  * @retval node A node with the minimal key value on the tree.
  */
-RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_get_min(
+static inline rtems_rbtree_node *rtems_rbtree_get_min(
   rtems_rbtree_control *the_rbtree
 )
 {
@@ -399,7 +399,7 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_get_min(
  * @retval NULL The tree is empty.
  * @retval node A node with the maximal key value on the tree.
  */
-RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_get_max(
+static inline rtems_rbtree_node *rtems_rbtree_get_max(
   rtems_rbtree_control *the_rbtree
 )
 {
@@ -419,7 +419,7 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_get_max(
  * without changing the tree.  If @a the_rbtree is empty, 
  * then NULL is returned.
  */
-RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_peek_min(
+static inline rtems_rbtree_node *rtems_rbtree_peek_min(
   const rtems_rbtree_control *the_rbtree
 )
 {
@@ -433,7 +433,7 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_peek_min(
  * without changing the tree.  If @a the_rbtree is empty, 
  * then NULL is returned.
  */
-RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_peek_max(
+static inline rtems_rbtree_node *rtems_rbtree_peek_max(
   const rtems_rbtree_control *the_rbtree
 )
 {
diff --git a/cpukit/include/rtems/record.h b/cpukit/include/rtems/record.h
index 2f5ad5415c..a8e115ad44 100644
--- a/cpukit/include/rtems/record.h
+++ b/cpukit/include/rtems/record.h
@@ -112,7 +112,7 @@ void _Record_Thread_terminate(
   struct _Thread_Control *executing
 );
 
-RTEMS_INLINE_ROUTINE unsigned int _Record_Index(
+static inline unsigned int _Record_Index(
   const Record_Control *control,
   unsigned int          index
 )
@@ -120,17 +120,17 @@ RTEMS_INLINE_ROUTINE unsigned int _Record_Index(
   return index & control->mask;
 }
 
-RTEMS_INLINE_ROUTINE unsigned int _Record_Head( const Record_Control *control )
+static inline unsigned int _Record_Head( const Record_Control *control )
 {
   return _Atomic_Load_uint( &control->head, ATOMIC_ORDER_RELAXED );
 }
 
-RTEMS_INLINE_ROUTINE unsigned int _Record_Tail( const Record_Control *control )
+static inline unsigned int _Record_Tail( const Record_Control *control )
 {
   return control->tail;
 }
 
-RTEMS_INLINE_ROUTINE bool _Record_Is_overflow(
+static inline bool _Record_Is_overflow(
   const Record_Control *control,
   unsigned int          tail,
   unsigned int          head
@@ -139,7 +139,7 @@ RTEMS_INLINE_ROUTINE bool _Record_Is_overflow(
   return head - tail >= control->mask + 1U;
 }
 
-RTEMS_INLINE_ROUTINE unsigned int _Record_Capacity(
+static inline unsigned int _Record_Capacity(
   const Record_Control *control,
   unsigned int          tail,
   unsigned int          head
@@ -148,7 +148,7 @@ RTEMS_INLINE_ROUTINE unsigned int _Record_Capacity(
   return ( tail - head - 1U ) & control->mask;
 }
 
-RTEMS_INLINE_ROUTINE rtems_counter_ticks _Record_Now( void )
+static inline rtems_counter_ticks _Record_Now( void )
 {
   return rtems_counter_read();
 }
@@ -498,7 +498,7 @@ void _Record_Exit_10(
  *   context may have an arbitrary content at function entry.
  * @param cpu_self The control of the current processor.
  */
-RTEMS_INLINE_ROUTINE void rtems_record_prepare_critical(
+static inline void rtems_record_prepare_critical(
   rtems_record_context  *context,
   const Per_CPU_Control *cpu_self
 )
@@ -524,7 +524,7 @@ RTEMS_INLINE_ROUTINE void rtems_record_prepare_critical(
  *
  * @see rtems_record_produce().
  */
-RTEMS_INLINE_ROUTINE void rtems_record_prepare( rtems_record_context *context )
+static inline void rtems_record_prepare( rtems_record_context *context )
 {
   uint32_t               level;
   const Per_CPU_Control *cpu_self;
@@ -549,7 +549,7 @@ RTEMS_INLINE_ROUTINE void rtems_record_prepare( rtems_record_context *context )
  * @param event The record event without a time stamp for the item.
  * @param data The record data for the item.
  */
-RTEMS_INLINE_ROUTINE void rtems_record_add(
+static inline void rtems_record_add(
   rtems_record_context *context,
   rtems_record_event    event,
   rtems_record_data     data
@@ -575,7 +575,7 @@ RTEMS_INLINE_ROUTINE void rtems_record_add(
  * @param context The record context initialized via
  *   rtems_record_prepare_critical().
  */
-RTEMS_INLINE_ROUTINE void rtems_record_commit_critical( rtems_record_context *context )
+static inline void rtems_record_commit_critical( rtems_record_context *context )
 {
   _Atomic_Store_uint(
     &context->control->head,
@@ -589,7 +589,7 @@ RTEMS_INLINE_ROUTINE void rtems_record_commit_critical( rtems_record_context *co
  *
  * @param context The record context initialized via rtems_record_prepare().
  */
-RTEMS_INLINE_ROUTINE void rtems_record_commit( rtems_record_context *context )
+static inline void rtems_record_commit( rtems_record_context *context )
 {
   rtems_record_commit_critical( context );
   RTEMS_COMPILER_MEMORY_BARRIER();
diff --git a/cpukit/include/rtems/rtems/attrimpl.h b/cpukit/include/rtems/rtems/attrimpl.h
index 9321a92048..e5ac35c26a 100644
--- a/cpukit/include/rtems/rtems/attrimpl.h
+++ b/cpukit/include/rtems/rtems/attrimpl.h
@@ -80,7 +80,7 @@ extern "C" {
  *  This function sets the requested new_attributes in the attribute_set
  *  passed in.  The result is returned to the user.
  */
-RTEMS_INLINE_ROUTINE rtems_attribute _Attributes_Set (
+static inline rtems_attribute _Attributes_Set (
    rtems_attribute new_attributes,
    rtems_attribute attribute_set
 )
@@ -95,7 +95,7 @@ RTEMS_INLINE_ROUTINE rtems_attribute _Attributes_Set (
  *  This function clears the requested new_attributes in the attribute_set
  *  passed in.  The result is returned to the user.
  */
-RTEMS_INLINE_ROUTINE rtems_attribute _Attributes_Clear (
+static inline rtems_attribute _Attributes_Clear (
    rtems_attribute attribute_set,
    rtems_attribute mask
 )
@@ -110,7 +110,7 @@ RTEMS_INLINE_ROUTINE rtems_attribute _Attributes_Clear (
  *  This function returns TRUE if the floating point attribute is
  *  enabled in the attribute_set and FALSE otherwise.
  */
-RTEMS_INLINE_ROUTINE bool _Attributes_Is_floating_point(
+static inline bool _Attributes_Is_floating_point(
   rtems_attribute attribute_set
 )
 {
@@ -125,7 +125,7 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_floating_point(
  *  This function returns TRUE if the global object attribute is
  *  enabled in the attribute_set and FALSE otherwise.
  */
-RTEMS_INLINE_ROUTINE bool _Attributes_Is_global(
+static inline bool _Attributes_Is_global(
   rtems_attribute attribute_set
 )
 {
@@ -139,7 +139,7 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_global(
  *  This function returns TRUE if the priority attribute is
  *  enabled in the attribute_set and FALSE otherwise.
  */
-RTEMS_INLINE_ROUTINE bool _Attributes_Is_priority(
+static inline bool _Attributes_Is_priority(
   rtems_attribute attribute_set
 )
 {
@@ -153,7 +153,7 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_priority(
  *  This function returns TRUE if the binary semaphore attribute is
  *  enabled in the attribute_set and FALSE otherwise.
  */
-RTEMS_INLINE_ROUTINE bool _Attributes_Is_binary_semaphore(
+static inline bool _Attributes_Is_binary_semaphore(
   rtems_attribute attribute_set
 )
 {
@@ -167,7 +167,7 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_binary_semaphore(
  *  This function returns TRUE if the simple binary semaphore attribute is
  *  enabled in the attribute_set and FALSE otherwise.
  */
-RTEMS_INLINE_ROUTINE bool _Attributes_Is_simple_binary_semaphore(
+static inline bool _Attributes_Is_simple_binary_semaphore(
   rtems_attribute attribute_set
 )
 {
@@ -182,7 +182,7 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_simple_binary_semaphore(
  *  This function returns TRUE if the counting semaphore attribute is
  *  enabled in the attribute_set and FALSE otherwise.
  */
-RTEMS_INLINE_ROUTINE bool _Attributes_Is_counting_semaphore(
+static inline bool _Attributes_Is_counting_semaphore(
   rtems_attribute attribute_set
 )
 {
@@ -196,7 +196,7 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_counting_semaphore(
  *  This function returns TRUE if the priority inheritance attribute
  *  is enabled in the attribute_set and FALSE otherwise.
  */
-RTEMS_INLINE_ROUTINE bool _Attributes_Is_inherit_priority(
+static inline bool _Attributes_Is_inherit_priority(
   rtems_attribute attribute_set
 )
 {
@@ -210,7 +210,7 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_inherit_priority(
  * The protocols are RTEMS_INHERIT_PRIORITY, RTEMS_PRIORITY_CEILING and
  * RTEMS_MULTIPROCESSOR_RESOURCE_SHARING.
  */
-RTEMS_INLINE_ROUTINE bool _Attributes_Has_at_most_one_protocol(
+static inline bool _Attributes_Has_at_most_one_protocol(
   rtems_attribute attribute_set
 )
 {
@@ -227,7 +227,7 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Has_at_most_one_protocol(
  *  This function returns TRUE if the priority ceiling attribute
  *  is enabled in the attribute_set and FALSE otherwise.
  */
-RTEMS_INLINE_ROUTINE bool _Attributes_Is_priority_ceiling(
+static inline bool _Attributes_Is_priority_ceiling(
   rtems_attribute attribute_set
 )
 {
@@ -241,7 +241,7 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_priority_ceiling(
  *  This function returns TRUE if the Multiprocessor Resource Sharing Protocol
  *  attribute is enabled in the attribute_set and FALSE otherwise.
  */
-RTEMS_INLINE_ROUTINE bool _Attributes_Is_multiprocessor_resource_sharing(
+static inline bool _Attributes_Is_multiprocessor_resource_sharing(
   rtems_attribute attribute_set
 )
 {
@@ -255,7 +255,7 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_multiprocessor_resource_sharing(
  *  This function returns TRUE if the barrier automatic release
  *  attribute is enabled in the attribute_set and FALSE otherwise.
  */
-RTEMS_INLINE_ROUTINE bool _Attributes_Is_barrier_automatic(
+static inline bool _Attributes_Is_barrier_automatic(
   rtems_attribute attribute_set
 )
 {
@@ -269,7 +269,7 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_barrier_automatic(
  *  This function returns TRUE if the system task attribute
  *  is enabled in the attribute_set and FALSE otherwise.
  */
-RTEMS_INLINE_ROUTINE bool _Attributes_Is_system_task(
+static inline bool _Attributes_Is_system_task(
   rtems_attribute attribute_set
 )
 {
diff --git a/cpukit/include/rtems/rtems/barrierimpl.h b/cpukit/include/rtems/rtems/barrierimpl.h
index 9e28ad9cb1..88228b64f9 100644
--- a/cpukit/include/rtems/rtems/barrierimpl.h
+++ b/cpukit/include/rtems/rtems/barrierimpl.h
@@ -62,7 +62,7 @@ extern "C" {
  *  This function allocates a barrier control block from
  *  the inactive chain of free barrier control blocks.
  */
-RTEMS_INLINE_ROUTINE Barrier_Control *_Barrier_Allocate( void )
+static inline Barrier_Control *_Barrier_Allocate( void )
 {
   return (Barrier_Control *) _Objects_Allocate( &_Barrier_Information );
 }
@@ -73,7 +73,7 @@ RTEMS_INLINE_ROUTINE Barrier_Control *_Barrier_Allocate( void )
  *  This routine frees a barrier control block to the
  *  inactive chain of free barrier control blocks.
  */
-RTEMS_INLINE_ROUTINE void _Barrier_Free (
+static inline void _Barrier_Free (
   Barrier_Control *the_barrier
 )
 {
@@ -81,7 +81,7 @@ RTEMS_INLINE_ROUTINE void _Barrier_Free (
   _Objects_Free( &_Barrier_Information, &the_barrier->Object );
 }
 
-RTEMS_INLINE_ROUTINE Barrier_Control *_Barrier_Get(
+static inline Barrier_Control *_Barrier_Get(
   Objects_Id            id,
   Thread_queue_Context *queue_context
 )
diff --git a/cpukit/include/rtems/rtems/dpmemimpl.h b/cpukit/include/rtems/rtems/dpmemimpl.h
index 7287ab6489..04462335b8 100644
--- a/cpukit/include/rtems/rtems/dpmemimpl.h
+++ b/cpukit/include/rtems/rtems/dpmemimpl.h
@@ -61,7 +61,7 @@ extern "C" {
  *  This routine allocates a port control block from the inactive chain
  *  of free port control blocks.
  */
-RTEMS_INLINE_ROUTINE Dual_ported_memory_Control
+static inline Dual_ported_memory_Control
    *_Dual_ported_memory_Allocate ( void )
 {
   return (Dual_ported_memory_Control *)
@@ -75,14 +75,14 @@ RTEMS_INLINE_ROUTINE Dual_ported_memory_Control
  *  This routine frees a port control block to the inactive chain
  *  of free port control blocks.
  */
-RTEMS_INLINE_ROUTINE void _Dual_ported_memory_Free (
+static inline void _Dual_ported_memory_Free (
    Dual_ported_memory_Control *the_port
 )
 {
   _Objects_Free( &_Dual_ported_memory_Information, &the_port->Object );
 }
 
-RTEMS_INLINE_ROUTINE Dual_ported_memory_Control *_Dual_ported_memory_Get(
+static inline Dual_ported_memory_Control *_Dual_ported_memory_Get(
   Objects_Id        id,
   ISR_lock_Context *lock_context
 )
diff --git a/cpukit/include/rtems/rtems/eventimpl.h b/cpukit/include/rtems/rtems/eventimpl.h
index ae14e5c836..9c0380930a 100644
--- a/cpukit/include/rtems/rtems/eventimpl.h
+++ b/cpukit/include/rtems/rtems/eventimpl.h
@@ -123,7 +123,7 @@ rtems_status_code _Event_Surrender(
  *
  * @param event is the event control block to initialize.
  */
-RTEMS_INLINE_ROUTINE void _Event_Initialize( Event_Control *event )
+static inline void _Event_Initialize( Event_Control *event )
 {
   event->pending_events = 0;
 }
@@ -136,7 +136,7 @@ RTEMS_INLINE_ROUTINE void _Event_Initialize( Event_Control *event )
  * @return Returns true, if there are no posted events in the event set,
  *   otherwise false.
  */
-RTEMS_INLINE_ROUTINE bool _Event_sets_Is_empty(
+static inline bool _Event_sets_Is_empty(
   rtems_event_set the_event_set
 )
 {
@@ -150,7 +150,7 @@ RTEMS_INLINE_ROUTINE bool _Event_sets_Is_empty(
  *
  * @param the_event_set[in, out] is the event set.
  */
-RTEMS_INLINE_ROUTINE void _Event_sets_Post(
+static inline void _Event_sets_Post(
   rtems_event_set  the_new_events,
   rtems_event_set *the_event_set
 )
@@ -168,7 +168,7 @@ RTEMS_INLINE_ROUTINE void _Event_sets_Post(
  * @return Return the events of the event condition which are posted in the
  *   event set.
  */
-RTEMS_INLINE_ROUTINE rtems_event_set _Event_sets_Get(
+static inline rtems_event_set _Event_sets_Get(
   rtems_event_set the_event_set,
   rtems_event_set the_event_condition
 )
@@ -186,7 +186,7 @@ RTEMS_INLINE_ROUTINE rtems_event_set _Event_sets_Get(
  * @return Returns the event set with all event cleared specified by the event
  *   mask.
  */
-RTEMS_INLINE_ROUTINE rtems_event_set _Event_sets_Clear(
+static inline rtems_event_set _Event_sets_Clear(
  rtems_event_set the_event_set,
  rtems_event_set the_mask
 )
diff --git a/cpukit/include/rtems/rtems/messageimpl.h b/cpukit/include/rtems/rtems/messageimpl.h
index 0bbd104c18..5fbdcadcf6 100644
--- a/cpukit/include/rtems/rtems/messageimpl.h
+++ b/cpukit/include/rtems/rtems/messageimpl.h
@@ -97,14 +97,14 @@ rtems_status_code _Message_queue_Submit(
  *  This routine deallocates a message queue control block into
  *  the inactive chain of free message queue control blocks.
  */
-RTEMS_INLINE_ROUTINE void _Message_queue_Free (
+static inline void _Message_queue_Free (
   Message_queue_Control *the_message_queue
 )
 {
   _Objects_Free( &_Message_queue_Information, &the_message_queue->Object );
 }
 
-RTEMS_INLINE_ROUTINE Message_queue_Control *_Message_queue_Get(
+static inline Message_queue_Control *_Message_queue_Get(
   Objects_Id            id,
   Thread_queue_Context *queue_context
 )
@@ -117,7 +117,7 @@ RTEMS_INLINE_ROUTINE Message_queue_Control *_Message_queue_Get(
   );
 }
 
-RTEMS_INLINE_ROUTINE Message_queue_Control *_Message_queue_Allocate( void )
+static inline Message_queue_Control *_Message_queue_Allocate( void )
 {
   return (Message_queue_Control *)
     _Objects_Allocate( &_Message_queue_Information );
diff --git a/cpukit/include/rtems/rtems/modesimpl.h b/cpukit/include/rtems/rtems/modesimpl.h
index d195188774..8cbf655cbb 100644
--- a/cpukit/include/rtems/rtems/modesimpl.h
+++ b/cpukit/include/rtems/rtems/modesimpl.h
@@ -64,7 +64,7 @@ extern "C" {
  *  This function returns TRUE if mode_set indicates that Asynchronous
  *  Signal Processing is disabled, and FALSE otherwise.
  */
-RTEMS_INLINE_ROUTINE bool _Modes_Is_asr_disabled (
+static inline bool _Modes_Is_asr_disabled (
   rtems_mode mode_set
 )
 {
@@ -77,7 +77,7 @@ RTEMS_INLINE_ROUTINE bool _Modes_Is_asr_disabled (
  *  This function returns TRUE if mode_set indicates that preemption
  *  is enabled, and FALSE otherwise.
  */
-RTEMS_INLINE_ROUTINE bool _Modes_Is_preempt (
+static inline bool _Modes_Is_preempt (
   rtems_mode mode_set
 )
 {
@@ -90,7 +90,7 @@ RTEMS_INLINE_ROUTINE bool _Modes_Is_preempt (
  *  This function returns TRUE if mode_set indicates that timeslicing
  *  is enabled, and FALSE otherwise.
  */
-RTEMS_INLINE_ROUTINE bool _Modes_Is_timeslice (
+static inline bool _Modes_Is_timeslice (
   rtems_mode mode_set
 )
 {
@@ -102,7 +102,7 @@ RTEMS_INLINE_ROUTINE bool _Modes_Is_timeslice (
  *
  *  This function returns the interrupt level portion of the mode_set.
  */
-RTEMS_INLINE_ROUTINE ISR_Level _Modes_Get_interrupt_level (
+static inline ISR_Level _Modes_Get_interrupt_level (
   rtems_mode mode_set
 )
 {
@@ -119,7 +119,7 @@ RTEMS_INLINE_ROUTINE ISR_Level _Modes_Get_interrupt_level (
  * @return Returns true, if support for the interrupt level is implemented,
  *   otherwise returns false.
  */
-RTEMS_INLINE_ROUTINE bool _Modes_Is_interrupt_level_supported(
+static inline bool _Modes_Is_interrupt_level_supported(
   rtems_mode mode_set
 )
 {
@@ -142,7 +142,7 @@ RTEMS_INLINE_ROUTINE bool _Modes_Is_interrupt_level_supported(
  * @return Returns true, if support for the preempt mode is implemented,
  *   otherwise returns false.
  */
-RTEMS_INLINE_ROUTINE bool _Modes_Is_preempt_mode_supported(
+static inline bool _Modes_Is_preempt_mode_supported(
   rtems_mode            mode_set,
   const Thread_Control *the_thread
 )
@@ -162,7 +162,7 @@ RTEMS_INLINE_ROUTINE bool _Modes_Is_preempt_mode_supported(
  *
  * @param[out] the_thread is the thread to apply the timeslice mode.
  */
-RTEMS_INLINE_ROUTINE void _Modes_Apply_timeslice_to_thread(
+static inline void _Modes_Apply_timeslice_to_thread(
   rtems_mode      mode_set,
   Thread_Control *the_thread
 )
diff --git a/cpukit/include/rtems/rtems/msgmp.h b/cpukit/include/rtems/rtems/msgmp.h
index ee4a68b0da..ddd5aa11cc 100644
--- a/cpukit/include/rtems/rtems/msgmp.h
+++ b/cpukit/include/rtems/rtems/msgmp.h
@@ -99,7 +99,7 @@ typedef struct {
 #define MESSAGE_QUEUE_MP_PACKET_SIZE \
   offsetof(Message_queue_MP_Packet, buffer)
 
-RTEMS_INLINE_ROUTINE bool _Message_queue_MP_Is_remote( Objects_Id id )
+static inline bool _Message_queue_MP_Is_remote( Objects_Id id )
 {
   return _Objects_MP_Is_remote( id, &_Message_queue_Information );
 }
diff --git a/cpukit/include/rtems/rtems/optionsimpl.h b/cpukit/include/rtems/rtems/optionsimpl.h
index 58cabaf798..24e861bf9d 100644
--- a/cpukit/include/rtems/rtems/optionsimpl.h
+++ b/cpukit/include/rtems/rtems/optionsimpl.h
@@ -59,7 +59,7 @@ extern "C" {
  *  This function returns TRUE if the RTEMS_NO_WAIT option is enabled in
  *  option_set, and FALSE otherwise.
  */
-RTEMS_INLINE_ROUTINE bool _Options_Is_no_wait (
+static inline bool _Options_Is_no_wait (
   rtems_option option_set
 )
 {
@@ -72,7 +72,7 @@ RTEMS_INLINE_ROUTINE bool _Options_Is_no_wait (
  *  This function returns TRUE if the RTEMS_EVENT_ANY option is enabled in
  *  OPTION_SET, and FALSE otherwise.
  */
-RTEMS_INLINE_ROUTINE bool _Options_Is_any (
+static inline bool _Options_Is_any (
   rtems_option option_set
 )
 {
diff --git a/cpukit/include/rtems/rtems/partimpl.h b/cpukit/include/rtems/rtems/partimpl.h
index ac2883e417..2dcea25b81 100644
--- a/cpukit/include/rtems/rtems/partimpl.h
+++ b/cpukit/include/rtems/rtems/partimpl.h
@@ -62,7 +62,7 @@ extern "C" {
  *
  * @return See _Objects_Get().
  */
-RTEMS_INLINE_ROUTINE Partition_Control *_Partition_Get(
+static inline Partition_Control *_Partition_Get(
   Objects_Id         id,
   ISR_lock_Context  *lock_context
 )
@@ -81,7 +81,7 @@ RTEMS_INLINE_ROUTINE Partition_Control *_Partition_Get(
  *
  * @param[in, out] lock_context is the lock context set up by _Partition_Get().
  */
-RTEMS_INLINE_ROUTINE void _Partition_Acquire_critical(
+static inline void _Partition_Acquire_critical(
   Partition_Control *the_partition,
   ISR_lock_Context  *lock_context
 )
@@ -96,7 +96,7 @@ RTEMS_INLINE_ROUTINE void _Partition_Acquire_critical(
  *
  * @param[in, out] lock_context is the lock context set up by _Partition_Get().
  */
-RTEMS_INLINE_ROUTINE void _Partition_Release(
+static inline void _Partition_Release(
   Partition_Control *the_partition,
   ISR_lock_Context  *lock_context
 )
diff --git a/cpukit/include/rtems/rtems/partmp.h b/cpukit/include/rtems/rtems/partmp.h
index 0cae87f0d7..cffde801d8 100644
--- a/cpukit/include/rtems/rtems/partmp.h
+++ b/cpukit/include/rtems/rtems/partmp.h
@@ -85,7 +85,7 @@ typedef struct {
   Objects_Id                      proxy_id;
 }   Partition_MP_Packet;
 
-RTEMS_INLINE_ROUTINE bool _Partition_MP_Is_remote( Objects_Id id )
+static inline bool _Partition_MP_Is_remote( Objects_Id id )
 {
   return _Objects_MP_Is_remote( id, &_Partition_Information );
 }
diff --git a/cpukit/include/rtems/rtems/ratemonimpl.h b/cpukit/include/rtems/rtems/ratemonimpl.h
index aa56266ea4..3874fd4884 100644
--- a/cpukit/include/rtems/rtems/ratemonimpl.h
+++ b/cpukit/include/rtems/rtems/ratemonimpl.h
@@ -74,13 +74,13 @@ extern "C" {
  *  This function allocates a period control block from
  *  the inactive chain of free period control blocks.
  */
-RTEMS_INLINE_ROUTINE Rate_monotonic_Control *_Rate_monotonic_Allocate( void )
+static inline Rate_monotonic_Control *_Rate_monotonic_Allocate( void )
 {
   return (Rate_monotonic_Control *)
     _Objects_Allocate( &_Rate_monotonic_Information );
 }
 
-RTEMS_INLINE_ROUTINE void _Rate_monotonic_Acquire_critical(
+static inline void _Rate_monotonic_Acquire_critical(
   Rate_monotonic_Control *the_period,
   ISR_lock_Context       *lock_context
 )
@@ -88,7 +88,7 @@ RTEMS_INLINE_ROUTINE void _Rate_monotonic_Acquire_critical(
   _ISR_lock_Acquire( &the_period->Lock, lock_context );
 }
 
-RTEMS_INLINE_ROUTINE void _Rate_monotonic_Release(
+static inline void _Rate_monotonic_Release(
   Rate_monotonic_Control *the_period,
   ISR_lock_Context       *lock_context
 )
@@ -96,7 +96,7 @@ RTEMS_INLINE_ROUTINE void _Rate_monotonic_Release(
   _ISR_lock_Release_and_ISR_enable( &the_period->Lock, lock_context );
 }
 
-RTEMS_INLINE_ROUTINE Rate_monotonic_Control *_Rate_monotonic_Get(
+static inline Rate_monotonic_Control *_Rate_monotonic_Get(
   Objects_Id        id,
   ISR_lock_Context *lock_context
 )
@@ -137,14 +137,14 @@ void _Rate_monotonic_Cancel(
   ISR_lock_Context       *lock_context
 );
 
-RTEMS_INLINE_ROUTINE void _Rate_monotonic_Reset_min_time(
+static inline void _Rate_monotonic_Reset_min_time(
   Timestamp_Control *min_time
 )
 {
   _Timestamp_Set( min_time, 0x7fffffff, 0x7fffffff );
 }
 
-RTEMS_INLINE_ROUTINE void _Rate_monotonic_Reset_statistics(
+static inline void _Rate_monotonic_Reset_statistics(
   Rate_monotonic_Control *the_period
 )
 {
diff --git a/cpukit/include/rtems/rtems/regionimpl.h b/cpukit/include/rtems/rtems/regionimpl.h
index ec1f1166ed..adb481f3e7 100644
--- a/cpukit/include/rtems/rtems/regionimpl.h
+++ b/cpukit/include/rtems/rtems/regionimpl.h
@@ -66,7 +66,7 @@ extern "C" {
  *  This function allocates a region control block from
  *  the inactive chain of free region control blocks.
  */
-RTEMS_INLINE_ROUTINE Region_Control *_Region_Allocate( void )
+static inline Region_Control *_Region_Allocate( void )
 {
   return (Region_Control *) _Objects_Allocate( &_Region_Information );
 }
@@ -77,7 +77,7 @@ RTEMS_INLINE_ROUTINE Region_Control *_Region_Allocate( void )
  *  This routine frees a region control block to the
  *  inactive chain of free region control blocks.
  */
-RTEMS_INLINE_ROUTINE void _Region_Free (
+static inline void _Region_Free (
   Region_Control *the_region
 )
 {
@@ -85,7 +85,7 @@ RTEMS_INLINE_ROUTINE void _Region_Free (
   _Objects_Free( &_Region_Information, &the_region->Object );
 }
 
-RTEMS_INLINE_ROUTINE Region_Control *_Region_Get_and_lock( Objects_Id id )
+static inline Region_Control *_Region_Get_and_lock( Objects_Id id )
 {
   Region_Control *the_region;
 
@@ -103,7 +103,7 @@ RTEMS_INLINE_ROUTINE Region_Control *_Region_Get_and_lock( Objects_Id id )
   return NULL;
 }
 
-RTEMS_INLINE_ROUTINE void _Region_Unlock( Region_Control *the_region )
+static inline void _Region_Unlock( Region_Control *the_region )
 {
   (void) the_region;
   _RTEMS_Unlock_allocator();
@@ -116,7 +116,7 @@ RTEMS_INLINE_ROUTINE void _Region_Unlock( Region_Control *the_region )
  *  If successful, it returns the address of the allocated segment.
  *  Otherwise, it returns NULL.
  */
-RTEMS_INLINE_ROUTINE void *_Region_Allocate_segment (
+static inline void *_Region_Allocate_segment (
   Region_Control *the_region,
   uintptr_t       size
 )
@@ -129,7 +129,7 @@ RTEMS_INLINE_ROUTINE void *_Region_Allocate_segment (
  *
  *  This function frees the_segment to the_region.
  */
-RTEMS_INLINE_ROUTINE bool _Region_Free_segment (
+static inline bool _Region_Free_segment (
   Region_Control *the_region,
   void           *the_segment
 )
diff --git a/cpukit/include/rtems/rtems/semimpl.h b/cpukit/include/rtems/rtems/semimpl.h
index 5518c1d348..5164c593f7 100644
--- a/cpukit/include/rtems/rtems/semimpl.h
+++ b/cpukit/include/rtems/rtems/semimpl.h
@@ -78,7 +78,7 @@ typedef enum {
   SEMAPHORE_DISCIPLINE_FIFO
 } Semaphore_Discipline;
 
-RTEMS_INLINE_ROUTINE uintptr_t _Semaphore_Get_flags(
+static inline uintptr_t _Semaphore_Get_flags(
   const Semaphore_Control *the_semaphore
 )
 {
@@ -86,7 +86,7 @@ RTEMS_INLINE_ROUTINE uintptr_t _Semaphore_Get_flags(
   return (uintptr_t) the_semaphore->Object.Node.previous;
 }
 
-RTEMS_INLINE_ROUTINE void _Semaphore_Set_flags(
+static inline void _Semaphore_Set_flags(
   Semaphore_Control *the_semaphore,
   uintptr_t          flags
 )
@@ -95,14 +95,14 @@ RTEMS_INLINE_ROUTINE void _Semaphore_Set_flags(
   the_semaphore->Object.Node.previous = (Chain_Node *) flags;
 }
 
-RTEMS_INLINE_ROUTINE Semaphore_Variant _Semaphore_Get_variant(
+static inline Semaphore_Variant _Semaphore_Get_variant(
   uintptr_t flags
 )
 {
   return (Semaphore_Variant) ( flags & 0x7 );
 }
 
-RTEMS_INLINE_ROUTINE uintptr_t _Semaphore_Set_variant(
+static inline uintptr_t _Semaphore_Set_variant(
   uintptr_t         flags,
   Semaphore_Variant variant
 )
@@ -110,14 +110,14 @@ RTEMS_INLINE_ROUTINE uintptr_t _Semaphore_Set_variant(
   return flags | variant;
 }
 
-RTEMS_INLINE_ROUTINE Semaphore_Discipline _Semaphore_Get_discipline(
+static inline Semaphore_Discipline _Semaphore_Get_discipline(
   uintptr_t flags
 )
 {
   return (Semaphore_Discipline) ( ( flags >> 3 ) & 0x1 );
 }
 
-RTEMS_INLINE_ROUTINE uintptr_t _Semaphore_Set_discipline(
+static inline uintptr_t _Semaphore_Set_discipline(
   uintptr_t            flags,
   Semaphore_Discipline discipline
 )
@@ -126,20 +126,20 @@ RTEMS_INLINE_ROUTINE uintptr_t _Semaphore_Set_discipline(
 }
 
 #if defined(RTEMS_MULTIPROCESSING)
-RTEMS_INLINE_ROUTINE bool _Semaphore_Is_global(
+static inline bool _Semaphore_Is_global(
   uintptr_t flags
 )
 {
   return ( flags & 0x10 ) != 0;
 }
 
-RTEMS_INLINE_ROUTINE uintptr_t _Semaphore_Make_global( uintptr_t flags )
+static inline uintptr_t _Semaphore_Make_global( uintptr_t flags )
 {
   return flags | 0x10;
 }
 #endif
 
-RTEMS_INLINE_ROUTINE const Thread_queue_Operations *_Semaphore_Get_operations(
+static inline const Thread_queue_Operations *_Semaphore_Get_operations(
   uintptr_t flags
 )
 {
@@ -163,7 +163,7 @@ RTEMS_INLINE_ROUTINE const Thread_queue_Operations *_Semaphore_Get_operations(
  *  This function allocates a semaphore control block from
  *  the inactive chain of free semaphore control blocks.
  */
-RTEMS_INLINE_ROUTINE Semaphore_Control *_Semaphore_Allocate( void )
+static inline Semaphore_Control *_Semaphore_Allocate( void )
 {
   return (Semaphore_Control *) _Objects_Allocate( &_Semaphore_Information );
 }
@@ -175,14 +175,14 @@ RTEMS_INLINE_ROUTINE Semaphore_Control *_Semaphore_Allocate( void )
  *  This routine frees a semaphore control block to the
  *  inactive chain of free semaphore control blocks.
  */
-RTEMS_INLINE_ROUTINE void _Semaphore_Free (
+static inline void _Semaphore_Free (
   Semaphore_Control *the_semaphore
 )
 {
   _Objects_Free( &_Semaphore_Information, &the_semaphore->Object );
 }
 
-RTEMS_INLINE_ROUTINE Semaphore_Control *_Semaphore_Get(
+static inline Semaphore_Control *_Semaphore_Get(
   Objects_Id            id,
   Thread_queue_Context *queue_context
 )
diff --git a/cpukit/include/rtems/rtems/semmp.h b/cpukit/include/rtems/rtems/semmp.h
index 888e2aa480..7fbf5c9046 100644
--- a/cpukit/include/rtems/rtems/semmp.h
+++ b/cpukit/include/rtems/rtems/semmp.h
@@ -83,7 +83,7 @@ typedef struct {
   Objects_Id                      proxy_id;
 }   Semaphore_MP_Packet;
 
-RTEMS_INLINE_ROUTINE bool _Semaphore_MP_Is_remote( Objects_Id id )
+static inline bool _Semaphore_MP_Is_remote( Objects_Id id )
 {
   return _Objects_MP_Is_remote( id, &_Semaphore_Information );
 }
diff --git a/cpukit/include/rtems/rtems/statusimpl.h b/cpukit/include/rtems/rtems/statusimpl.h
index 060ec5ae07..2ea12d9f6c 100644
--- a/cpukit/include/rtems/rtems/statusimpl.h
+++ b/cpukit/include/rtems/rtems/statusimpl.h
@@ -63,14 +63,14 @@ extern "C" {
  * @{
  */
 
-RTEMS_INLINE_ROUTINE rtems_status_code _Status_Get(
+static inline rtems_status_code _Status_Get(
   Status_Control status
 )
 {
   return (rtems_status_code) STATUS_GET_CLASSIC( status );
 }
 
-RTEMS_INLINE_ROUTINE rtems_status_code _Status_Get_after_wait(
+static inline rtems_status_code _Status_Get_after_wait(
   const Thread_Control *executing
 )
 {
diff --git a/cpukit/include/rtems/rtems/tasksimpl.h b/cpukit/include/rtems/rtems/tasksimpl.h
index a10fd75acf..8c87cfc93b 100644
--- a/cpukit/include/rtems/rtems/tasksimpl.h
+++ b/cpukit/include/rtems/rtems/tasksimpl.h
@@ -75,7 +75,7 @@ rtems_status_code _RTEMS_tasks_Create(
   RTEMS_tasks_Prepare_stack  prepare_stack
 );
 
-RTEMS_INLINE_ROUTINE Thread_Control *_RTEMS_tasks_Allocate(void)
+static inline Thread_Control *_RTEMS_tasks_Allocate(void)
 {
   _Objects_Allocator_lock();
 
@@ -99,7 +99,7 @@ RTEMS_INLINE_ROUTINE Thread_Control *_RTEMS_tasks_Allocate(void)
  *
  * @return The corresponding SuperCore priority.
  */
-RTEMS_INLINE_ROUTINE Priority_Control _RTEMS_Priority_To_core(
+static inline Priority_Control _RTEMS_Priority_To_core(
   const Scheduler_Control *scheduler,
   rtems_task_priority      priority,
   bool                    *valid
@@ -119,7 +119,7 @@ RTEMS_INLINE_ROUTINE Priority_Control _RTEMS_Priority_To_core(
  *
  * @return The corresponding RTEMS API priority.
  */
-RTEMS_INLINE_ROUTINE rtems_task_priority _RTEMS_Priority_From_core(
+static inline rtems_task_priority _RTEMS_Priority_From_core(
   const Scheduler_Control *scheduler,
   Priority_Control         priority
 )
diff --git a/cpukit/include/rtems/rtems/timerimpl.h b/cpukit/include/rtems/rtems/timerimpl.h
index f74d970e57..8bb95c3be1 100644
--- a/cpukit/include/rtems/rtems/timerimpl.h
+++ b/cpukit/include/rtems/rtems/timerimpl.h
@@ -80,7 +80,7 @@ extern Timer_server_Control *volatile _Timer_server;
  *  This function allocates a timer control block from
  *  the inactive chain of free timer control blocks.
  */
-RTEMS_INLINE_ROUTINE Timer_Control *_Timer_Allocate( void )
+static inline Timer_Control *_Timer_Allocate( void )
 {
   return (Timer_Control *) _Objects_Allocate( &_Timer_Information );
 }
@@ -91,14 +91,14 @@ RTEMS_INLINE_ROUTINE Timer_Control *_Timer_Allocate( void )
  *  This routine frees a timer control block to the
  *  inactive chain of free timer control blocks.
  */
-RTEMS_INLINE_ROUTINE void _Timer_Free (
+static inline void _Timer_Free (
   Timer_Control *the_timer
 )
 {
   _Objects_Free( &_Timer_Information, &the_timer->Object );
 }
 
-RTEMS_INLINE_ROUTINE Timer_Control *_Timer_Get(
+static inline Timer_Control *_Timer_Get(
   Objects_Id         id,
   ISR_lock_Context  *lock_context
 )
@@ -110,7 +110,7 @@ RTEMS_INLINE_ROUTINE Timer_Control *_Timer_Get(
   );
 }
 
-RTEMS_INLINE_ROUTINE Per_CPU_Control *_Timer_Acquire_critical(
+static inline Per_CPU_Control *_Timer_Acquire_critical(
   Timer_Control    *the_timer,
   ISR_lock_Context *lock_context
 )
@@ -123,7 +123,7 @@ RTEMS_INLINE_ROUTINE Per_CPU_Control *_Timer_Acquire_critical(
   return cpu;
 }
 
-RTEMS_INLINE_ROUTINE void _Timer_Release(
+static inline void _Timer_Release(
   Per_CPU_Control  *cpu,
   ISR_lock_Context *lock_context
 )
@@ -132,7 +132,7 @@ RTEMS_INLINE_ROUTINE void _Timer_Release(
   _ISR_lock_ISR_enable( lock_context );
 }
 
-RTEMS_INLINE_ROUTINE bool _Timer_Is_interval_class(
+static inline bool _Timer_Is_interval_class(
   Timer_Classes the_class
 )
 {
@@ -142,7 +142,7 @@ RTEMS_INLINE_ROUTINE bool _Timer_Is_interval_class(
   return ( the_class & mask ) == TIMER_CLASS_BIT_NOT_DORMANT;
 }
 
-RTEMS_INLINE_ROUTINE bool _Timer_Is_on_task_class(
+static inline bool _Timer_Is_on_task_class(
   Timer_Classes the_class
 )
 {
@@ -152,14 +152,14 @@ RTEMS_INLINE_ROUTINE bool _Timer_Is_on_task_class(
   return ( the_class & mask ) == mask;
 }
 
-RTEMS_INLINE_ROUTINE Per_CPU_Watchdog_index _Timer_Watchdog_header_index(
+static inline Per_CPU_Watchdog_index _Timer_Watchdog_header_index(
   Timer_Classes the_class
 )
 {
   return (Per_CPU_Watchdog_index) ( the_class & TIMER_CLASS_BIT_TIME_OF_DAY );
 }
 
-RTEMS_INLINE_ROUTINE Watchdog_Interval _Timer_Get_CPU_ticks(
+static inline Watchdog_Interval _Timer_Get_CPU_ticks(
   const Per_CPU_Control *cpu
 )
 {
@@ -199,7 +199,7 @@ void _Timer_Routine_adaptor( Watchdog_Control *the_watchdog );
 
 void _Timer_server_Routine_adaptor( Watchdog_Control *the_watchdog );
 
-RTEMS_INLINE_ROUTINE void _Timer_server_Acquire_critical(
+static inline void _Timer_server_Acquire_critical(
   Timer_server_Control *timer_server,
   ISR_lock_Context     *lock_context
 )
@@ -207,7 +207,7 @@ RTEMS_INLINE_ROUTINE void _Timer_server_Acquire_critical(
   _ISR_lock_Acquire( &timer_server->Lock, lock_context );
 }
 
-RTEMS_INLINE_ROUTINE void _Timer_server_Release_critical(
+static inline void _Timer_server_Release_critical(
   Timer_server_Control *timer_server,
   ISR_lock_Context     *lock_context
 )
diff --git a/cpukit/include/rtems/score/address.h b/cpukit/include/rtems/score/address.h
index 02e7c5f954..e6a06f5996 100644
--- a/cpukit/include/rtems/score/address.h
+++ b/cpukit/include/rtems/score/address.h
@@ -69,7 +69,7 @@ extern "C" {
  *
  * @return This method returns the resulting address.
  */
-RTEMS_INLINE_ROUTINE void *_Addresses_Add_offset (
+static inline void *_Addresses_Add_offset (
   const void *base,
   uintptr_t   offset
 )
@@ -90,7 +90,7 @@ RTEMS_INLINE_ROUTINE void *_Addresses_Add_offset (
  * @return This method returns the resulting address.
  */
 
-RTEMS_INLINE_ROUTINE void *_Addresses_Subtract_offset (
+static inline void *_Addresses_Subtract_offset (
   const void *base,
   uintptr_t   offset
 )
@@ -109,7 +109,7 @@ RTEMS_INLINE_ROUTINE void *_Addresses_Subtract_offset (
  *
  * @return This method returns the resulting address.
  */
-RTEMS_INLINE_ROUTINE intptr_t _Addresses_Subtract(
+static inline intptr_t _Addresses_Subtract(
   const void *left,
   const void *right
 )
@@ -129,7 +129,7 @@ RTEMS_INLINE_ROUTINE intptr_t _Addresses_Subtract(
  * @retval true The @a address is aligned.
  * @retval false The @a address is not aligned.
  */
-RTEMS_INLINE_ROUTINE bool _Addresses_Is_aligned(
+static inline bool _Addresses_Is_aligned(
   const void *address
 )
 {
@@ -152,7 +152,7 @@ RTEMS_INLINE_ROUTINE bool _Addresses_Is_aligned(
  * @retval true The @a address is within the memory range specified
  * @retval false The @a address is not within the memory range specified.
  */
-RTEMS_INLINE_ROUTINE bool _Addresses_Is_in_range (
+static inline bool _Addresses_Is_in_range (
   const void *address,
   const void *base,
   const void *limit
@@ -174,7 +174,7 @@ RTEMS_INLINE_ROUTINE bool _Addresses_Is_in_range (
  *
  * @return Returns the aligned address.
  */
-RTEMS_INLINE_ROUTINE void *_Addresses_Align_up(
+static inline void *_Addresses_Align_up(
   void *address,
   size_t alignment
 )
@@ -196,7 +196,7 @@ RTEMS_INLINE_ROUTINE void *_Addresses_Align_up(
  *
  * @return Returns the aligned address.
  */
-RTEMS_INLINE_ROUTINE void *_Addresses_Align_down(
+static inline void *_Addresses_Align_down(
   void *address,
   size_t alignment
 )
diff --git a/cpukit/include/rtems/score/chainimpl.h b/cpukit/include/rtems/score/chainimpl.h
index 4b53fa266e..1f0d29cc6d 100644
--- a/cpukit/include/rtems/score/chainimpl.h
+++ b/cpukit/include/rtems/score/chainimpl.h
@@ -121,7 +121,7 @@ size_t _Chain_Node_count_unprotected( const Chain_Control *chain );
  *
  * @param[out] node The node to set off chain.
  */
-RTEMS_INLINE_ROUTINE void _Chain_Set_off_chain(
+static inline void _Chain_Set_off_chain(
   Chain_Node *node
 )
 {
@@ -139,7 +139,7 @@ RTEMS_INLINE_ROUTINE void _Chain_Set_off_chain(
  *
  * @param[out] the_node The chain node to initialize.
  */
-RTEMS_INLINE_ROUTINE void _Chain_Initialize_node( Chain_Node *the_node )
+static inline void _Chain_Initialize_node( Chain_Node *the_node )
 {
 #if defined(RTEMS_DEBUG)
   _Chain_Set_off_chain( the_node );
@@ -159,7 +159,7 @@ RTEMS_INLINE_ROUTINE void _Chain_Initialize_node( Chain_Node *the_node )
  * @retval true The @a node is off chain.
  * @retval false The @a node is not off chain.
  */
-RTEMS_INLINE_ROUTINE bool _Chain_Is_node_off_chain(
+static inline bool _Chain_Is_node_off_chain(
   const Chain_Node *node
 )
 {
@@ -178,7 +178,7 @@ RTEMS_INLINE_ROUTINE bool _Chain_Is_node_off_chain(
  * @retval true @a left and @a right are equal.
  * @retval false @a left and @a right are not equal.
  */
-RTEMS_INLINE_ROUTINE bool _Chain_Are_nodes_equal(
+static inline bool _Chain_Are_nodes_equal(
   const Chain_Node *left,
   const Chain_Node *right
 )
@@ -195,7 +195,7 @@ RTEMS_INLINE_ROUTINE bool _Chain_Are_nodes_equal(
  *
  * @return This method returns the permanent head node of the chain.
  */
-RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Head(
+static inline Chain_Node *_Chain_Head(
   Chain_Control *the_chain
 )
 {
@@ -211,7 +211,7 @@ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Head(
  *
  * @return This method returns the permanent head node of the chain.
  */
-RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_head(
+static inline const Chain_Node *_Chain_Immutable_head(
   const Chain_Control *the_chain
 )
 {
@@ -227,7 +227,7 @@ RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_head(
  *
  * @return This method returns the permanent tail node of the chain.
  */
-RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Tail(
+static inline Chain_Node *_Chain_Tail(
   Chain_Control *the_chain
 )
 {
@@ -243,7 +243,7 @@ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Tail(
  *
  * @return This method returns the permanent tail node of the chain.
  */
-RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_tail(
+static inline const Chain_Node *_Chain_Immutable_tail(
   const Chain_Control *the_chain
 )
 {
@@ -260,7 +260,7 @@ RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_tail(
  *
  * @return This method returns the first node of the chain.
  */
-RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First(
+static inline Chain_Node *_Chain_First(
   const Chain_Control *the_chain
 )
 {
@@ -277,7 +277,7 @@ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First(
  *
  * @return This method returns the first node of the chain.
  */
-RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(
+static inline const Chain_Node *_Chain_Immutable_first(
   const Chain_Control *the_chain
 )
 {
@@ -294,7 +294,7 @@ RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(
  *
  * @return This method returns the last node of the chain.
  */
-RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Last(
+static inline Chain_Node *_Chain_Last(
   const Chain_Control *the_chain
 )
 {
@@ -311,7 +311,7 @@ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Last(
  *
  * @return This method returns the last node of the chain.
  */
-RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_last(
+static inline const Chain_Node *_Chain_Immutable_last(
   const Chain_Control *the_chain
 )
 {
@@ -327,7 +327,7 @@ RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_last(
  *
  * @return This method returns the next node on the chain.
  */
-RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Next(
+static inline Chain_Node *_Chain_Next(
   const Chain_Node *the_node
 )
 {
@@ -343,7 +343,7 @@ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Next(
  *
  * @return This method returns the next node on the chain.
  */
-RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_next(
+static inline const Chain_Node *_Chain_Immutable_next(
   const Chain_Node *the_node
 )
 {
@@ -359,7 +359,7 @@ RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_next(
  *
  * @return This method returns the previous node on the chain.
  */
-RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Previous(
+static inline Chain_Node *_Chain_Previous(
   const Chain_Node *the_node
 )
 {
@@ -375,7 +375,7 @@ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Previous(
  *
  * @return This method returns the previous node on the chain.
  */
-RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_previous(
+static inline const Chain_Node *_Chain_Immutable_previous(
   const Chain_Node *the_node
 )
 {
@@ -393,7 +393,7 @@ RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_previous(
  * @retval true There are no nodes on @a the_chain.
  * @retval false There are nodes on @a the_chain.
  */
-RTEMS_INLINE_ROUTINE bool _Chain_Is_empty(
+static inline bool _Chain_Is_empty(
   const Chain_Control *the_chain
 )
 {
@@ -413,7 +413,7 @@ RTEMS_INLINE_ROUTINE bool _Chain_Is_empty(
  * @retval true @a the_node is the first node on a chain.
  * @retval false @a the_node is not the first node on a chain.
  */
-RTEMS_INLINE_ROUTINE bool _Chain_Is_first(
+static inline bool _Chain_Is_first(
   const Chain_Node *the_node
 )
 {
@@ -432,7 +432,7 @@ RTEMS_INLINE_ROUTINE bool _Chain_Is_first(
  * @retval true @a the_node is the last node on a chain.
  * @retval false @a the_node is not the last node on a chain.
  */
-RTEMS_INLINE_ROUTINE bool _Chain_Is_last(
+static inline bool _Chain_Is_last(
   const Chain_Node *the_node
 )
 {
@@ -450,7 +450,7 @@ RTEMS_INLINE_ROUTINE bool _Chain_Is_last(
  * @retval true There is only one node on @a the_chain.
  * @retval false There is more than one node on @a the_chain.
  */
-RTEMS_INLINE_ROUTINE bool _Chain_Has_only_one_node(
+static inline bool _Chain_Has_only_one_node(
   const Chain_Control *the_chain
 )
 {
@@ -470,7 +470,7 @@ RTEMS_INLINE_ROUTINE bool _Chain_Has_only_one_node(
  * @retval true @a the_node is the head of @a the_chain.
  * @retval false @a the_node is not the head of @a the_chain.
  */
-RTEMS_INLINE_ROUTINE bool _Chain_Is_head(
+static inline bool _Chain_Is_head(
   const Chain_Control *the_chain,
   const Chain_Node    *the_node
 )
@@ -490,7 +490,7 @@ RTEMS_INLINE_ROUTINE bool _Chain_Is_head(
  * @retval true @a the_node is the tail of @a the_chain.
  * @retval false @a the_node is not the tail of @a the_chain.
  */
-RTEMS_INLINE_ROUTINE bool _Chain_Is_tail(
+static inline bool _Chain_Is_tail(
   const Chain_Control *the_chain,
   const Chain_Node    *the_node
 )
@@ -505,7 +505,7 @@ RTEMS_INLINE_ROUTINE bool _Chain_Is_tail(
  *
  * @param[out] the_chain The chain to be initialized.
  */
-RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(
+static inline void _Chain_Initialize_empty(
   Chain_Control *the_chain
 )
 {
@@ -528,7 +528,7 @@ RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(
  * @param[out] the_chain The chain to be initialized to contain exactly the specified node.
  * @param[out] the_node The one and only node of the chain to be initialized.
  */
-RTEMS_INLINE_ROUTINE void _Chain_Initialize_one(
+static inline void _Chain_Initialize_one(
   Chain_Control *the_chain,
   Chain_Node    *the_node
 )
@@ -558,7 +558,7 @@ RTEMS_INLINE_ROUTINE void _Chain_Initialize_one(
  *
  * @param[out] the_node The node to be extracted.
  */
-RTEMS_INLINE_ROUTINE void _Chain_Extract_unprotected(
+static inline void _Chain_Extract_unprotected(
   Chain_Node *the_node
 )
 {
@@ -592,7 +592,7 @@ RTEMS_INLINE_ROUTINE void _Chain_Extract_unprotected(
  * @note This routine assumes that there is at least one node on the chain
  *       and always returns a node even if it is the Chain Tail.
  */
-RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_first_unprotected(
+static inline Chain_Node *_Chain_Get_first_unprotected(
   Chain_Control *the_chain
 )
 {
@@ -630,7 +630,7 @@ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_first_unprotected(
  * @note It does NOT disable interrupts to ensure the atomicity of the
  *       get operation.
  */
-RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_unprotected(
+static inline Chain_Node *_Chain_Get_unprotected(
   Chain_Control *the_chain
 )
 {
@@ -653,7 +653,7 @@ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_unprotected(
  * @note It does NOT disable interrupts to ensure the atomicity
  *       of the extract operation.
  */
-RTEMS_INLINE_ROUTINE void _Chain_Insert_unprotected(
+static inline void _Chain_Insert_unprotected(
   Chain_Node *after_node,
   Chain_Node *the_node
 )
@@ -680,7 +680,7 @@ RTEMS_INLINE_ROUTINE void _Chain_Insert_unprotected(
  * @note It does NOT disable interrupts to ensure the atomicity of the
  *       append operation.
  */
-RTEMS_INLINE_ROUTINE void _Chain_Append_unprotected(
+static inline void _Chain_Append_unprotected(
   Chain_Control *the_chain,
   Chain_Node    *the_node
 )
@@ -711,7 +711,7 @@ RTEMS_INLINE_ROUTINE void _Chain_Append_unprotected(
  *
  * @see _Chain_Append_unprotected() and _Chain_Is_node_off_chain().
  */
-RTEMS_INLINE_ROUTINE void _Chain_Append_if_is_off_chain_unprotected(
+static inline void _Chain_Append_if_is_off_chain_unprotected(
   Chain_Control *the_chain,
   Chain_Node    *the_node
 )
@@ -732,7 +732,7 @@ RTEMS_INLINE_ROUTINE void _Chain_Append_if_is_off_chain_unprotected(
  * @note It does NOT disable interrupts to ensure the atomicity of the
  *       prepend operation.
  */
-RTEMS_INLINE_ROUTINE void _Chain_Prepend_unprotected(
+static inline void _Chain_Prepend_unprotected(
   Chain_Control *the_chain,
   Chain_Node    *the_node
 )
@@ -754,7 +754,7 @@ RTEMS_INLINE_ROUTINE void _Chain_Prepend_unprotected(
  * @retval true The chain was empty before.
  * @retval false The chain contained at least one node before.
  */
-RTEMS_INLINE_ROUTINE bool _Chain_Append_with_empty_check_unprotected(
+static inline bool _Chain_Append_with_empty_check_unprotected(
   Chain_Control *the_chain,
   Chain_Node    *the_node
 )
@@ -780,7 +780,7 @@ RTEMS_INLINE_ROUTINE bool _Chain_Append_with_empty_check_unprotected(
  * @retval true The chain was empty before.
  * @retval false The chain contained at least one node before.
  */
-RTEMS_INLINE_ROUTINE bool _Chain_Prepend_with_empty_check_unprotected(
+static inline bool _Chain_Prepend_with_empty_check_unprotected(
   Chain_Control *the_chain,
   Chain_Node    *the_node
 )
@@ -810,7 +810,7 @@ RTEMS_INLINE_ROUTINE bool _Chain_Prepend_with_empty_check_unprotected(
  * @retval true The chain is empty now.
  * @retval false The chain contains at least one node now.
  */
-RTEMS_INLINE_ROUTINE bool _Chain_Get_with_empty_check_unprotected(
+static inline bool _Chain_Get_with_empty_check_unprotected(
   Chain_Control *the_chain,
   Chain_Node **the_node
 )
@@ -865,7 +865,7 @@ typedef bool ( *Chain_Node_order )(
  *   variable.
  * @param order The order relation.
  */
-RTEMS_INLINE_ROUTINE void _Chain_Insert_ordered_unprotected(
+static inline void _Chain_Insert_ordered_unprotected(
   Chain_Control    *the_chain,
   Chain_Node       *to_insert,
   const void       *key,
@@ -954,7 +954,7 @@ typedef struct {
  *
  * @param[out] the_registry The chain iterator registry to be initialized.
  */
-RTEMS_INLINE_ROUTINE void _Chain_Iterator_registry_initialize(
+static inline void _Chain_Iterator_registry_initialize(
   Chain_Iterator_registry *the_registry
 )
 {
@@ -973,7 +973,7 @@ RTEMS_INLINE_ROUTINE void _Chain_Iterator_registry_initialize(
  * @param[in, out] the_registry the chain iterator registry.
  * @param[out] the_node_to_extract The node that will be extracted.
  */
-RTEMS_INLINE_ROUTINE void _Chain_Iterator_registry_update(
+static inline void _Chain_Iterator_registry_update(
   Chain_Iterator_registry *the_registry,
   Chain_Node              *the_node_to_extract
 )
@@ -1060,7 +1060,7 @@ RTEMS_INLINE_ROUTINE void _Chain_Iterator_registry_update(
  *   implementation is unfit for use in performance relevant components, due to
  *   the linear time complexity in _Chain_Iterator_registry_update().
  */
-RTEMS_INLINE_ROUTINE void _Chain_Iterator_initialize(
+static inline void _Chain_Iterator_initialize(
   Chain_Control            *the_chain,
   Chain_Iterator_registry  *the_registry,
   Chain_Iterator           *the_iterator,
@@ -1092,7 +1092,7 @@ RTEMS_INLINE_ROUTINE void _Chain_Iterator_initialize(
  *
  * @return The next node in the iterator direction
  */
-RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Iterator_next(
+static inline Chain_Node *_Chain_Iterator_next(
   const Chain_Iterator *the_iterator
 )
 {
@@ -1109,7 +1109,7 @@ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Iterator_next(
  * @param[out] the_iterator The chain iterator.
  * @param[out] the_node The new iterator position.
  */
-RTEMS_INLINE_ROUTINE void _Chain_Iterator_set_position(
+static inline void _Chain_Iterator_set_position(
   Chain_Iterator *the_iterator,
   Chain_Node     *the_node
 )
@@ -1124,7 +1124,7 @@ RTEMS_INLINE_ROUTINE void _Chain_Iterator_set_position(
  *
  * @param[out] the_iterator The chain iterator.
  */
-RTEMS_INLINE_ROUTINE void _Chain_Iterator_destroy(
+static inline void _Chain_Iterator_destroy(
   Chain_Iterator *the_iterator
 )
 {
diff --git a/cpukit/include/rtems/score/corebarrierimpl.h b/cpukit/include/rtems/score/corebarrierimpl.h
index 707d9cb3aa..b58bc44b4c 100644
--- a/cpukit/include/rtems/score/corebarrierimpl.h
+++ b/cpukit/include/rtems/score/corebarrierimpl.h
@@ -89,7 +89,7 @@ void _CORE_barrier_Initialize(
  *
  * @param[out] the_barrier The barrier to destroy.
  */
-RTEMS_INLINE_ROUTINE void _CORE_barrier_Destroy(
+static inline void _CORE_barrier_Destroy(
   CORE_barrier_Control *the_barrier
 )
 {
@@ -102,7 +102,7 @@ RTEMS_INLINE_ROUTINE void _CORE_barrier_Destroy(
  * @param[in, out] the_barrier The barrier to acquire.
  * @param queue_context The thread queue context.
  */
-RTEMS_INLINE_ROUTINE void _CORE_barrier_Acquire_critical(
+static inline void _CORE_barrier_Acquire_critical(
   CORE_barrier_Control *the_barrier,
   Thread_queue_Context *queue_context
 )
@@ -116,7 +116,7 @@ RTEMS_INLINE_ROUTINE void _CORE_barrier_Acquire_critical(
  * @param[in, out] the_barrier The barrier to release.
  * @param queue_context The thread queue context.
  */
-RTEMS_INLINE_ROUTINE void _CORE_barrier_Release(
+static inline void _CORE_barrier_Release(
   CORE_barrier_Control *the_barrier,
   Thread_queue_Context *queue_context
 )
@@ -157,7 +157,7 @@ Status_Control _CORE_barrier_Seize(
  *
  * @return The number of unblocked threads.
  */
-RTEMS_INLINE_ROUTINE uint32_t _CORE_barrier_Surrender(
+static inline uint32_t _CORE_barrier_Surrender(
   CORE_barrier_Control *the_barrier,
   Thread_queue_Context *queue_context
 )
@@ -176,7 +176,7 @@ RTEMS_INLINE_ROUTINE uint32_t _CORE_barrier_Surrender(
  * @param[in, out] the_barrier The barrier to flush.
  * @param queue_context The thread queue context.
  */
-RTEMS_INLINE_ROUTINE void _CORE_barrier_Flush(
+static inline void _CORE_barrier_Flush(
   CORE_barrier_Control *the_barrier,
   Thread_queue_Context *queue_context
 )
diff --git a/cpukit/include/rtems/score/coremsgimpl.h b/cpukit/include/rtems/score/coremsgimpl.h
index fff3f3e159..8ed5719e04 100644
--- a/cpukit/include/rtems/score/coremsgimpl.h
+++ b/cpukit/include/rtems/score/coremsgimpl.h
@@ -372,7 +372,7 @@ void _CORE_message_queue_Insert_message(
  * @retval STATUS_MESSAGE_QUEUE_WAIT_IN_ISR The caller is in an ISR, do not block!
  * @retval STATUS_TIMEOUT A timeout occurred.
  */
-RTEMS_INLINE_ROUTINE Status_Control _CORE_message_queue_Send(
+static inline Status_Control _CORE_message_queue_Send(
   CORE_message_queue_Control       *the_message_queue,
   const void                       *buffer,
   size_t                            size,
@@ -408,7 +408,7 @@ RTEMS_INLINE_ROUTINE Status_Control _CORE_message_queue_Send(
  * @retval STATUS_MESSAGE_QUEUE_WAIT_IN_ISR The caller is in an ISR, do not block!
  * @retval STATUS_TIMEOUT A timeout occurred.
  */
-RTEMS_INLINE_ROUTINE Status_Control _CORE_message_queue_Urgent(
+static inline Status_Control _CORE_message_queue_Urgent(
   CORE_message_queue_Control       *the_message_queue,
   const void                       *buffer,
   size_t                            size,
@@ -433,7 +433,7 @@ RTEMS_INLINE_ROUTINE Status_Control _CORE_message_queue_Urgent(
  * @param[in, out] the_message_queue Rhe message queue to acquire.
  * @param queue_context The thread queue context.
  */
-RTEMS_INLINE_ROUTINE void _CORE_message_queue_Acquire(
+static inline void _CORE_message_queue_Acquire(
   CORE_message_queue_Control *the_message_queue,
   Thread_queue_Context       *queue_context
 )
@@ -447,7 +447,7 @@ RTEMS_INLINE_ROUTINE void _CORE_message_queue_Acquire(
  * @param[in, out] the_message_queue The message queue to acquire critical.
  * @param queue_context The thread queue context.
  */
-RTEMS_INLINE_ROUTINE void _CORE_message_queue_Acquire_critical(
+static inline void _CORE_message_queue_Acquire_critical(
   CORE_message_queue_Control *the_message_queue,
   Thread_queue_Context       *queue_context
 )
@@ -461,7 +461,7 @@ RTEMS_INLINE_ROUTINE void _CORE_message_queue_Acquire_critical(
  * @param[in, out] the_message_queue The message queue to release.
  * @param queue_context The thread queue context.
  */
-RTEMS_INLINE_ROUTINE void _CORE_message_queue_Release(
+static inline void _CORE_message_queue_Release(
   CORE_message_queue_Control *the_message_queue,
   Thread_queue_Context       *queue_context
 )
@@ -479,7 +479,7 @@ RTEMS_INLINE_ROUTINE void _CORE_message_queue_Release(
  * @param[out] destination The destination messag buffer to copy the source to.
  * @param size The size of the source buffer.
  */
-RTEMS_INLINE_ROUTINE void _CORE_message_queue_Copy_buffer (
+static inline void _CORE_message_queue_Copy_buffer (
   const void *source,
   void       *destination,
   size_t      size
@@ -499,7 +499,7 @@ RTEMS_INLINE_ROUTINE void _CORE_message_queue_Copy_buffer (
  * @retval pointer The allocated message buffer.
  * @retval NULL The inactive message buffer chain is empty.
  */
-RTEMS_INLINE_ROUTINE CORE_message_queue_Buffer *
+static inline CORE_message_queue_Buffer *
 _CORE_message_queue_Allocate_message_buffer (
     CORE_message_queue_Control *the_message_queue
 )
@@ -517,7 +517,7 @@ _CORE_message_queue_Allocate_message_buffer (
  * @param[in, out] the_message_queue The message queue to free the message buffer to.
  * @param[out] the_message The message to be freed.
  */
-RTEMS_INLINE_ROUTINE void _CORE_message_queue_Free_message_buffer (
+static inline void _CORE_message_queue_Free_message_buffer (
   CORE_message_queue_Control *the_message_queue,
   CORE_message_queue_Buffer  *the_message
 )
@@ -538,7 +538,7 @@ RTEMS_INLINE_ROUTINE void _CORE_message_queue_Free_message_buffer (
  * @note It encapsulates the optional behavior that message priority is
  *       disabled if no API requires it.
  */
-RTEMS_INLINE_ROUTINE int _CORE_message_queue_Get_message_priority (
+static inline int _CORE_message_queue_Get_message_priority (
   const CORE_message_queue_Buffer *the_message
 )
 {
@@ -560,7 +560,7 @@ RTEMS_INLINE_ROUTINE int _CORE_message_queue_Get_message_priority (
  * @retval pointer The first message if the message queue is not empty.
  * @retval NULL The message queue is empty.
  */
-RTEMS_INLINE_ROUTINE
+static inline
   CORE_message_queue_Buffer *_CORE_message_queue_Get_pending_message (
   CORE_message_queue_Control *the_message_queue
 )
@@ -581,7 +581,7 @@ RTEMS_INLINE_ROUTINE
    * @retval true Notification is enabled on this message queue.
    * @retval false Notification is not enabled on this message queue.
    */
-  RTEMS_INLINE_ROUTINE bool _CORE_message_queue_Is_notify_enabled (
+  static inline bool _CORE_message_queue_Is_notify_enabled (
     CORE_message_queue_Control *the_message_queue
   )
   {
@@ -599,7 +599,7 @@ RTEMS_INLINE_ROUTINE
  * @param[out] the_handler The notification information for the message queue.
  */
 #if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION)
-  RTEMS_INLINE_ROUTINE void _CORE_message_queue_Set_notify (
+  static inline void _CORE_message_queue_Set_notify (
     CORE_message_queue_Control        *the_message_queue,
     CORE_message_queue_Notify_Handler  the_handler
   )
@@ -627,7 +627,7 @@ RTEMS_INLINE_ROUTINE
  * @retval thread The Thread_Control for the first locked thread, if there is a locked thread.
  * @retval NULL There are pending messages or no thread waiting to receive.
  */
-RTEMS_INLINE_ROUTINE Thread_Control *_CORE_message_queue_Dequeue_receiver(
+static inline Thread_Control *_CORE_message_queue_Dequeue_receiver(
   CORE_message_queue_Control      *the_message_queue,
   const void                      *buffer,
   size_t                           size,
diff --git a/cpukit/include/rtems/score/coremuteximpl.h b/cpukit/include/rtems/score/coremuteximpl.h
index d489a0d946..bcdd1adceb 100644
--- a/cpukit/include/rtems/score/coremuteximpl.h
+++ b/cpukit/include/rtems/score/coremuteximpl.h
@@ -65,7 +65,7 @@ extern "C" {
  *
  * @param[out] the_mutex The mutex to initialize.
  */
-RTEMS_INLINE_ROUTINE void _CORE_mutex_Initialize(
+static inline void _CORE_mutex_Initialize(
   CORE_mutex_Control *the_mutex
 )
 {
@@ -77,7 +77,7 @@ RTEMS_INLINE_ROUTINE void _CORE_mutex_Initialize(
  *
  * @param[out] the_mutex the mutex to destroy.
  */
-RTEMS_INLINE_ROUTINE void _CORE_mutex_Destroy( CORE_mutex_Control *the_mutex )
+static inline void _CORE_mutex_Destroy( CORE_mutex_Control *the_mutex )
 {
   _Thread_queue_Destroy( &the_mutex->Wait_queue );
 }
@@ -88,7 +88,7 @@ RTEMS_INLINE_ROUTINE void _CORE_mutex_Destroy( CORE_mutex_Control *the_mutex )
  * @param[in, out] the_mutex The mutex to acquire critical.
  * @param queue_context The queue context.
  */
-RTEMS_INLINE_ROUTINE void _CORE_mutex_Acquire_critical(
+static inline void _CORE_mutex_Acquire_critical(
   CORE_mutex_Control   *the_mutex,
   Thread_queue_Context *queue_context
 )
@@ -102,7 +102,7 @@ RTEMS_INLINE_ROUTINE void _CORE_mutex_Acquire_critical(
  * @param[in, out] the_mutex The mutex to release.
  * @param queue_context The queue context.
  */
-RTEMS_INLINE_ROUTINE void _CORE_mutex_Release(
+static inline void _CORE_mutex_Release(
   CORE_mutex_Control   *the_mutex,
   Thread_queue_Context *queue_context
 )
@@ -117,7 +117,7 @@ RTEMS_INLINE_ROUTINE void _CORE_mutex_Release(
  *
  * @return The owner of the mutex.
  */
-RTEMS_INLINE_ROUTINE Thread_Control *_CORE_mutex_Get_owner(
+static inline Thread_Control *_CORE_mutex_Get_owner(
   const CORE_mutex_Control *the_mutex
 )
 {
@@ -135,7 +135,7 @@ RTEMS_INLINE_ROUTINE Thread_Control *_CORE_mutex_Get_owner(
  * @retval true The mutex is locked.
  * @retval false The mutex is not locked.
  */
-RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_locked(
+static inline bool _CORE_mutex_Is_locked(
   const CORE_mutex_Control *the_mutex
 )
 {
@@ -168,7 +168,7 @@ Status_Control _CORE_mutex_Seize_slow(
  * @param[out] the_mutex The mutex to set the owner from.
  * @param owner The new owner of the mutex.
  */
-RTEMS_INLINE_ROUTINE void _CORE_mutex_Set_owner(
+static inline void _CORE_mutex_Set_owner(
   CORE_mutex_Control *the_mutex,
   Thread_Control     *owner
 )
@@ -185,7 +185,7 @@ RTEMS_INLINE_ROUTINE void _CORE_mutex_Set_owner(
  * @retval true @a the_thread is the owner of @a the_mutex.
  * @retval false @a the_thread is not the owner of @a the_mutex.
  */
-RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_owner(
+static inline bool _CORE_mutex_Is_owner(
   const CORE_mutex_Control *the_mutex,
   const Thread_Control     *the_thread
 )
@@ -198,7 +198,7 @@ RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_owner(
  *
  * @param[out] the_mutex The recursive mutex to initialize.
  */
-RTEMS_INLINE_ROUTINE void _CORE_recursive_mutex_Initialize(
+static inline void _CORE_recursive_mutex_Initialize(
   CORE_recursive_mutex_Control *the_mutex
 )
 {
@@ -213,7 +213,7 @@ RTEMS_INLINE_ROUTINE void _CORE_recursive_mutex_Initialize(
  *
  * @return STATUS_SUCCESSFUL, this method is always successful.
  */
-RTEMS_INLINE_ROUTINE Status_Control _CORE_recursive_mutex_Seize_nested(
+static inline Status_Control _CORE_recursive_mutex_Seize_nested(
   CORE_recursive_mutex_Control *the_mutex
 )
 {
@@ -236,7 +236,7 @@ RTEMS_INLINE_ROUTINE Status_Control _CORE_recursive_mutex_Seize_nested(
  * @retval _Thread_Wait_get_status The status of the executing thread.
  * @retval STATUS_UNAVAILABLE The calling thread is not willing to wait.
  */
-RTEMS_INLINE_ROUTINE Status_Control _CORE_recursive_mutex_Seize(
+static inline Status_Control _CORE_recursive_mutex_Seize(
   CORE_recursive_mutex_Control  *the_mutex,
   const Thread_queue_Operations *operations,
   Thread_Control                *executing,
@@ -286,7 +286,7 @@ RTEMS_INLINE_ROUTINE Status_Control _CORE_recursive_mutex_Seize(
  * @retval STATUS_SUCCESSFUL @a the_mutex is successfully surrendered.
  * @retval STATUS_NOT_OWNER The executing thread does not own @a the_mutex.
  */
-RTEMS_INLINE_ROUTINE Status_Control _CORE_recursive_mutex_Surrender(
+static inline Status_Control _CORE_recursive_mutex_Surrender(
   CORE_recursive_mutex_Control  *the_mutex,
   const Thread_queue_Operations *operations,
   Thread_Control                *executing,
@@ -339,7 +339,7 @@ RTEMS_INLINE_ROUTINE Status_Control _CORE_recursive_mutex_Surrender(
  *      Only needed if RTEMS_SMP is defined
  * @param priority_ceiling The priority ceiling for the initialized mutex.
  */
-RTEMS_INLINE_ROUTINE void _CORE_ceiling_mutex_Initialize(
+static inline void _CORE_ceiling_mutex_Initialize(
   CORE_ceiling_mutex_Control *the_mutex,
   const Scheduler_Control    *scheduler,
   Priority_Control            priority_ceiling
@@ -359,7 +359,7 @@ RTEMS_INLINE_ROUTINE void _CORE_ceiling_mutex_Initialize(
  *
  * @return The scheduler of the mutex. If RTEMS_SMP is not defined, the first entry of the _Scheduler_Table is returned.
  */
-RTEMS_INLINE_ROUTINE const Scheduler_Control *
+static inline const Scheduler_Control *
 _CORE_ceiling_mutex_Get_scheduler(
   const CORE_ceiling_mutex_Control *the_mutex
 )
@@ -377,7 +377,7 @@ _CORE_ceiling_mutex_Get_scheduler(
  * @param[out] the_mutex The ceiling mutex to set the priority of.
  * @param priority_ceiling The new priority ceiling of the mutex.
  */
-RTEMS_INLINE_ROUTINE void _CORE_ceiling_mutex_Set_priority(
+static inline void _CORE_ceiling_mutex_Set_priority(
   CORE_ceiling_mutex_Control *the_mutex,
   Priority_Control            priority_ceiling
 )
@@ -412,7 +412,7 @@ RTEMS_INLINE_ROUTINE void _CORE_ceiling_mutex_Set_priority(
  *
  * @return The priority ceiling of @a the_mutex.
  */
-RTEMS_INLINE_ROUTINE Priority_Control _CORE_ceiling_mutex_Get_priority(
+static inline Priority_Control _CORE_ceiling_mutex_Get_priority(
   const CORE_ceiling_mutex_Control *the_mutex
 )
 {
@@ -430,7 +430,7 @@ RTEMS_INLINE_ROUTINE Priority_Control _CORE_ceiling_mutex_Get_priority(
  * @retval STATUS_MUTEX_CEILING_VIOLATED The owners wait priority
  *          is smaller than the priority of the ceiling mutex.
  */
-RTEMS_INLINE_ROUTINE Status_Control _CORE_ceiling_mutex_Set_owner(
+static inline Status_Control _CORE_ceiling_mutex_Set_owner(
   CORE_ceiling_mutex_Control *the_mutex,
   Thread_Control             *owner,
   Thread_queue_Context       *queue_context
@@ -484,7 +484,7 @@ RTEMS_INLINE_ROUTINE Status_Control _CORE_ceiling_mutex_Set_owner(
  *          is smaller than the priority of the ceiling mutex.
  * @retval other Return value of @a nested.
  */
-RTEMS_INLINE_ROUTINE Status_Control _CORE_ceiling_mutex_Seize(
+static inline Status_Control _CORE_ceiling_mutex_Seize(
   CORE_ceiling_mutex_Control    *the_mutex,
   Thread_Control                *executing,
   bool                           wait,
@@ -544,7 +544,7 @@ RTEMS_INLINE_ROUTINE Status_Control _CORE_ceiling_mutex_Seize(
  * @retval STATUS_SUCCESSFUL The ceiling mutex was successfullysurrendered.
  * @retval STATUS_NOT_OWNER The executing thread is not the owner of @a the_mutex.
  */
-RTEMS_INLINE_ROUTINE Status_Control _CORE_ceiling_mutex_Surrender(
+static inline Status_Control _CORE_ceiling_mutex_Surrender(
   CORE_ceiling_mutex_Control *the_mutex,
   Thread_Control             *executing,
   Thread_queue_Context       *queue_context
diff --git a/cpukit/include/rtems/score/corerwlockimpl.h b/cpukit/include/rtems/score/corerwlockimpl.h
index d59abd6f81..0cb2965199 100644
--- a/cpukit/include/rtems/score/corerwlockimpl.h
+++ b/cpukit/include/rtems/score/corerwlockimpl.h
@@ -124,7 +124,7 @@ void _CORE_RWLock_Initialize(
  *
  * @param[out] the_rwlock is the RWLock to destroy.
  */
-RTEMS_INLINE_ROUTINE void _CORE_RWLock_Destroy(
+static inline void _CORE_RWLock_Destroy(
   CORE_RWLock_Control *the_rwlock
 )
 {
@@ -139,7 +139,7 @@ RTEMS_INLINE_ROUTINE void _CORE_RWLock_Destroy(
  *
  * @return The executing thread.
  */
-RTEMS_INLINE_ROUTINE Thread_Control *_CORE_RWLock_Acquire(
+static inline Thread_Control *_CORE_RWLock_Acquire(
   CORE_RWLock_Control  *the_rwlock,
   Thread_queue_Context *queue_context
 )
@@ -165,7 +165,7 @@ RTEMS_INLINE_ROUTINE Thread_Control *_CORE_RWLock_Acquire(
  * @param[in, out] the_rwlock The RWlock to release.
  * @param queue_context The thread queue context.
  */
-RTEMS_INLINE_ROUTINE void _CORE_RWLock_Release(
+static inline void _CORE_RWLock_Release(
   CORE_RWLock_Control  *the_rwlock,
   Thread_queue_Context *queue_context
 )
diff --git a/cpukit/include/rtems/score/coresemimpl.h b/cpukit/include/rtems/score/coresemimpl.h
index f7168d6f63..ca952a4570 100644
--- a/cpukit/include/rtems/score/coresemimpl.h
+++ b/cpukit/include/rtems/score/coresemimpl.h
@@ -81,7 +81,7 @@ void _CORE_semaphore_Initialize(
  * @param[in, out] the_semaphore The semaphore to acquire.
  * @param queue_context The thread queue context.
  */
-RTEMS_INLINE_ROUTINE void _CORE_semaphore_Acquire_critical(
+static inline void _CORE_semaphore_Acquire_critical(
   CORE_semaphore_Control *the_semaphore,
   Thread_queue_Context   *queue_context
 )
@@ -97,7 +97,7 @@ RTEMS_INLINE_ROUTINE void _CORE_semaphore_Acquire_critical(
  * @param[in, out] the_semaphore The semaphore to release.
  * @param queue_context The thread queue context.
  */
-RTEMS_INLINE_ROUTINE void _CORE_semaphore_Release(
+static inline void _CORE_semaphore_Release(
   CORE_semaphore_Control *the_semaphore,
   Thread_queue_Context   *queue_context
 )
@@ -114,7 +114,7 @@ RTEMS_INLINE_ROUTINE void _CORE_semaphore_Release(
  * @param operations The thread queue operations.
  * @param queue_context The thread queue context.
  */
-RTEMS_INLINE_ROUTINE void _CORE_semaphore_Destroy(
+static inline void _CORE_semaphore_Destroy(
   CORE_semaphore_Control        *the_semaphore,
   const Thread_queue_Operations *operations,
   Thread_queue_Context          *queue_context
@@ -145,7 +145,7 @@ RTEMS_INLINE_ROUTINE void _CORE_semaphore_Destroy(
  * @retval STATUS_SUCCESSFUL The unit was successfully freed to the semaphore.
  * @retval STATUS_MAXIMUM_COUNT_EXCEEDED The maximum number of units was exceeded.
  */
-RTEMS_INLINE_ROUTINE Status_Control _CORE_semaphore_Surrender(
+static inline Status_Control _CORE_semaphore_Surrender(
   CORE_semaphore_Control        *the_semaphore,
   const Thread_queue_Operations *operations,
   uint32_t                       maximum_count,
@@ -187,7 +187,7 @@ RTEMS_INLINE_ROUTINE Status_Control _CORE_semaphore_Surrender(
  *
  * @return the current count of this semaphore.
  */
-RTEMS_INLINE_ROUTINE uint32_t  _CORE_semaphore_Get_count(
+static inline uint32_t  _CORE_semaphore_Get_count(
   const CORE_semaphore_Control *the_semaphore
 )
 {
@@ -214,7 +214,7 @@ RTEMS_INLINE_ROUTINE uint32_t  _CORE_semaphore_Get_count(
  *      calling thread not willing to wait.
  * @retval STATUS_TIMEOUT A timeout occurred.
  */
-RTEMS_INLINE_ROUTINE Status_Control _CORE_semaphore_Seize(
+static inline Status_Control _CORE_semaphore_Seize(
   CORE_semaphore_Control        *the_semaphore,
   const Thread_queue_Operations *operations,
   Thread_Control                *executing,
diff --git a/cpukit/include/rtems/score/freechainimpl.h b/cpukit/include/rtems/score/freechainimpl.h
index 8eeebcc728..3f02472961 100644
--- a/cpukit/include/rtems/score/freechainimpl.h
+++ b/cpukit/include/rtems/score/freechainimpl.h
@@ -68,7 +68,7 @@ typedef void *( *Freechain_Allocator )( size_t size );
  * @param number_nodes The initial number of nodes.
  * @param node_size The node size.
  */
-RTEMS_INLINE_ROUTINE void _Freechain_Initialize(
+static inline void _Freechain_Initialize(
   Freechain_Control   *freechain,
   void                *initial_nodes,
   size_t               number_nodes,
@@ -88,7 +88,7 @@ RTEMS_INLINE_ROUTINE void _Freechain_Initialize(
  *
  * @param freechain The freechain control.
  */
-RTEMS_INLINE_ROUTINE bool _Freechain_Is_empty(
+static inline bool _Freechain_Is_empty(
   const Freechain_Control *freechain
 )
 {
@@ -102,7 +102,7 @@ RTEMS_INLINE_ROUTINE bool _Freechain_Is_empty(
  *
  * @param freechain The freechain control.
  */
-RTEMS_INLINE_ROUTINE void *_Freechain_Pop( Freechain_Control *freechain )
+static inline void *_Freechain_Pop( Freechain_Control *freechain )
 {
   return _Chain_Get_first_unprotected( &freechain->Free );
 }
@@ -113,7 +113,7 @@ RTEMS_INLINE_ROUTINE void *_Freechain_Pop( Freechain_Control *freechain )
  * @param freechain The freechain control.
  * @param node The node to push back.  The node shall not be @c NULL.
  */
-void RTEMS_INLINE_ROUTINE _Freechain_Push(
+void static inline _Freechain_Push(
   Freechain_Control *freechain,
   void              *node
 )
diff --git a/cpukit/include/rtems/score/hash.h b/cpukit/include/rtems/score/hash.h
index c6f9ebf463..06c88c6948 100644
--- a/cpukit/include/rtems/score/hash.h
+++ b/cpukit/include/rtems/score/hash.h
@@ -84,7 +84,7 @@ typedef struct {
  *
  * @return Returns the hash value as a NUL-terminated string.
  */
-RTEMS_INLINE_ROUTINE const char *_Hash_Get_string( const Hash_Control *hash )
+static inline const char *_Hash_Get_string( const Hash_Control *hash )
 {
   return &hash->chars[ 0 ];
 }
@@ -114,7 +114,7 @@ typedef struct {
  *
  * @param[out] context is the hash context to initialize.
  */
-RTEMS_INLINE_ROUTINE void _Hash_Initialize( Hash_Context *context )
+static inline void _Hash_Initialize( Hash_Context *context )
 {
   SHA256_Init( &context->Context );
 }
@@ -128,7 +128,7 @@ RTEMS_INLINE_ROUTINE void _Hash_Initialize( Hash_Context *context )
  *
  * @param size is the size of the data in bytes.
  */
-RTEMS_INLINE_ROUTINE void _Hash_Add_data(
+static inline void _Hash_Add_data(
   Hash_Context *context,
   const void   *begin,
   size_t        size
@@ -144,7 +144,7 @@ RTEMS_INLINE_ROUTINE void _Hash_Add_data(
  *
  * @param str is the string to add.
  */
-RTEMS_INLINE_ROUTINE void _Hash_Add_string(
+static inline void _Hash_Add_string(
   Hash_Context *context,
   const char   *str
 )
diff --git a/cpukit/include/rtems/score/heap.h b/cpukit/include/rtems/score/heap.h
index 963c31d4aa..8777e8b548 100644
--- a/cpukit/include/rtems/score/heap.h
+++ b/cpukit/include/rtems/score/heap.h
@@ -431,7 +431,7 @@ uintptr_t _Heap_No_extend(
  *
  * @return The @a value aligned to the given @a alignment, rounded up.
  */
-RTEMS_INLINE_ROUTINE uintptr_t _Heap_Align_up(
+static inline uintptr_t _Heap_Align_up(
   uintptr_t value,
   uintptr_t alignment
 )
@@ -452,7 +452,7 @@ RTEMS_INLINE_ROUTINE uintptr_t _Heap_Align_up(
  *
  * @return The minimal Heap Block size for the given @a page_size.
  */
-RTEMS_INLINE_ROUTINE uintptr_t _Heap_Min_block_size( uintptr_t page_size )
+static inline uintptr_t _Heap_Min_block_size( uintptr_t page_size )
 {
   return _Heap_Align_up( sizeof( Heap_Block ), page_size );
 }
@@ -464,7 +464,7 @@ RTEMS_INLINE_ROUTINE uintptr_t _Heap_Min_block_size( uintptr_t page_size )
  *
  * @return The worst case overhead to manage a memory area.
  */
-RTEMS_INLINE_ROUTINE uintptr_t _Heap_Area_overhead(
+static inline uintptr_t _Heap_Area_overhead(
   uintptr_t page_size
 )
 {
@@ -493,7 +493,7 @@ RTEMS_INLINE_ROUTINE uintptr_t _Heap_Area_overhead(
  *
  * @return The size with administration and alignment overhead for one allocation.
  */
-RTEMS_INLINE_ROUTINE uintptr_t _Heap_Size_with_overhead(
+static inline uintptr_t _Heap_Size_with_overhead(
   uintptr_t page_size,
   uintptr_t size,
   uintptr_t alignment
diff --git a/cpukit/include/rtems/score/heapimpl.h b/cpukit/include/rtems/score/heapimpl.h
index 2b1ef21c83..91326c6577 100644
--- a/cpukit/include/rtems/score/heapimpl.h
+++ b/cpukit/include/rtems/score/heapimpl.h
@@ -156,7 +156,7 @@ void *_Heap_Allocate_aligned_with_boundary(
  * @retval pointer The starting address of the allocated memory area.
  * @retval NULL No memory is available of the parameters are inconsistent.
  */
-RTEMS_INLINE_ROUTINE void *_Heap_Allocate_aligned(
+static inline void *_Heap_Allocate_aligned(
   Heap_Control *heap,
   uintptr_t size,
   uintptr_t alignment
@@ -177,7 +177,7 @@ RTEMS_INLINE_ROUTINE void *_Heap_Allocate_aligned(
  * @retval pointer The starting address of the allocated memory area.
  * @retval NULL No memory is available of the parameters are inconsistent.
  */
-RTEMS_INLINE_ROUTINE void *_Heap_Allocate( Heap_Control *heap, uintptr_t size )
+static inline void *_Heap_Allocate( Heap_Control *heap, uintptr_t size )
 {
   return _Heap_Allocate_aligned_with_boundary( heap, size, 0, 0 );
 }
@@ -440,7 +440,7 @@ Heap_Block *_Heap_Block_allocate(
  * @param[in, out] heap The heap control.
  * @param fraction The fraction is one divided by this fraction value.
  */
-RTEMS_INLINE_ROUTINE void _Heap_Protection_set_delayed_free_fraction(
+static inline void _Heap_Protection_set_delayed_free_fraction(
   Heap_Control *heap,
   uintptr_t fraction
 )
@@ -460,7 +460,7 @@ RTEMS_INLINE_ROUTINE void _Heap_Protection_set_delayed_free_fraction(
  *
  * @return The head of the free list.
  */
-RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Free_list_head( Heap_Control *heap )
+static inline Heap_Block *_Heap_Free_list_head( Heap_Control *heap )
 {
   return &heap->free_list;
 }
@@ -472,7 +472,7 @@ RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Free_list_head( Heap_Control *heap )
  *
  * @return The tail of the free list.
  */
-RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Free_list_tail( Heap_Control *heap )
+static inline Heap_Block *_Heap_Free_list_tail( Heap_Control *heap )
 {
   return &heap->free_list;
 }
@@ -484,7 +484,7 @@ RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Free_list_tail( Heap_Control *heap )
  *
  * @return The first block of the free list.
  */
-RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Free_list_first( Heap_Control *heap )
+static inline Heap_Block *_Heap_Free_list_first( Heap_Control *heap )
 {
   return _Heap_Free_list_head(heap)->next;
 }
@@ -496,7 +496,7 @@ RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Free_list_first( Heap_Control *heap )
  *
  * @return The last block of the free list.
  */
-RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Free_list_last( Heap_Control *heap )
+static inline Heap_Block *_Heap_Free_list_last( Heap_Control *heap )
 {
   return _Heap_Free_list_tail(heap)->prev;
 }
@@ -506,7 +506,7 @@ RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Free_list_last( Heap_Control *heap )
  *
  * @param block The block to be removed.
  */
-RTEMS_INLINE_ROUTINE void _Heap_Free_list_remove( Heap_Block *block )
+static inline void _Heap_Free_list_remove( Heap_Block *block )
 {
   Heap_Block *next = block->next;
   Heap_Block *prev = block->prev;
@@ -521,7 +521,7 @@ RTEMS_INLINE_ROUTINE void _Heap_Free_list_remove( Heap_Block *block )
  * @param old_block The block in the free list to replace.
  * @param new_block The block that should replace @a old_block.
  */
-RTEMS_INLINE_ROUTINE void _Heap_Free_list_replace(
+static inline void _Heap_Free_list_replace(
   Heap_Block *old_block,
   Heap_Block *new_block
 )
@@ -542,7 +542,7 @@ RTEMS_INLINE_ROUTINE void _Heap_Free_list_replace(
  * @param block_before The block that is already in the free list.
  * @param new_block The block to be inserted after @a block_before.
  */
-RTEMS_INLINE_ROUTINE void _Heap_Free_list_insert_after(
+static inline void _Heap_Free_list_insert_after(
   Heap_Block *block_before,
   Heap_Block *new_block
 )
@@ -561,7 +561,7 @@ RTEMS_INLINE_ROUTINE void _Heap_Free_list_insert_after(
  * @param block_before The block that is already in the free list.
  * @param new_block The block to be inserted before @a block_before.
  */
-RTEMS_INLINE_ROUTINE void _Heap_Free_list_insert_before(
+static inline void _Heap_Free_list_insert_before(
   Heap_Block *block_next,
   Heap_Block *new_block
 )
@@ -583,7 +583,7 @@ RTEMS_INLINE_ROUTINE void _Heap_Free_list_insert_before(
  * @retval true The value is aligned to the given alignment.
  * @retval false The value is not aligned to the given alignment.
  */
-RTEMS_INLINE_ROUTINE bool _Heap_Is_aligned(
+static inline bool _Heap_Is_aligned(
   uintptr_t value,
   uintptr_t alignment
 )
@@ -599,7 +599,7 @@ RTEMS_INLINE_ROUTINE bool _Heap_Is_aligned(
  *
  * @return The aligned value, truncated.
  */
-RTEMS_INLINE_ROUTINE uintptr_t _Heap_Align_down(
+static inline uintptr_t _Heap_Align_down(
   uintptr_t value,
   uintptr_t alignment
 )
@@ -615,7 +615,7 @@ RTEMS_INLINE_ROUTINE uintptr_t _Heap_Align_down(
  *
  * @return The address of the block which is @a offset away from @a block.
  */
-RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Block_at(
+static inline Heap_Block *_Heap_Block_at(
   const Heap_Block *block,
   uintptr_t offset
 )
@@ -630,7 +630,7 @@ RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Block_at(
  *
  * @return The address of the previous block.
  */
-RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Prev_block(
+static inline Heap_Block *_Heap_Prev_block(
   const Heap_Block *block
 )
 {
@@ -644,7 +644,7 @@ RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Prev_block(
  *
  * @return The first address after the heap header.
  */
-RTEMS_INLINE_ROUTINE uintptr_t _Heap_Alloc_area_of_block(
+static inline uintptr_t _Heap_Alloc_area_of_block(
   const Heap_Block *block
 )
 {
@@ -659,7 +659,7 @@ RTEMS_INLINE_ROUTINE uintptr_t _Heap_Alloc_area_of_block(
  *
  * @return The Starting address of the corresponding block of the allocatable area.
  */
-RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Block_of_alloc_area(
+static inline Heap_Block *_Heap_Block_of_alloc_area(
   uintptr_t alloc_begin,
   uintptr_t page_size
 )
@@ -675,7 +675,7 @@ RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Block_of_alloc_area(
  *
  * @return The block size.
  */
-RTEMS_INLINE_ROUTINE uintptr_t _Heap_Block_size( const Heap_Block *block )
+static inline uintptr_t _Heap_Block_size( const Heap_Block *block )
 {
   return block->size_and_flag & ~HEAP_PREV_BLOCK_USED;
 }
@@ -686,7 +686,7 @@ RTEMS_INLINE_ROUTINE uintptr_t _Heap_Block_size( const Heap_Block *block )
  * @param[in, out] block The block of which the size shall be set.
  * @param size The new size of the block.
  */
-RTEMS_INLINE_ROUTINE void _Heap_Block_set_size(
+static inline void _Heap_Block_set_size(
   Heap_Block *block,
   uintptr_t size
 )
@@ -705,7 +705,7 @@ RTEMS_INLINE_ROUTINE void _Heap_Block_set_size(
  * @retval true The previous block is used.
  * @retval false The previous block is not used.
  */
-RTEMS_INLINE_ROUTINE bool _Heap_Is_prev_used( const Heap_Block *block )
+static inline bool _Heap_Is_prev_used( const Heap_Block *block )
 {
   return block->size_and_flag & HEAP_PREV_BLOCK_USED;
 }
@@ -718,7 +718,7 @@ RTEMS_INLINE_ROUTINE bool _Heap_Is_prev_used( const Heap_Block *block )
  * @retval true The block is used.
  * @retval false The block is not used.
  */
-RTEMS_INLINE_ROUTINE bool _Heap_Is_used(
+static inline bool _Heap_Is_used(
   const Heap_Block *block
 )
 {
@@ -736,7 +736,7 @@ RTEMS_INLINE_ROUTINE bool _Heap_Is_used(
  * @retval true The block is free.
  * @retval false The block is not free.
  */
-RTEMS_INLINE_ROUTINE bool _Heap_Is_free(
+static inline bool _Heap_Is_free(
   const Heap_Block *block
 )
 {
@@ -752,7 +752,7 @@ RTEMS_INLINE_ROUTINE bool _Heap_Is_free(
  * @retval true The block is part of the heap.
  * @retval false The block is not part of the heap.
  */
-RTEMS_INLINE_ROUTINE bool _Heap_Is_block_in_heap(
+static inline bool _Heap_Is_block_in_heap(
   const Heap_Control *heap,
   const Heap_Block *block
 )
@@ -774,7 +774,7 @@ RTEMS_INLINE_ROUTINE bool _Heap_Is_block_in_heap(
  *
  * @param[in, out] heap The heap to set the last block size of.
  */
-RTEMS_INLINE_ROUTINE void _Heap_Set_last_block_size( Heap_Control *heap )
+static inline void _Heap_Set_last_block_size( Heap_Control *heap )
 {
   _Heap_Block_set_size(
     heap->last_block,
@@ -791,7 +791,7 @@ RTEMS_INLINE_ROUTINE void _Heap_Set_last_block_size( Heap_Control *heap )
  *
  * @return The size of the allocatable area in @a heap in bytes.
  */
-RTEMS_INLINE_ROUTINE uintptr_t _Heap_Get_size( const Heap_Control *heap )
+static inline uintptr_t _Heap_Get_size( const Heap_Control *heap )
 {
   return heap->stats.size;
 }
@@ -805,7 +805,7 @@ RTEMS_INLINE_ROUTINE uintptr_t _Heap_Get_size( const Heap_Control *heap )
  * @retval a If a > b.
  * @retval b If b >= a
  */
-RTEMS_INLINE_ROUTINE uintptr_t _Heap_Max( uintptr_t a, uintptr_t b )
+static inline uintptr_t _Heap_Max( uintptr_t a, uintptr_t b )
 {
   return a > b ? a : b;
 }
@@ -819,7 +819,7 @@ RTEMS_INLINE_ROUTINE uintptr_t _Heap_Max( uintptr_t a, uintptr_t b )
  * @retval a If a < b.
  * @retval b If b <= a
  */
-RTEMS_INLINE_ROUTINE uintptr_t _Heap_Min( uintptr_t a, uintptr_t b )
+static inline uintptr_t _Heap_Min( uintptr_t a, uintptr_t b )
 {
   return a < b ? a : b;
 }
diff --git a/cpukit/include/rtems/score/isrlock.h b/cpukit/include/rtems/score/isrlock.h
index 7dbb7aa938..72ac760196 100644
--- a/cpukit/include/rtems/score/isrlock.h
+++ b/cpukit/include/rtems/score/isrlock.h
@@ -172,7 +172,7 @@ typedef struct {
  * @param[out] context The ISR lock context.
  * @param level The ISR level.
  */
-RTEMS_INLINE_ROUTINE void _ISR_lock_Context_set_level(
+static inline void _ISR_lock_Context_set_level(
   ISR_lock_Context *context,
   ISR_Level         level
 )
diff --git a/cpukit/include/rtems/score/memory.h b/cpukit/include/rtems/score/memory.h
index fa17ea164c..7eceef360b 100644
--- a/cpukit/include/rtems/score/memory.h
+++ b/cpukit/include/rtems/score/memory.h
@@ -115,7 +115,7 @@ typedef struct {
  *
  * @return The memory area count.
  */
-RTEMS_INLINE_ROUTINE size_t _Memory_Get_count(
+static inline size_t _Memory_Get_count(
   const Memory_Information *information
 )
 {
@@ -130,7 +130,7 @@ RTEMS_INLINE_ROUTINE size_t _Memory_Get_count(
  *
  * @return The memory area of the specified index.
  */
-RTEMS_INLINE_ROUTINE Memory_Area *_Memory_Get_area(
+static inline Memory_Area *_Memory_Get_area(
   const Memory_Information *information,
   size_t                    index
 )
@@ -146,7 +146,7 @@ RTEMS_INLINE_ROUTINE Memory_Area *_Memory_Get_area(
  * @param begin The begin of the memory area.
  * @param end The end of the memory area.
  */
-RTEMS_INLINE_ROUTINE void _Memory_Initialize(
+static inline void _Memory_Initialize(
   Memory_Area *area,
   void        *begin,
   void        *end
@@ -164,7 +164,7 @@ RTEMS_INLINE_ROUTINE void _Memory_Initialize(
  * @param begin The begin of the memory area.
  * @param size The size of the memory area in bytes.
  */
-RTEMS_INLINE_ROUTINE void _Memory_Initialize_by_size(
+static inline void _Memory_Initialize_by_size(
   Memory_Area *area,
   void        *begin,
   uintptr_t    size
@@ -182,7 +182,7 @@ RTEMS_INLINE_ROUTINE void _Memory_Initialize_by_size(
  *
  * @return The memory area begin.
  */
-RTEMS_INLINE_ROUTINE const void *_Memory_Get_begin( const Memory_Area *area )
+static inline const void *_Memory_Get_begin( const Memory_Area *area )
 {
   return area->begin;
 }
@@ -193,7 +193,7 @@ RTEMS_INLINE_ROUTINE const void *_Memory_Get_begin( const Memory_Area *area )
  * @param area The memory area.
  * @param begin The memory area begin.
  */
-RTEMS_INLINE_ROUTINE void _Memory_Set_begin(
+static inline void _Memory_Set_begin(
   Memory_Area *area,
   const void  *begin
 )
@@ -208,7 +208,7 @@ RTEMS_INLINE_ROUTINE void _Memory_Set_begin(
  *
  * @return The memory area end.
  */
-RTEMS_INLINE_ROUTINE const void *_Memory_Get_end( const Memory_Area *area )
+static inline const void *_Memory_Get_end( const Memory_Area *area )
 {
   return area->end;
 }
@@ -219,7 +219,7 @@ RTEMS_INLINE_ROUTINE const void *_Memory_Get_end( const Memory_Area *area )
  * @param area The memory area.
  * @param end The memory area end.
  */
-RTEMS_INLINE_ROUTINE void _Memory_Set_end(
+static inline void _Memory_Set_end(
   Memory_Area *area,
   const void  *end
 )
@@ -234,7 +234,7 @@ RTEMS_INLINE_ROUTINE void _Memory_Set_end(
  *
  * @return The memory area size in bytes.
  */
-RTEMS_INLINE_ROUTINE uintptr_t _Memory_Get_size( const Memory_Area *area )
+static inline uintptr_t _Memory_Get_size( const Memory_Area *area )
 {
   return (uintptr_t) area->end - (uintptr_t) area->begin;
 }
@@ -246,7 +246,7 @@ RTEMS_INLINE_ROUTINE uintptr_t _Memory_Get_size( const Memory_Area *area )
  *
  * @return The free memory area begin the memory area.
  */
-RTEMS_INLINE_ROUTINE void *_Memory_Get_free_begin( const Memory_Area *area )
+static inline void *_Memory_Get_free_begin( const Memory_Area *area )
 {
   return area->free;
 }
@@ -257,7 +257,7 @@ RTEMS_INLINE_ROUTINE void *_Memory_Get_free_begin( const Memory_Area *area )
  * @param area The memory area.
  * @param begin The free memory area begin the memory area.
  */
-RTEMS_INLINE_ROUTINE void _Memory_Set_free_begin(
+static inline void _Memory_Set_free_begin(
   Memory_Area *area,
   void        *begin
 )
@@ -272,7 +272,7 @@ RTEMS_INLINE_ROUTINE void _Memory_Set_free_begin(
  *
  * @return The free memory area size in bytes of the memory area.
  */
-RTEMS_INLINE_ROUTINE uintptr_t _Memory_Get_free_size( const Memory_Area *area )
+static inline uintptr_t _Memory_Get_free_size( const Memory_Area *area )
 {
   return (uintptr_t) area->end - (uintptr_t) area->free;
 }
@@ -285,7 +285,7 @@ RTEMS_INLINE_ROUTINE uintptr_t _Memory_Get_free_size( const Memory_Area *area )
  * @param consume The bytes to consume from the free memory area of the memory
  *   area.
  */
-RTEMS_INLINE_ROUTINE void _Memory_Consume(
+static inline void _Memory_Consume(
   Memory_Area *area,
   uintptr_t    consume
 )
diff --git a/cpukit/include/rtems/score/mpciimpl.h b/cpukit/include/rtems/score/mpciimpl.h
index 5ee819fb32..b646d4be4d 100644
--- a/cpukit/include/rtems/score/mpciimpl.h
+++ b/cpukit/include/rtems/score/mpciimpl.h
@@ -337,7 +337,7 @@ MPCI_Internal_packet *_MPCI_Internal_packets_Get_packet ( void );
  *       because this enum starts at lower bound of zero.
  */
 
-RTEMS_INLINE_ROUTINE bool _Mp_packet_Is_valid_packet_class (
+static inline bool _Mp_packet_Is_valid_packet_class (
   MP_packet_Classes the_packet_class
 )
 {
diff --git a/cpukit/include/rtems/score/mrspimpl.h b/cpukit/include/rtems/score/mrspimpl.h
index 50f63f22e0..4a5e68fa41 100644
--- a/cpukit/include/rtems/score/mrspimpl.h
+++ b/cpukit/include/rtems/score/mrspimpl.h
@@ -64,7 +64,7 @@ extern "C" {
  * @param mrsp The MrsP control for the operation.
  * @param queue_context The thread queue context.
  */
-RTEMS_INLINE_ROUTINE void _MRSP_Acquire_critical(
+static inline void _MRSP_Acquire_critical(
   MRSP_Control         *mrsp,
   Thread_queue_Context *queue_context
 )
@@ -78,7 +78,7 @@ RTEMS_INLINE_ROUTINE void _MRSP_Acquire_critical(
  * @param mrsp The MrsP control for the operation.
  * @param queue_context The thread queue context.
  */
-RTEMS_INLINE_ROUTINE void _MRSP_Release(
+static inline void _MRSP_Release(
   MRSP_Control         *mrsp,
   Thread_queue_Context *queue_context
 )
@@ -93,7 +93,7 @@ RTEMS_INLINE_ROUTINE void _MRSP_Release(
  *
  * @return The owner of the Mrsp control.
  */
-RTEMS_INLINE_ROUTINE Thread_Control *_MRSP_Get_owner(
+static inline Thread_Control *_MRSP_Get_owner(
   const MRSP_Control *mrsp
 )
 {
@@ -106,7 +106,7 @@ RTEMS_INLINE_ROUTINE Thread_Control *_MRSP_Get_owner(
  * @param[out] mrsp The MrsP control to set the owner of.
  * @param owner The desired new owner for @a mrsp.
  */
-RTEMS_INLINE_ROUTINE void _MRSP_Set_owner(
+static inline void _MRSP_Set_owner(
   MRSP_Control   *mrsp,
   Thread_Control *owner
 )
@@ -122,7 +122,7 @@ RTEMS_INLINE_ROUTINE void _MRSP_Set_owner(
  *
  * @return The priority of the MrsP control.
  */
-RTEMS_INLINE_ROUTINE Priority_Control _MRSP_Get_priority(
+static inline Priority_Control _MRSP_Get_priority(
   const MRSP_Control      *mrsp,
   const Scheduler_Control *scheduler
 )
@@ -140,7 +140,7 @@ RTEMS_INLINE_ROUTINE Priority_Control _MRSP_Get_priority(
  * @param schedulger The corresponding scheduler.
  * @param new_priority The new priority for the MrsP control
  */
-RTEMS_INLINE_ROUTINE void _MRSP_Set_priority(
+static inline void _MRSP_Set_priority(
   MRSP_Control            *mrsp,
   const Scheduler_Control *scheduler,
   Priority_Control         new_priority
@@ -165,7 +165,7 @@ RTEMS_INLINE_ROUTINE void _MRSP_Set_priority(
  * @retval STATUS_MUTEX_CEILING_VIOLATED The wait priority of the thread
  *      exceeds the ceiling priority.
  */
-RTEMS_INLINE_ROUTINE Status_Control _MRSP_Raise_priority(
+static inline Status_Control _MRSP_Raise_priority(
   MRSP_Control         *mrsp,
   Thread_Control       *thread,
   Priority_Node        *priority_node,
@@ -207,7 +207,7 @@ RTEMS_INLINE_ROUTINE Status_Control _MRSP_Raise_priority(
  * @param priority_node The priority node to remove from the thread
  * @param queue_context The thread queue context.
  */
-RTEMS_INLINE_ROUTINE void _MRSP_Remove_priority(
+static inline void _MRSP_Remove_priority(
   Thread_Control       *thread,
   Priority_Node        *priority_node,
   Thread_queue_Context *queue_context
@@ -229,7 +229,7 @@ RTEMS_INLINE_ROUTINE void _MRSP_Remove_priority(
  * @param[out] thread The thread to replace the priorities.
  * @param ceiling_priority The node to be replaced.
  */
-RTEMS_INLINE_ROUTINE void _MRSP_Replace_priority(
+static inline void _MRSP_Replace_priority(
   MRSP_Control   *mrsp,
   Thread_Control *thread,
   Priority_Node  *ceiling_priority
@@ -257,7 +257,7 @@ RTEMS_INLINE_ROUTINE void _MRSP_Replace_priority(
  * @retval STATUS_MUTEX_CEILING_VIOLATED The wait priority of the executing
  *      thread exceeds the ceiling priority.
  */
-RTEMS_INLINE_ROUTINE Status_Control _MRSP_Claim_ownership(
+static inline Status_Control _MRSP_Claim_ownership(
   MRSP_Control         *mrsp,
   Thread_Control       *executing,
   Thread_queue_Context *queue_context
@@ -300,7 +300,7 @@ RTEMS_INLINE_ROUTINE Status_Control _MRSP_Claim_ownership(
  * @retval STATUS_INVALID_NUMBER The MrsP control is initially locked.
  * @retval STATUS_NO_MEMORY There is not enough memory to allocate.
  */
-RTEMS_INLINE_ROUTINE Status_Control _MRSP_Initialize(
+static inline Status_Control _MRSP_Initialize(
   MRSP_Control            *mrsp,
   const Scheduler_Control *scheduler,
   Priority_Control         ceiling_priority,
@@ -361,7 +361,7 @@ RTEMS_INLINE_ROUTINE Status_Control _MRSP_Initialize(
  * @retval STATUS_DEADLOCK A deadlock occurred.
  * @retval STATUS_TIMEOUT A timeout occurred.
  */
-RTEMS_INLINE_ROUTINE Status_Control _MRSP_Wait_for_ownership(
+static inline Status_Control _MRSP_Wait_for_ownership(
   MRSP_Control         *mrsp,
   Thread_Control       *executing,
   Thread_queue_Context *queue_context
@@ -439,7 +439,7 @@ RTEMS_INLINE_ROUTINE Status_Control _MRSP_Wait_for_ownership(
  * @retval STATUS_MUTEX_CEILING_VIOLATED The current priority of the executing
  *   thread exceeds the ceiling priority of the mutex.
  */
-RTEMS_INLINE_ROUTINE Status_Control _MRSP_Seize(
+static inline Status_Control _MRSP_Seize(
   MRSP_Control         *mrsp,
   Thread_Control       *executing,
   bool                  wait,
@@ -478,7 +478,7 @@ RTEMS_INLINE_ROUTINE Status_Control _MRSP_Seize(
  * @retval STATUS_SUCCESSFUL The operation succeeded.
  * @retval STATUS_NOT_OWNER The executing thread does not own the MrsP control.
  */
-RTEMS_INLINE_ROUTINE Status_Control _MRSP_Surrender(
+static inline Status_Control _MRSP_Surrender(
   MRSP_Control         *mrsp,
   Thread_Control       *executing,
   Thread_queue_Context *queue_context
@@ -530,7 +530,7 @@ RTEMS_INLINE_ROUTINE Status_Control _MRSP_Surrender(
  * @retval STATUS_RESOURCE_IN_USE The MrsP control is in use,
  *      it cannot be destroyed.
  */
-RTEMS_INLINE_ROUTINE Status_Control _MRSP_Can_destroy( MRSP_Control *mrsp )
+static inline Status_Control _MRSP_Can_destroy( MRSP_Control *mrsp )
 {
   if ( _MRSP_Get_owner( mrsp ) != NULL ) {
     return STATUS_RESOURCE_IN_USE;
@@ -545,7 +545,7 @@ RTEMS_INLINE_ROUTINE Status_Control _MRSP_Can_destroy( MRSP_Control *mrsp )
  * @param[in, out] The mrsp that is about to be destroyed.
  * @param queue_context The thread queue context.
  */
-RTEMS_INLINE_ROUTINE void _MRSP_Destroy(
+static inline void _MRSP_Destroy(
   MRSP_Control         *mrsp,
   Thread_queue_Context *queue_context
 )
diff --git a/cpukit/include/rtems/score/object.h b/cpukit/include/rtems/score/object.h
index 867e1766ab..cdb554b39c 100644
--- a/cpukit/include/rtems/score/object.h
+++ b/cpukit/include/rtems/score/object.h
@@ -273,7 +273,7 @@ typedef enum {
  *
  * @return An object Id constructed from the arguments.
  */
-RTEMS_INLINE_ROUTINE Objects_APIs _Objects_Get_API(
+static inline Objects_APIs _Objects_Get_API(
   Objects_Id id
 )
 {
@@ -287,7 +287,7 @@ RTEMS_INLINE_ROUTINE Objects_APIs _Objects_Get_API(
  *
  * @return The class portion of the ID.
  */
-RTEMS_INLINE_ROUTINE uint32_t _Objects_Get_class(
+static inline uint32_t _Objects_Get_class(
   Objects_Id id
 )
 {
@@ -302,7 +302,7 @@ RTEMS_INLINE_ROUTINE uint32_t _Objects_Get_class(
  *
  * @return Returns the node portion of an object ID.
  */
-RTEMS_INLINE_ROUTINE uint32_t _Objects_Get_node(
+static inline uint32_t _Objects_Get_node(
   Objects_Id id
 )
 {
@@ -316,7 +316,7 @@ RTEMS_INLINE_ROUTINE uint32_t _Objects_Get_node(
  *
  * @return Returns the index portion of the specified object ID.
  */
-RTEMS_INLINE_ROUTINE Objects_Maximum _Objects_Get_index(
+static inline Objects_Maximum _Objects_Get_index(
   Objects_Id id
 )
 {
diff --git a/cpukit/include/rtems/score/objectimpl.h b/cpukit/include/rtems/score/objectimpl.h
index 7938996df8..c58957ccb5 100644
--- a/cpukit/include/rtems/score/objectimpl.h
+++ b/cpukit/include/rtems/score/objectimpl.h
@@ -396,7 +396,7 @@ Objects_Information *_Objects_Get_information_id(
  * @retval true The object has a string name.
  * @retval false The object does not have a string name.
  */
-RTEMS_INLINE_ROUTINE bool _Objects_Has_string_name(
+static inline bool _Objects_Has_string_name(
   const Objects_Information *information
 )
 {
@@ -471,7 +471,7 @@ Status_Control _Objects_Set_name(
  * @param information The corresponding object information table.
  * @param[out] the_object The object to operate upon.
  */
-RTEMS_INLINE_ROUTINE void _Objects_Namespace_remove_u32(
+static inline void _Objects_Namespace_remove_u32(
   const Objects_Information *information,
   Objects_Control           *the_object
 )
@@ -523,7 +523,7 @@ Objects_Maximum _Objects_Active_count(
  *
  * @return The number of objects per block of @a information.
  */
-RTEMS_INLINE_ROUTINE Objects_Maximum _Objects_Extend_size(
+static inline Objects_Maximum _Objects_Extend_size(
   const Objects_Information *information
 )
 {
@@ -538,7 +538,7 @@ RTEMS_INLINE_ROUTINE Objects_Maximum _Objects_Extend_size(
  * @retval true The specified api value is valid.
  * @retval false The specified api value is not valid.
  */
-RTEMS_INLINE_ROUTINE bool _Objects_Is_api_valid(
+static inline bool _Objects_Is_api_valid(
   uint32_t   the_api
 )
 {
@@ -556,7 +556,7 @@ RTEMS_INLINE_ROUTINE bool _Objects_Is_api_valid(
  * @retval true The specified node is the local node.
  * @retval false The specified node is not the local node.
  */
-RTEMS_INLINE_ROUTINE bool _Objects_Is_local_node(
+static inline bool _Objects_Is_local_node(
   uint32_t   node
 )
 {
@@ -573,7 +573,7 @@ RTEMS_INLINE_ROUTINE bool _Objects_Is_local_node(
  *
  * @note On a single processor configuration, this always returns true.
  */
-RTEMS_INLINE_ROUTINE bool _Objects_Is_local_id(
+static inline bool _Objects_Is_local_id(
 #if defined(RTEMS_MULTIPROCESSING)
   Objects_Id id
 #else
@@ -597,7 +597,7 @@ RTEMS_INLINE_ROUTINE bool _Objects_Is_local_id(
  * @retval true The specified object IDs are equal.
  * @retval false The specified object IDs are not equal.
  */
-RTEMS_INLINE_ROUTINE bool _Objects_Are_ids_equal(
+static inline bool _Objects_Are_ids_equal(
   Objects_Id left,
   Objects_Id right
 )
@@ -614,7 +614,7 @@ RTEMS_INLINE_ROUTINE bool _Objects_Are_ids_equal(
  *
  * @return The corresponding ID with the minimum index.
  */
-RTEMS_INLINE_ROUTINE Objects_Id _Objects_Get_minimum_id( Objects_Id id )
+static inline Objects_Id _Objects_Get_minimum_id( Objects_Id id )
 {
   id &= ~OBJECTS_INDEX_MASK;
   id += (Objects_Id) OBJECTS_INDEX_MINIMUM << OBJECTS_INDEX_START_BIT;
@@ -628,7 +628,7 @@ RTEMS_INLINE_ROUTINE Objects_Id _Objects_Get_minimum_id( Objects_Id id )
  *
  * @return The maximum index of the specified object class.
  */
-RTEMS_INLINE_ROUTINE Objects_Maximum _Objects_Get_maximum_index(
+static inline Objects_Maximum _Objects_Get_maximum_index(
   const Objects_Information *information
 )
 {
@@ -641,7 +641,7 @@ RTEMS_INLINE_ROUTINE Objects_Maximum _Objects_Get_maximum_index(
  * @retval NULL No inactive object is available.
  * @retval object An inactive object.
  */
-RTEMS_INLINE_ROUTINE Objects_Control *_Objects_Get_inactive(
+static inline Objects_Control *_Objects_Get_inactive(
   Objects_Information *information
 )
 {
@@ -657,7 +657,7 @@ RTEMS_INLINE_ROUTINE Objects_Control *_Objects_Get_inactive(
  * @retval true The automatic object extension (unlimited objects) is enabled.
  * @retval false The automatic object extension (unlimited objects) is not enabled.
  */
-RTEMS_INLINE_ROUTINE Objects_Maximum _Objects_Is_auto_extend(
+static inline Objects_Maximum _Objects_Is_auto_extend(
   const Objects_Information *information
 )
 {
@@ -678,7 +678,7 @@ RTEMS_INLINE_ROUTINE Objects_Maximum _Objects_Is_auto_extend(
  *       or delete/destroy operations.
  */
 
-RTEMS_INLINE_ROUTINE void _Objects_Set_local_object(
+static inline void _Objects_Set_local_object(
   const Objects_Information *information,
   uint32_t                   index,
   Objects_Control           *the_object
@@ -711,7 +711,7 @@ RTEMS_INLINE_ROUTINE void _Objects_Set_local_object(
  *       or delete/destroy operations.
  */
 
-RTEMS_INLINE_ROUTINE void _Objects_Invalidate_Id(
+static inline void _Objects_Invalidate_Id(
   const Objects_Information *information,
   Objects_Control           *the_object
 )
@@ -738,7 +738,7 @@ RTEMS_INLINE_ROUTINE void _Objects_Invalidate_Id(
  *
  * @return Returns the identifier of the object which is now valid.
  */
-RTEMS_INLINE_ROUTINE Objects_Id _Objects_Open_u32(
+static inline Objects_Id _Objects_Open_u32(
   const Objects_Information *information,
   Objects_Control           *the_object,
   uint32_t                   name
@@ -769,7 +769,7 @@ RTEMS_INLINE_ROUTINE Objects_Id _Objects_Open_u32(
  *
  * @param name is the name of the object to open.
  */
-RTEMS_INLINE_ROUTINE void _Objects_Open_string(
+static inline void _Objects_Open_string(
   const Objects_Information *information,
   Objects_Control           *the_object,
   const char                *name
@@ -802,7 +802,7 @@ RTEMS_INLINE_ROUTINE void _Objects_Open_string(
  *
  * @see _Objects_Allocator_unlock() and _Objects_Allocate().
  */
-RTEMS_INLINE_ROUTINE void _Objects_Allocator_lock( void )
+static inline void _Objects_Allocator_lock( void )
 {
   _RTEMS_Lock_allocator();
 }
@@ -814,7 +814,7 @@ RTEMS_INLINE_ROUTINE void _Objects_Allocator_lock( void )
  * previous thread life protection state and thus may not return if the
  * executing thread was restarted or deleted in the mean-time.
  */
-RTEMS_INLINE_ROUTINE void _Objects_Allocator_unlock( void )
+static inline void _Objects_Allocator_unlock( void )
 {
   _RTEMS_Unlock_allocator();
 }
@@ -825,7 +825,7 @@ RTEMS_INLINE_ROUTINE void _Objects_Allocator_unlock( void )
  * @retval true The allocator is the owner of the object allocator mutex.
  * @retval false The allocato is not the owner of the object allocator mutex.
  */
-RTEMS_INLINE_ROUTINE bool _Objects_Allocator_is_owner( void )
+static inline bool _Objects_Allocator_is_owner( void )
 {
   return _RTEMS_Allocator_is_owner();
 }
@@ -845,7 +845,7 @@ RTEMS_INLINE_ROUTINE bool _Objects_Allocator_is_owner( void )
  *
  * @see _Objects_Allocate() and _Objects_Free().
  */
-RTEMS_INLINE_ROUTINE Objects_Control *_Objects_Allocate_unprotected(
+static inline Objects_Control *_Objects_Allocate_unprotected(
   Objects_Information *information
 )
 {
@@ -901,7 +901,7 @@ RTEMS_INLINE_ROUTINE Objects_Control *_Objects_Allocate_unprotected(
  * }
  * @endcode
  */
-RTEMS_INLINE_ROUTINE void _Objects_Free(
+static inline void _Objects_Free(
   Objects_Information *information,
   Objects_Control     *the_object
 )
@@ -922,7 +922,7 @@ RTEMS_INLINE_ROUTINE void _Objects_Free(
  *   allocated block of objects.
  * @retval false Otherwise.
  */
-RTEMS_INLINE_ROUTINE bool _Objects_Is_in_allocated_block(
+static inline bool _Objects_Is_in_allocated_block(
   Objects_Maximum index,
   Objects_Maximum objects_per_block
 )
@@ -939,7 +939,7 @@ RTEMS_INLINE_ROUTINE bool _Objects_Is_in_allocated_block(
  * @param information The object information block.
  * @param the_object The object to activate.
  */
-RTEMS_INLINE_ROUTINE void _Objects_Activate_unlimited(
+static inline void _Objects_Activate_unlimited(
   Objects_Information *information,
   Objects_Control     *the_object
 )
@@ -971,7 +971,7 @@ RTEMS_INLINE_ROUTINE void _Objects_Activate_unlimited(
  * @param information The object information block.
  * @param extend The object information extend handler.
  */
-RTEMS_INLINE_ROUTINE Objects_Control *_Objects_Allocate_with_extend(
+static inline Objects_Control *_Objects_Allocate_with_extend(
   Objects_Information   *information,
   void                ( *extend )( Objects_Information * )
 )
diff --git a/cpukit/include/rtems/score/percpu.h b/cpukit/include/rtems/score/percpu.h
index fdd40e0a8b..f740ed2a00 100644
--- a/cpukit/include/rtems/score/percpu.h
+++ b/cpukit/include/rtems/score/percpu.h
@@ -755,7 +755,7 @@ static inline bool _Per_CPU_Is_boot_processor(
 #endif
 }
 
-RTEMS_INLINE_ROUTINE void _Per_CPU_Acquire_all(
+static inline void _Per_CPU_Acquire_all(
   ISR_lock_Context *lock_context
 )
 {
@@ -782,7 +782,7 @@ RTEMS_INLINE_ROUTINE void _Per_CPU_Acquire_all(
 #endif
 }
 
-RTEMS_INLINE_ROUTINE void _Per_CPU_Release_all(
+static inline void _Per_CPU_Release_all(
   ISR_lock_Context *lock_context
 )
 {
@@ -959,7 +959,7 @@ void _Per_CPU_Wait_for_job(
  *
  * @return The thread control block of the executing thread.
  */
-RTEMS_INLINE_ROUTINE struct _Thread_Control *_Thread_Get_executing( void )
+static inline struct _Thread_Control *_Thread_Get_executing( void )
 {
   struct _Thread_Control *executing;
 
diff --git a/cpukit/include/rtems/score/prioritybitmapimpl.h b/cpukit/include/rtems/score/prioritybitmapimpl.h
index 7c98126f8d..eda19357c4 100644
--- a/cpukit/include/rtems/score/prioritybitmapimpl.h
+++ b/cpukit/include/rtems/score/prioritybitmapimpl.h
@@ -72,7 +72,7 @@ extern const unsigned char _Bitfield_Leading_zeros[256];
  *
  * @see _Priority_Bits_index() and _Priority_Mask().
  */
-RTEMS_INLINE_ROUTINE unsigned int _Bitfield_Find_first_bit(
+static inline unsigned int _Bitfield_Find_first_bit(
   unsigned int value
 )
 {
@@ -102,7 +102,7 @@ RTEMS_INLINE_ROUTINE unsigned int _Bitfield_Find_first_bit(
  *
  * @return The priority bit mask.
  */
-RTEMS_INLINE_ROUTINE Priority_bit_map_Word _Priority_Mask(
+static inline Priority_bit_map_Word _Priority_Mask(
   unsigned int bit_number
 )
 {
@@ -121,7 +121,7 @@ RTEMS_INLINE_ROUTINE Priority_bit_map_Word _Priority_Mask(
  *
  * @return The corresponding array index into the priority bit map.
  */
-RTEMS_INLINE_ROUTINE unsigned int _Priority_Bits_index(
+static inline unsigned int _Priority_Bits_index(
   unsigned int bit_number
 )
 {
@@ -139,7 +139,7 @@ RTEMS_INLINE_ROUTINE unsigned int _Priority_Bits_index(
  *
  * @return The major portion of the priority.
  */
-RTEMS_INLINE_ROUTINE unsigned int _Priority_Major( unsigned int the_priority )
+static inline unsigned int _Priority_Major( unsigned int the_priority )
 {
   return the_priority / 16;
 }
@@ -151,7 +151,7 @@ RTEMS_INLINE_ROUTINE unsigned int _Priority_Major( unsigned int the_priority )
  *
  * @return The minor portion of the priority.
  */
-RTEMS_INLINE_ROUTINE unsigned int _Priority_Minor( unsigned int the_priority )
+static inline unsigned int _Priority_Minor( unsigned int the_priority )
 {
   return the_priority % 16;
 }
@@ -161,7 +161,7 @@ RTEMS_INLINE_ROUTINE unsigned int _Priority_Minor( unsigned int the_priority )
  *
  * @param[out] bit_map The bit map to initialize.
  */
-RTEMS_INLINE_ROUTINE void _Priority_bit_map_Initialize(
+static inline void _Priority_bit_map_Initialize(
   Priority_bit_map_Control *bit_map
 )
 {
@@ -176,7 +176,7 @@ RTEMS_INLINE_ROUTINE void _Priority_bit_map_Initialize(
  * @param[out] bit_map The bit map to be altered by @a bit_map_info.
  * @param bit_map_info The information with which to alter @a bit_map.
  */
-RTEMS_INLINE_ROUTINE void _Priority_bit_map_Add (
+static inline void _Priority_bit_map_Add (
   Priority_bit_map_Control     *bit_map,
   Priority_bit_map_Information *bit_map_info
 )
@@ -193,7 +193,7 @@ RTEMS_INLINE_ROUTINE void _Priority_bit_map_Add (
  * @param[out] bit_map The bit map to be altered by @a bit_map_info.
  * @param bit_map_info The information with which to alter @a bit_map.
  */
-RTEMS_INLINE_ROUTINE void _Priority_bit_map_Remove (
+static inline void _Priority_bit_map_Remove (
   Priority_bit_map_Control     *bit_map,
   Priority_bit_map_Information *bit_map_info
 )
@@ -210,7 +210,7 @@ RTEMS_INLINE_ROUTINE void _Priority_bit_map_Remove (
  *
  * @return The highest portion of the bitmap.
  */
-RTEMS_INLINE_ROUTINE unsigned int _Priority_bit_map_Get_highest(
+static inline unsigned int _Priority_bit_map_Get_highest(
   const Priority_bit_map_Control *bit_map
 )
 {
@@ -232,7 +232,7 @@ RTEMS_INLINE_ROUTINE unsigned int _Priority_bit_map_Get_highest(
  * @retval true The Priority queue bit map is empty
  * @retval false The Priority queue bit map is not empty.
  */
-RTEMS_INLINE_ROUTINE bool _Priority_bit_map_Is_empty(
+static inline bool _Priority_bit_map_Is_empty(
   const Priority_bit_map_Control *bit_map
 )
 {
@@ -248,7 +248,7 @@ RTEMS_INLINE_ROUTINE bool _Priority_bit_map_Is_empty(
  * @param new_priority The new priority for the initialization
  *      of the bit map information.
  */
-RTEMS_INLINE_ROUTINE void _Priority_bit_map_Initialize_information(
+static inline void _Priority_bit_map_Initialize_information(
   Priority_bit_map_Control     *bit_map,
   Priority_bit_map_Information *bit_map_info,
   unsigned int                  new_priority
diff --git a/cpukit/include/rtems/score/priorityimpl.h b/cpukit/include/rtems/score/priorityimpl.h
index c9925ac6c4..ccd4cd7c64 100644
--- a/cpukit/include/rtems/score/priorityimpl.h
+++ b/cpukit/include/rtems/score/priorityimpl.h
@@ -78,7 +78,7 @@ typedef enum {
  *
  * @param[out] actions The actions to be initialized empty.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Actions_initialize_empty(
+static inline void _Priority_Actions_initialize_empty(
   Priority_Actions *actions
 )
 {
@@ -93,7 +93,7 @@ RTEMS_INLINE_ROUTINE void _Priority_Actions_initialize_empty(
  * @param node The action node for the @a actions to be initialized.
  * @param type The action type for the @a actions to be initialized.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Actions_initialize_one(
+static inline void _Priority_Actions_initialize_one(
   Priority_Actions     *actions,
   Priority_Aggregation *aggregation,
   Priority_Node        *node,
@@ -117,7 +117,7 @@ RTEMS_INLINE_ROUTINE void _Priority_Actions_initialize_one(
  * @retval true The priority actions @a actions is empty.
  * @retval false The priority actions @a actions is empty.
  */
-RTEMS_INLINE_ROUTINE bool _Priority_Actions_is_empty(
+static inline bool _Priority_Actions_is_empty(
   const Priority_Actions *actions
 )
 {
@@ -131,7 +131,7 @@ RTEMS_INLINE_ROUTINE bool _Priority_Actions_is_empty(
  *
  * @return The former actions of @a actions that were moved.
  */
-RTEMS_INLINE_ROUTINE Priority_Aggregation *_Priority_Actions_move(
+static inline Priority_Aggregation *_Priority_Actions_move(
   Priority_Actions *actions
 )
 {
@@ -149,7 +149,7 @@ RTEMS_INLINE_ROUTINE Priority_Aggregation *_Priority_Actions_move(
  * @param[in, out] actions The priority actions to add actions to.
  * @param[out] aggregation The actions to add to @a actions.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Actions_add(
+static inline void _Priority_Actions_add(
   Priority_Actions     *actions,
   Priority_Aggregation *aggregation
 )
@@ -170,7 +170,7 @@ RTEMS_INLINE_ROUTINE void _Priority_Actions_add(
  * @param[out] node The priority node to be initialized.
  * @param priority The priority to initialize @a node to.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Node_initialize(
+static inline void _Priority_Node_initialize(
   Priority_Node    *node,
   Priority_Control  priority
 )
@@ -185,7 +185,7 @@ RTEMS_INLINE_ROUTINE void _Priority_Node_initialize(
  * @param[out] node The priority node to set the priority of.
  * @param priority The new priority for @a node.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Node_set_priority(
+static inline void _Priority_Node_set_priority(
   Priority_Node    *node,
   Priority_Control  priority
 )
@@ -198,7 +198,7 @@ RTEMS_INLINE_ROUTINE void _Priority_Node_set_priority(
  *
  * @param[in, out] node The priority node to set inactive.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Node_set_inactive(
+static inline void _Priority_Node_set_inactive(
   Priority_Node *node
 )
 {
@@ -213,7 +213,7 @@ RTEMS_INLINE_ROUTINE void _Priority_Node_set_inactive(
  * @retval true The priority node is active.
  * @retval false The priority node is inactive.
  */
-RTEMS_INLINE_ROUTINE bool _Priority_Node_is_active(
+static inline bool _Priority_Node_is_active(
   const Priority_Node *node
 )
 {
@@ -225,7 +225,7 @@ RTEMS_INLINE_ROUTINE bool _Priority_Node_is_active(
  *
  * @param[out] aggregation The priority aggregaton to initialize empty.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Initialize_empty(
+static inline void _Priority_Initialize_empty(
   Priority_Aggregation *aggregation
 )
 {
@@ -246,7 +246,7 @@ RTEMS_INLINE_ROUTINE void _Priority_Initialize_empty(
  * @param[out] aggregation The priority aggregaton to initialize.
  * @param node The priority node to initialize @a aggregation with.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Initialize_one(
+static inline void _Priority_Initialize_one(
   Priority_Aggregation *aggregation,
   Priority_Node        *node
 )
@@ -270,7 +270,7 @@ RTEMS_INLINE_ROUTINE void _Priority_Initialize_one(
  * @retval true The priority aggregation is empty.
  * @retval false The priority aggregation is not empty.
  */
-RTEMS_INLINE_ROUTINE bool _Priority_Is_empty(
+static inline bool _Priority_Is_empty(
   const Priority_Aggregation *aggregation
 )
 {
@@ -284,7 +284,7 @@ RTEMS_INLINE_ROUTINE bool _Priority_Is_empty(
  *
  * @return The priority of @a aggregation.
  */
-RTEMS_INLINE_ROUTINE Priority_Control _Priority_Get_priority(
+static inline Priority_Control _Priority_Get_priority(
   const Priority_Aggregation *aggregation
 )
 {
@@ -298,7 +298,7 @@ RTEMS_INLINE_ROUTINE Priority_Control _Priority_Get_priority(
  *
  * @return The scheduler of @a aggregation.
  */
-RTEMS_INLINE_ROUTINE const Scheduler_Control *_Priority_Get_scheduler(
+static inline const Scheduler_Control *_Priority_Get_scheduler(
   const Priority_Aggregation *aggregation
 )
 {
@@ -316,7 +316,7 @@ RTEMS_INLINE_ROUTINE const Scheduler_Control *_Priority_Get_scheduler(
  *
  * @return The minimum node of @a aggregation
  */
-RTEMS_INLINE_ROUTINE Priority_Node *_Priority_Get_minimum_node(
+static inline Priority_Node *_Priority_Get_minimum_node(
   const Priority_Aggregation *aggregation
 )
 {
@@ -329,7 +329,7 @@ RTEMS_INLINE_ROUTINE Priority_Node *_Priority_Get_minimum_node(
  * @param[out] aggregation The priority aggregation to set the action node of.
  * @param node The new priority node for @a aggregation.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Set_action_node(
+static inline void _Priority_Set_action_node(
   Priority_Aggregation *aggregation,
   Priority_Node        *node
 )
@@ -343,7 +343,7 @@ RTEMS_INLINE_ROUTINE void _Priority_Set_action_node(
  * @param[out] aggregation The priority aggregation to set the action type of.
  * @param type The new action type for @a aggregation.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Set_action_type(
+static inline void _Priority_Set_action_type(
   Priority_Aggregation *aggregation,
   Priority_Action_type  type
 )
@@ -359,7 +359,7 @@ RTEMS_INLINE_ROUTINE void _Priority_Set_action_type(
  * @param node The new action node for @a aggregation.
  * @param type The new action type for @a aggregation.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Set_action(
+static inline void _Priority_Set_action(
   Priority_Aggregation *aggregation,
   Priority_Node        *node,
   Priority_Action_type  type
@@ -378,7 +378,7 @@ RTEMS_INLINE_ROUTINE void _Priority_Set_action(
  * @return Returns the next action of the priority aggregation or NULL if there
  *   is no next action.
  */
-RTEMS_INLINE_ROUTINE Priority_Aggregation *_Priority_Get_next_action(
+static inline Priority_Aggregation *_Priority_Get_next_action(
   const Priority_Aggregation *aggregation
 )
 {
@@ -395,7 +395,7 @@ RTEMS_INLINE_ROUTINE Priority_Aggregation *_Priority_Get_next_action(
  * @retval true The priority on the left hand side of the comparison is smaller.
  * @retval false The priority on the left hand side of the comparison is greater of equal.
  */
-RTEMS_INLINE_ROUTINE bool _Priority_Less(
+static inline bool _Priority_Less(
   const void        *left,
   const RBTree_Node *right
 )
@@ -422,7 +422,7 @@ RTEMS_INLINE_ROUTINE bool _Priority_Less(
  * @retval true The inserted node with its priority is the minimum of the RBTree.
  * @retval false The inserted node with its priority is not the minimum of the RBTree.
  */
-RTEMS_INLINE_ROUTINE bool _Priority_Plain_insert(
+static inline bool _Priority_Plain_insert(
   Priority_Aggregation *aggregation,
   Priority_Node        *node,
   Priority_Control      priority
@@ -444,7 +444,7 @@ RTEMS_INLINE_ROUTINE bool _Priority_Plain_insert(
  * @param[in,  out] aggregation The aggregation to extract the node from.
  * @param node The node to be extracted.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Plain_extract(
+static inline void _Priority_Plain_extract(
   Priority_Aggregation *aggregation,
   Priority_Node        *node
 )
@@ -461,7 +461,7 @@ RTEMS_INLINE_ROUTINE void _Priority_Plain_extract(
  * @param[in, out] aggregation The aggregation to change the node in.
  * @param node The node that has a new priority and will be reinserted in the aggregation.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Plain_changed(
+static inline void _Priority_Plain_changed(
   Priority_Aggregation *aggregation,
   Priority_Node        *node
 )
@@ -499,7 +499,7 @@ typedef void ( *Priority_Remove_handler )(
  * @param actions Is ignored by the method.
  * @param arg Is ignored by the method.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Change_nothing(
+static inline void _Priority_Change_nothing(
   Priority_Aggregation *aggregation,
   Priority_Group_order  group_order,
   Priority_Actions     *actions,
@@ -521,7 +521,7 @@ RTEMS_INLINE_ROUTINE void _Priority_Change_nothing(
  * @param actions Is ignored by the method.
  * @param arg Is ignored by the method.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Remove_nothing(
+static inline void _Priority_Remove_nothing(
   Priority_Aggregation *aggregation,
   Priority_Actions     *actions,
   void                 *arg
@@ -545,7 +545,7 @@ RTEMS_INLINE_ROUTINE void _Priority_Remove_nothing(
  * @param arg Arguments for @a change that is used if the node is the new
  *      minimum.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Non_empty_insert(
+static inline void _Priority_Non_empty_insert(
   Priority_Aggregation    *aggregation,
   Priority_Node           *node,
   Priority_Actions        *actions,
@@ -576,7 +576,7 @@ RTEMS_INLINE_ROUTINE void _Priority_Non_empty_insert(
  *      insert and @a node is the new minimum of the aggregation.
  * @param arg The arguments for @a change.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Insert(
+static inline void _Priority_Insert(
   Priority_Aggregation    *aggregation,
   Priority_Node           *node,
   Priority_Actions        *actions,
@@ -610,7 +610,7 @@ RTEMS_INLINE_ROUTINE void _Priority_Insert(
  * @param change Is called in the case that the minimal node was extracted.
  * @param arg The arguments for @a remove and @a change.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Extract(
+static inline void _Priority_Extract(
   Priority_Aggregation    *aggregation,
   Priority_Node           *node,
   Priority_Actions        *actions,
@@ -650,7 +650,7 @@ RTEMS_INLINE_ROUTINE void _Priority_Extract(
  * @param change Is called in the case that the minimal node was extracted.
  * @param arg The arguments for @a change.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Extract_non_empty(
+static inline void _Priority_Extract_non_empty(
   Priority_Aggregation    *aggregation,
   Priority_Node           *node,
   Priority_Actions        *actions,
@@ -685,7 +685,7 @@ RTEMS_INLINE_ROUTINE void _Priority_Extract_non_empty(
  * @param change Is called if the minimal priority is incorrectly set after the change.
  * @param arg The arguments for @a change.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Changed(
+static inline void _Priority_Changed(
   Priority_Aggregation    *aggregation,
   Priority_Node           *node,
   Priority_Group_order     group_order,
@@ -721,7 +721,7 @@ RTEMS_INLINE_ROUTINE void _Priority_Changed(
  * @param[out] replacement The node that replaces @a victim.  It obtains its priority
  *      from @a victim.
  */
-RTEMS_INLINE_ROUTINE void _Priority_Replace(
+static inline void _Priority_Replace(
   Priority_Aggregation *aggregation,
   Priority_Node        *victim,
   Priority_Node        *replacement
diff --git a/cpukit/include/rtems/score/processormask.h b/cpukit/include/rtems/score/processormask.h
index 40fb52a70f..bcdc1c471e 100644
--- a/cpukit/include/rtems/score/processormask.h
+++ b/cpukit/include/rtems/score/processormask.h
@@ -128,7 +128,7 @@ typedef __BITSET_DEFINE( Processor_mask, CPU_MAXIMUM_PROCESSORS ) Processor_mask
  *
  * @param[out] mask The mask to set to zero.
  */
-RTEMS_INLINE_ROUTINE void _Processor_mask_Zero( Processor_mask *mask )
+static inline void _Processor_mask_Zero( Processor_mask *mask )
 {
   __BIT_ZERO( CPU_MAXIMUM_PROCESSORS, mask );
 }
@@ -141,7 +141,7 @@ RTEMS_INLINE_ROUTINE void _Processor_mask_Zero( Processor_mask *mask )
  * @retval true The mask is zero.
  * @retval false The mask is not zero.
  */
-RTEMS_INLINE_ROUTINE bool _Processor_mask_Is_zero( const Processor_mask *mask )
+static inline bool _Processor_mask_Is_zero( const Processor_mask *mask )
 {
   return __BIT_EMPTY( CPU_MAXIMUM_PROCESSORS, mask );
 }
@@ -151,7 +151,7 @@ RTEMS_INLINE_ROUTINE bool _Processor_mask_Is_zero( const Processor_mask *mask )
  *
  * @param[out] mask The mask to fill
  */
-RTEMS_INLINE_ROUTINE void _Processor_mask_Fill( Processor_mask *mask )
+static inline void _Processor_mask_Fill( Processor_mask *mask )
 {
   __BIT_FILL( CPU_MAXIMUM_PROCESSORS, mask );
 }
@@ -162,7 +162,7 @@ RTEMS_INLINE_ROUTINE void _Processor_mask_Fill( Processor_mask *mask )
  * @param[out] dst The mask to copy @a src to.
  * @param src The mask to copy to @a dst.
  */
-RTEMS_INLINE_ROUTINE void _Processor_mask_Assign(
+static inline void _Processor_mask_Assign(
   Processor_mask *dst, const Processor_mask *src
 )
 {
@@ -175,7 +175,7 @@ RTEMS_INLINE_ROUTINE void _Processor_mask_Assign(
  * @param[out] mask The mask to set the bit of.
  * @param index The index of the bit that shall be set.
  */
-RTEMS_INLINE_ROUTINE void _Processor_mask_Set(
+static inline void _Processor_mask_Set(
   Processor_mask *mask,
   uint32_t        index
 )
@@ -189,7 +189,7 @@ RTEMS_INLINE_ROUTINE void _Processor_mask_Set(
  * @param[out] mask The mask to clear the bit of.
  * @param index The index of the bit that shall be cleared.
  */
-RTEMS_INLINE_ROUTINE void _Processor_mask_Clear(
+static inline void _Processor_mask_Clear(
   Processor_mask *mask,
   uint32_t        index
 )
@@ -206,7 +206,7 @@ RTEMS_INLINE_ROUTINE void _Processor_mask_Clear(
  * @retval true The specified index bit is set.
  * @retval false The specified index bit is not set.
  */
-RTEMS_INLINE_ROUTINE bool _Processor_mask_Is_set(
+static inline bool _Processor_mask_Is_set(
   const Processor_mask *mask,
   uint32_t              index
 )
@@ -223,7 +223,7 @@ RTEMS_INLINE_ROUTINE bool _Processor_mask_Is_set(
  * @retval true The processor sets a and b are equal.
  * @retval false The processor sets a and b are not equal.
  */
-RTEMS_INLINE_ROUTINE bool _Processor_mask_Is_equal(
+static inline bool _Processor_mask_Is_equal(
   const Processor_mask *a,
   const Processor_mask *b
 )
@@ -241,7 +241,7 @@ RTEMS_INLINE_ROUTINE bool _Processor_mask_Is_equal(
  * @retval true The intersection of the processor sets a and b is non-empty.
  * @retval false The intersection of the processor sets a and b is empty.
  */
-RTEMS_INLINE_ROUTINE bool _Processor_mask_Has_overlap(
+static inline bool _Processor_mask_Has_overlap(
   const Processor_mask *a,
   const Processor_mask *b
 )
@@ -259,7 +259,7 @@ RTEMS_INLINE_ROUTINE bool _Processor_mask_Has_overlap(
  * @retval true @a small is a subset of @a big.
  * @retval false @a small is not a subset of @a big.
  */
-RTEMS_INLINE_ROUTINE bool _Processor_mask_Is_subset(
+static inline bool _Processor_mask_Is_subset(
   const Processor_mask *big,
   const Processor_mask *small
 )
@@ -274,7 +274,7 @@ RTEMS_INLINE_ROUTINE bool _Processor_mask_Is_subset(
  * @param b The first parameter of the AND-operation.
  * @param c The second parameter of the AND-operation.
  */
-RTEMS_INLINE_ROUTINE void _Processor_mask_And(
+static inline void _Processor_mask_And(
   Processor_mask       *a,
   const Processor_mask *b,
   const Processor_mask *c
@@ -290,7 +290,7 @@ RTEMS_INLINE_ROUTINE void _Processor_mask_And(
  * @param b The first parameter of the OR-operation.
  * @param c The second parameter of the OR-operation.
  */
-RTEMS_INLINE_ROUTINE void _Processor_mask_Or(
+static inline void _Processor_mask_Or(
   Processor_mask       *a,
   const Processor_mask *b,
   const Processor_mask *c
@@ -306,7 +306,7 @@ RTEMS_INLINE_ROUTINE void _Processor_mask_Or(
  * @param b The first parameter of the XOR-operation.
  * @param c The second parameter of the XOR-operation.
  */
-RTEMS_INLINE_ROUTINE void _Processor_mask_Xor(
+static inline void _Processor_mask_Xor(
   Processor_mask       *a,
   const Processor_mask *b,
   const Processor_mask *c
@@ -322,7 +322,7 @@ RTEMS_INLINE_ROUTINE void _Processor_mask_Xor(
  *
  * @return The number of set bits in @a a.
  */
-RTEMS_INLINE_ROUTINE uint32_t _Processor_mask_Count( const Processor_mask *a )
+static inline uint32_t _Processor_mask_Count( const Processor_mask *a )
 {
   return (uint32_t) __BIT_COUNT( CPU_MAXIMUM_PROCESSORS, a );
 }
@@ -334,7 +334,7 @@ RTEMS_INLINE_ROUTINE uint32_t _Processor_mask_Count( const Processor_mask *a )
  *
  * @return The last set of @a a.
  */
-RTEMS_INLINE_ROUTINE uint32_t _Processor_mask_Find_last_set( const Processor_mask *a )
+static inline uint32_t _Processor_mask_Find_last_set( const Processor_mask *a )
 {
   return (uint32_t) __BIT_FLS( CPU_MAXIMUM_PROCESSORS, a );
 }
@@ -348,7 +348,7 @@ RTEMS_INLINE_ROUTINE uint32_t _Processor_mask_Find_last_set( const Processor_mas
  *
  * @return The subset containing the specified index as an unsigned 32-bit integer.
  */
-RTEMS_INLINE_ROUTINE uint32_t _Processor_mask_To_uint32_t(
+static inline uint32_t _Processor_mask_To_uint32_t(
   const Processor_mask *mask,
   uint32_t              index
 )
@@ -366,7 +366,7 @@ RTEMS_INLINE_ROUTINE uint32_t _Processor_mask_To_uint32_t(
  * @param bits The bits for creating the mask.
  * @param index The index to which the mask is relative.
  */
-RTEMS_INLINE_ROUTINE void _Processor_mask_From_uint32_t(
+static inline void _Processor_mask_From_uint32_t(
   Processor_mask *mask,
   uint32_t        bits,
   uint32_t        index
@@ -382,7 +382,7 @@ RTEMS_INLINE_ROUTINE void _Processor_mask_From_uint32_t(
  * @param[out] The mask that is created.
  * @param index The specified index.
  */
-RTEMS_INLINE_ROUTINE void _Processor_mask_From_index(
+static inline void _Processor_mask_From_index(
   Processor_mask *mask,
   uint32_t        index
 )
@@ -405,7 +405,7 @@ typedef enum {
  * @retval true At most partial loss can be guaranteed.
  * @retval false The status indicates more than partial loss.
  */
-RTEMS_INLINE_ROUTINE bool _Processor_mask_Is_at_most_partial_loss(
+static inline bool _Processor_mask_Is_at_most_partial_loss(
   Processor_mask_Copy_status status
 )
 {
@@ -452,7 +452,7 @@ Processor_mask_Copy_status _Processor_mask_Copy(
  * @retval PROCESSOR_MASK_COPY_INVALID_SIZE One of the arguments sizes
  *      is invalid (bigger than the size of a long).
  */
-RTEMS_INLINE_ROUTINE Processor_mask_Copy_status _Processor_mask_To_cpu_set_t(
+static inline Processor_mask_Copy_status _Processor_mask_To_cpu_set_t(
   const Processor_mask *src,
   size_t                dst_size,
   cpu_set_t            *dst
@@ -482,7 +482,7 @@ RTEMS_INLINE_ROUTINE Processor_mask_Copy_status _Processor_mask_To_cpu_set_t(
  * @retval PROCESSOR_MASK_COPY_INVALID_SIZE One of the arguments sizes
  *      is invalid (bigger than the size of a long).
  */
-RTEMS_INLINE_ROUTINE Processor_mask_Copy_status _Processor_mask_From_cpu_set_t(
+static inline Processor_mask_Copy_status _Processor_mask_From_cpu_set_t(
   Processor_mask  *dst,
   size_t           src_size,
   const cpu_set_t *src
diff --git a/cpukit/include/rtems/score/protectedheap.h b/cpukit/include/rtems/score/protectedheap.h
index d165c4ddec..884d7e1c47 100644
--- a/cpukit/include/rtems/score/protectedheap.h
+++ b/cpukit/include/rtems/score/protectedheap.h
@@ -65,7 +65,7 @@ extern "C" {
  * @param area_size The size of the heap area.
  * @param page_size The page size for the heap.
  */
-RTEMS_INLINE_ROUTINE uintptr_t _Protected_heap_Initialize(
+static inline uintptr_t _Protected_heap_Initialize(
   Heap_Control *heap,
   void *area_begin,
   uintptr_t area_size,
@@ -131,7 +131,7 @@ void *_Protected_heap_Allocate_aligned_with_boundary(
  * @retval pointer The starting address of the allocated memory area.
  * @retval NULL No memory is available of the parameters are inconsistent.
  */
-RTEMS_INLINE_ROUTINE void *_Protected_heap_Allocate_aligned(
+static inline void *_Protected_heap_Allocate_aligned(
   Heap_Control *heap,
   uintptr_t size,
   uintptr_t alignment
@@ -154,7 +154,7 @@ RTEMS_INLINE_ROUTINE void *_Protected_heap_Allocate_aligned(
  * @retval pointer The starting address of the allocated memory area.
  * @retval NULL No memory is available of the parameters are inconsistent.
  */
-RTEMS_INLINE_ROUTINE void *_Protected_heap_Allocate(
+static inline void *_Protected_heap_Allocate(
   Heap_Control *heap,
   uintptr_t size
 )
diff --git a/cpukit/include/rtems/score/rbtree.h b/cpukit/include/rtems/score/rbtree.h
index aa8d1a32a6..253ef296bc 100644
--- a/cpukit/include/rtems/score/rbtree.h
+++ b/cpukit/include/rtems/score/rbtree.h
@@ -103,7 +103,7 @@ typedef RB_HEAD(RBTree_Control, RBTree_Node) RBTree_Control;
  *
  * @see _RBTree_Is_node_off_tree().
  */
-RTEMS_INLINE_ROUTINE void _RBTree_Set_off_tree( RBTree_Node *the_node )
+static inline void _RBTree_Set_off_tree( RBTree_Node *the_node )
 {
   RB_COLOR( the_node, Node ) = -1;
 }
@@ -118,7 +118,7 @@ RTEMS_INLINE_ROUTINE void _RBTree_Set_off_tree( RBTree_Node *the_node )
  *
  * @see _RBTree_Set_off_tree().
  */
-RTEMS_INLINE_ROUTINE bool _RBTree_Is_node_off_tree(
+static inline bool _RBTree_Is_node_off_tree(
   const RBTree_Node *the_node
 )
 {
@@ -144,7 +144,7 @@ void _RBTree_Insert_color(
  *
  * @param[out] the_node The red-black tree node to initialize.
  */
-RTEMS_INLINE_ROUTINE void _RBTree_Initialize_node( RBTree_Node *the_node )
+static inline void _RBTree_Initialize_node( RBTree_Node *the_node )
 {
 #if defined(RTEMS_DEBUG)
   _RBTree_Set_off_tree( the_node );
@@ -160,7 +160,7 @@ RTEMS_INLINE_ROUTINE void _RBTree_Initialize_node( RBTree_Node *the_node )
  * @param[out] parent The parent node.
  * @param[out] link The child node link of the parent node.
  */
-RTEMS_INLINE_ROUTINE void _RBTree_Add_child(
+static inline void _RBTree_Add_child(
   RBTree_Node  *child,
   RBTree_Node  *parent,
   RBTree_Node **link
@@ -221,7 +221,7 @@ RTEMS_INLINE_ROUTINE void _RBTree_Add_child(
  * }
  * @endcode
  */
-RTEMS_INLINE_ROUTINE void _RBTree_Insert_with_parent(
+static inline void _RBTree_Insert_with_parent(
   RBTree_Control  *the_rbtree,
   RBTree_Node     *the_node,
   RBTree_Node     *parent,
@@ -261,7 +261,7 @@ void _RBTree_Extract(
  *
  * @see _RBTree_Is_root().
  */
-RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Root(
+static inline RBTree_Node *_RBTree_Root(
   const RBTree_Control *the_rbtree
 )
 {
@@ -276,7 +276,7 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Root(
  * @retval pointer Pointer to the root node.
  * @retval NULL The tree is empty.
  */
-RTEMS_INLINE_ROUTINE RBTree_Node **_RBTree_Root_reference(
+static inline RBTree_Node **_RBTree_Root_reference(
   RBTree_Control *the_rbtree
 )
 {
@@ -291,7 +291,7 @@ RTEMS_INLINE_ROUTINE RBTree_Node **_RBTree_Root_reference(
  * @retval pointer Pointer to the root node.
  * @retval NULL The tree is empty.
  */
-RTEMS_INLINE_ROUTINE RBTree_Node * const *_RBTree_Root_const_reference(
+static inline RBTree_Node * const *_RBTree_Root_const_reference(
   const RBTree_Control *the_rbtree
 )
 {
@@ -310,7 +310,7 @@ RTEMS_INLINE_ROUTINE RBTree_Node * const *_RBTree_Root_const_reference(
  * @retval parent The parent of this node.
  * @retval undefined The node is the root node or not part of a tree.
  */
-RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Parent(
+static inline RBTree_Node *_RBTree_Parent(
   const RBTree_Node *the_node
 )
 {
@@ -326,7 +326,7 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Parent(
  *
  * @return This method returns the left node on the rbtree.
  */
-RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Left(
+static inline RBTree_Node *_RBTree_Left(
   const RBTree_Node *the_node
 )
 {
@@ -341,7 +341,7 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Left(
  *
  * @return This method returns a reference to the left child pointer on the rbtree.
  */
-RTEMS_INLINE_ROUTINE RBTree_Node **_RBTree_Left_reference(
+static inline RBTree_Node **_RBTree_Left_reference(
   RBTree_Node *the_node
 )
 {
@@ -357,7 +357,7 @@ RTEMS_INLINE_ROUTINE RBTree_Node **_RBTree_Left_reference(
  *
  * @return This method returns the right node on the rbtree.
  */
-RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Right(
+static inline RBTree_Node *_RBTree_Right(
   const RBTree_Node *the_node
 )
 {
@@ -372,7 +372,7 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Right(
  *
  * @return This method returns a reference to the right child pointer on the rbtree.
  */
-RTEMS_INLINE_ROUTINE RBTree_Node **_RBTree_Right_reference(
+static inline RBTree_Node **_RBTree_Right_reference(
   RBTree_Node *the_node
 )
 {
@@ -390,7 +390,7 @@ RTEMS_INLINE_ROUTINE RBTree_Node **_RBTree_Right_reference(
  * @retval true There are no nodes on @a the_rbtree.
  * @retval false There are nodes on @a the_rbtree.
  */
-RTEMS_INLINE_ROUTINE bool _RBTree_Is_empty(
+static inline bool _RBTree_Is_empty(
   const RBTree_Control *the_rbtree
 )
 {
@@ -411,7 +411,7 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_empty(
  *
  * @see _RBTree_Root().
  */
-RTEMS_INLINE_ROUTINE bool _RBTree_Is_root(
+static inline bool _RBTree_Is_root(
   const RBTree_Node *the_node
 )
 {
@@ -425,7 +425,7 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_root(
  *
  * @param[out] the_rbtree The rbtree to initialize.
  */
-RTEMS_INLINE_ROUTINE void _RBTree_Initialize_empty(
+static inline void _RBTree_Initialize_empty(
   RBTree_Control *the_rbtree
 )
 {
@@ -439,7 +439,7 @@ RTEMS_INLINE_ROUTINE void _RBTree_Initialize_empty(
  * @param[out] the_rbtree The red-black tree control.
  * @param[out] the_node The one and only node.
  */
-RTEMS_INLINE_ROUTINE void _RBTree_Initialize_one(
+static inline void _RBTree_Initialize_one(
   RBTree_Control *the_rbtree,
   RBTree_Node    *the_node
 )
@@ -523,7 +523,7 @@ void _RBTree_Replace_node(
  * @retval false The inserted node is not the new minimum node according to the
  *   specified less order function.
  */
-RTEMS_INLINE_ROUTINE bool _RBTree_Insert_inline(
+static inline bool _RBTree_Insert_inline(
   RBTree_Control *the_rbtree,
   RBTree_Node    *the_node,
   const void     *key,
@@ -572,7 +572,7 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Insert_inline(
  * @retval object An object with the specified key.
  * @retval NULL No object with the specified key exists in the red-black tree.
  */
-RTEMS_INLINE_ROUTINE void *_RBTree_Find_inline(
+static inline void *_RBTree_Find_inline(
   const RBTree_Control *the_rbtree,
   const void           *key,
   bool               ( *equal )( const void *, const RBTree_Node * ),
diff --git a/cpukit/include/rtems/score/schedulercbsimpl.h b/cpukit/include/rtems/score/schedulercbsimpl.h
index c51400b135..83d4eac9d8 100644
--- a/cpukit/include/rtems/score/schedulercbsimpl.h
+++ b/cpukit/include/rtems/score/schedulercbsimpl.h
@@ -57,7 +57,7 @@ extern "C" {
  *
  * @return Pointer to the scheduler node of @a the_thread.
  */
-RTEMS_INLINE_ROUTINE Scheduler_CBS_Node *_Scheduler_CBS_Thread_get_node(
+static inline Scheduler_CBS_Node *_Scheduler_CBS_Thread_get_node(
   Thread_Control *the_thread
 )
 {
@@ -71,7 +71,7 @@ RTEMS_INLINE_ROUTINE Scheduler_CBS_Node *_Scheduler_CBS_Thread_get_node(
  *
  * @return CBS Node pointer to @a node.
  */
-RTEMS_INLINE_ROUTINE Scheduler_CBS_Node *_Scheduler_CBS_Node_downcast(
+static inline Scheduler_CBS_Node *_Scheduler_CBS_Node_downcast(
   Scheduler_Node *node
 )
 {
diff --git a/cpukit/include/rtems/score/scheduleredfimpl.h b/cpukit/include/rtems/score/scheduleredfimpl.h
index 1273de44ac..8aa0388537 100644
--- a/cpukit/include/rtems/score/scheduleredfimpl.h
+++ b/cpukit/include/rtems/score/scheduleredfimpl.h
@@ -67,7 +67,7 @@ extern "C" {
  *
  * @return The scheduler context of @a scheduler.
  */
-RTEMS_INLINE_ROUTINE Scheduler_EDF_Context *
+static inline Scheduler_EDF_Context *
   _Scheduler_EDF_Get_context( const Scheduler_Control *scheduler )
 {
   return (Scheduler_EDF_Context *) _Scheduler_Get_context( scheduler );
@@ -80,7 +80,7 @@ RTEMS_INLINE_ROUTINE Scheduler_EDF_Context *
  *
  * @return The EDF scheduler node of @a the_thread.
  */
-RTEMS_INLINE_ROUTINE Scheduler_EDF_Node *_Scheduler_EDF_Thread_get_node(
+static inline Scheduler_EDF_Node *_Scheduler_EDF_Thread_get_node(
   Thread_Control *the_thread
 )
 {
@@ -94,7 +94,7 @@ RTEMS_INLINE_ROUTINE Scheduler_EDF_Node *_Scheduler_EDF_Thread_get_node(
  *
  * @return The corresponding scheduler EDF node.
  */
-RTEMS_INLINE_ROUTINE Scheduler_EDF_Node * _Scheduler_EDF_Node_downcast(
+static inline Scheduler_EDF_Node * _Scheduler_EDF_Node_downcast(
   Scheduler_Node *node
 )
 {
@@ -110,7 +110,7 @@ RTEMS_INLINE_ROUTINE Scheduler_EDF_Node * _Scheduler_EDF_Node_downcast(
  * @retval true @a left is less than the priority of @a right.
  * @retval false @a left is greater or equal than the priority of @a right.
  */
-RTEMS_INLINE_ROUTINE bool _Scheduler_EDF_Less(
+static inline bool _Scheduler_EDF_Less(
   const void        *left,
   const RBTree_Node *right
 )
@@ -138,7 +138,7 @@ RTEMS_INLINE_ROUTINE bool _Scheduler_EDF_Less(
  * @retval true @a left is less or equal than the priority of @a right.
  * @retval false @a left is greater than the priority of @a right.
  */
-RTEMS_INLINE_ROUTINE bool _Scheduler_EDF_Priority_less_equal(
+static inline bool _Scheduler_EDF_Priority_less_equal(
   const void        *left,
   const RBTree_Node *right
 )
@@ -165,7 +165,7 @@ RTEMS_INLINE_ROUTINE bool _Scheduler_EDF_Priority_less_equal(
  * @param node The node to be inserted.
  * @param insert_priority The priority with which the node will be inserted.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_EDF_Enqueue(
+static inline void _Scheduler_EDF_Enqueue(
   Scheduler_EDF_Context *context,
   Scheduler_EDF_Node    *node,
   Priority_Control       insert_priority
@@ -185,7 +185,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_EDF_Enqueue(
  * @param[in, out] context The context to extract the node from.
  * @param[in, out] node The node to extract.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_EDF_Extract(
+static inline void _Scheduler_EDF_Extract(
   Scheduler_EDF_Context *context,
   Scheduler_EDF_Node    *node
 )
@@ -200,7 +200,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_EDF_Extract(
  * @param the_thread The thread is not used in this method.
  * @param[in, out] node The node to be extracted.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_EDF_Extract_body(
+static inline void _Scheduler_EDF_Extract_body(
   const Scheduler_Control *scheduler,
   Thread_Control          *the_thread,
   Scheduler_Node          *node
@@ -220,7 +220,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_EDF_Extract_body(
  *
  * @param scheduler is the scheduler.
  */
-RTEMS_INLINE_ROUTINE Thread_Control *_Scheduler_EDF_Get_highest_ready(
+static inline Thread_Control *_Scheduler_EDF_Get_highest_ready(
   const Scheduler_Control *scheduler
 )
 {
diff --git a/cpukit/include/rtems/score/schedulerimpl.h b/cpukit/include/rtems/score/schedulerimpl.h
index 33070651db..2056408e6a 100644
--- a/cpukit/include/rtems/score/schedulerimpl.h
+++ b/cpukit/include/rtems/score/schedulerimpl.h
@@ -101,7 +101,7 @@ void _Scheduler_Handler_initialization( void );
  *
  * @return The context of @a scheduler.
  */
-RTEMS_INLINE_ROUTINE Scheduler_Context *_Scheduler_Get_context(
+static inline Scheduler_Context *_Scheduler_Get_context(
   const Scheduler_Control *scheduler
 )
 {
@@ -115,7 +115,7 @@ RTEMS_INLINE_ROUTINE Scheduler_Context *_Scheduler_Get_context(
  *
  * @return The scheduler for the cpu.
  */
-RTEMS_INLINE_ROUTINE const Scheduler_Control *_Scheduler_Get_by_CPU(
+static inline const Scheduler_Control *_Scheduler_Get_by_CPU(
   const Per_CPU_Control *cpu
 )
 {
@@ -135,7 +135,7 @@ RTEMS_INLINE_ROUTINE const Scheduler_Control *_Scheduler_Get_by_CPU(
  * @param lock_context The lock context to use for
  *   _Scheduler_Release_critical().
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Acquire_critical(
+static inline void _Scheduler_Acquire_critical(
   const Scheduler_Control *scheduler,
   ISR_lock_Context        *lock_context
 )
@@ -159,7 +159,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Acquire_critical(
  * @param lock_context The lock context used for
  *   _Scheduler_Acquire_critical().
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Release_critical(
+static inline void _Scheduler_Release_critical(
   const Scheduler_Control *scheduler,
   ISR_lock_Context        *lock_context
 )
@@ -185,7 +185,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Release_critical(
  * @return True if the non-preempt mode for threads is supported by the
  *   scheduler, otherwise false.
  */
-RTEMS_INLINE_ROUTINE bool _Scheduler_Is_non_preempt_mode_supported(
+static inline bool _Scheduler_Is_non_preempt_mode_supported(
   const Scheduler_Control *scheduler
 )
 {
@@ -216,7 +216,7 @@ RTEMS_INLINE_ROUTINE bool _Scheduler_Is_non_preempt_mode_supported(
  *
  * @param the_thread The thread which state changed previously.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Schedule( Thread_Control *the_thread )
+static inline void _Scheduler_Schedule( Thread_Control *the_thread )
 {
   const Scheduler_Control *scheduler;
   ISR_lock_Context         lock_context;
@@ -237,7 +237,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Schedule( Thread_Control *the_thread )
  *
  * @param the_thread The yielding thread.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Yield( Thread_Control *the_thread )
+static inline void _Scheduler_Yield( Thread_Control *the_thread )
 {
   const Scheduler_Control *scheduler;
   ISR_lock_Context         lock_context;
@@ -262,7 +262,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Yield( Thread_Control *the_thread )
  *
  * @param the_thread The thread.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Block( Thread_Control *the_thread )
+static inline void _Scheduler_Block( Thread_Control *the_thread )
 {
 #if defined(RTEMS_SMP)
   Chain_Node              *node;
@@ -324,7 +324,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Block( Thread_Control *the_thread )
  *
  * @see _Scheduler_Node_get_priority().
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Unblock( Thread_Control *the_thread )
+static inline void _Scheduler_Unblock( Thread_Control *the_thread )
 {
   Scheduler_Node          *scheduler_node;
   const Scheduler_Control *scheduler;
@@ -359,7 +359,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Unblock( Thread_Control *the_thread )
  *
  * @see _Scheduler_Node_get_priority().
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Update_priority( Thread_Control *the_thread )
+static inline void _Scheduler_Update_priority( Thread_Control *the_thread )
 {
 #if defined(RTEMS_SMP)
   Chain_Node       *node;
@@ -413,7 +413,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Update_priority( Thread_Control *the_thread
  *
  * @return The corresponding thread priority of the scheduler domain is returned.
  */
-RTEMS_INLINE_ROUTINE Priority_Control _Scheduler_Map_priority(
+static inline Priority_Control _Scheduler_Map_priority(
   const Scheduler_Control *scheduler,
   Priority_Control         priority
 )
@@ -429,7 +429,7 @@ RTEMS_INLINE_ROUTINE Priority_Control _Scheduler_Map_priority(
  *
  * @return The corresponding thread priority of the user domain is returned.
  */
-RTEMS_INLINE_ROUTINE Priority_Control _Scheduler_Unmap_priority(
+static inline Priority_Control _Scheduler_Unmap_priority(
   const Scheduler_Control *scheduler,
   Priority_Control         priority
 )
@@ -450,7 +450,7 @@ RTEMS_INLINE_ROUTINE Priority_Control _Scheduler_Unmap_priority(
  * @param the_thread The thread of the scheduler node to initialize.
  * @param priority The thread priority.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Node_initialize(
+static inline void _Scheduler_Node_initialize(
   const Scheduler_Control *scheduler,
   Scheduler_Node          *node,
   Thread_Control          *the_thread,
@@ -474,7 +474,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Node_initialize(
  * @param scheduler The scheduler instance.
  * @param[out] node The scheduler node to destroy.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Node_destroy(
+static inline void _Scheduler_Node_destroy(
   const Scheduler_Control *scheduler,
   Scheduler_Node          *node
 )
@@ -491,7 +491,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Node_destroy(
  * @param queue_context The thread queue context to provide the set of
  *   threads for _Thread_Priority_update().
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Release_job(
+static inline void _Scheduler_Release_job(
   Thread_Control       *the_thread,
   Priority_Node        *priority_node,
   uint64_t              deadline,
@@ -518,7 +518,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Release_job(
  * @param queue_context The thread queue context to provide the set of
  *   threads for _Thread_Priority_update().
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Cancel_job(
+static inline void _Scheduler_Cancel_job(
   Thread_Control       *the_thread,
   Priority_Node        *priority_node,
   Thread_queue_Context *queue_context
@@ -544,7 +544,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Cancel_job(
  *
  * @see _Thread_Create_idle().
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Start_idle(
+static inline void _Scheduler_Start_idle(
   const Scheduler_Control *scheduler,
   Thread_Control          *the_thread,
   Per_CPU_Control         *cpu
@@ -563,7 +563,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Start_idle(
  * @retval true The scheduler of the cpu is the given @a scheduler.
  * @retval false The scheduler of the cpu is not the given @a scheduler.
  */
-RTEMS_INLINE_ROUTINE bool _Scheduler_Has_processor_ownership(
+static inline bool _Scheduler_Has_processor_ownership(
   const Scheduler_Control *scheduler,
   uint32_t                 cpu_index
 )
@@ -591,7 +591,7 @@ RTEMS_INLINE_ROUTINE bool _Scheduler_Has_processor_ownership(
  *
  * @return The processors of the context of the given scheduler.
  */
-RTEMS_INLINE_ROUTINE const Processor_mask *_Scheduler_Get_processors(
+static inline const Processor_mask *_Scheduler_Get_processors(
   const Scheduler_Control *scheduler
 )
 {
@@ -632,7 +632,7 @@ Status_Control _Scheduler_Get_affinity(
  * @retval STATUS_INVALID_NUMBER The affinity is not a subset of the online
  *   processors.
  */
-RTEMS_INLINE_ROUTINE Status_Control _Scheduler_default_Set_affinity_body(
+static inline Status_Control _Scheduler_default_Set_affinity_body(
   const Scheduler_Control *scheduler,
   Thread_Control          *the_thread,
   Scheduler_Node          *node,
@@ -675,7 +675,7 @@ Status_Control _Scheduler_Set_affinity(
  *
  * @return The number of processors.
  */
-RTEMS_INLINE_ROUTINE uint32_t _Scheduler_Get_processor_count(
+static inline uint32_t _Scheduler_Get_processor_count(
   const Scheduler_Control *scheduler
 )
 {
@@ -697,7 +697,7 @@ RTEMS_INLINE_ROUTINE uint32_t _Scheduler_Get_processor_count(
  *
  * @return The build id.
  */
-RTEMS_INLINE_ROUTINE Objects_Id _Scheduler_Build_id( uint32_t scheduler_index )
+static inline Objects_Id _Scheduler_Build_id( uint32_t scheduler_index )
 {
   return _Objects_Build_id(
     OBJECTS_FAKE_OBJECTS_API,
@@ -714,7 +714,7 @@ RTEMS_INLINE_ROUTINE Objects_Id _Scheduler_Build_id( uint32_t scheduler_index )
  *
  * @return The scheduler index.
  */
-RTEMS_INLINE_ROUTINE uint32_t _Scheduler_Get_index_by_id( Objects_Id id )
+static inline uint32_t _Scheduler_Get_index_by_id( Objects_Id id )
 {
   uint32_t minimum_id = _Scheduler_Build_id( 0 );
 
@@ -728,7 +728,7 @@ RTEMS_INLINE_ROUTINE uint32_t _Scheduler_Get_index_by_id( Objects_Id id )
  *
  * @return The scheduler to the object id.
  */
-RTEMS_INLINE_ROUTINE const Scheduler_Control *_Scheduler_Get_by_id(
+static inline const Scheduler_Control *_Scheduler_Get_by_id(
   Objects_Id id
 )
 {
@@ -750,7 +750,7 @@ RTEMS_INLINE_ROUTINE const Scheduler_Control *_Scheduler_Get_by_id(
  *
  * @return The index of the given scheduler.
  */
-RTEMS_INLINE_ROUTINE uint32_t _Scheduler_Get_index(
+static inline uint32_t _Scheduler_Get_index(
   const Scheduler_Control *scheduler
 )
 {
@@ -787,7 +787,7 @@ typedef void ( *Scheduler_Release_idle_node )(
  * @param[out] the_thread The thread to change the state of.
  * @param new_state The new state for @a the_thread.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Thread_change_state(
+static inline void _Scheduler_Thread_change_state(
   Thread_Control         *the_thread,
   Thread_Scheduler_state  new_state
 )
@@ -810,7 +810,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Thread_change_state(
  *
  * @param arg is the handler argument.
  */
-RTEMS_INLINE_ROUTINE Thread_Control *_Scheduler_Use_idle_thread(
+static inline Thread_Control *_Scheduler_Use_idle_thread(
   Scheduler_Node          *node,
   Scheduler_Get_idle_node  get_idle_node,
   void                    *arg
@@ -838,7 +838,7 @@ RTEMS_INLINE_ROUTINE Thread_Control *_Scheduler_Use_idle_thread(
  *
  * @param arg is the handler argument.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Release_idle_thread(
+static inline void _Scheduler_Release_idle_thread(
   Scheduler_Node             *node,
   const Thread_Control       *idle,
   Scheduler_Release_idle_node release_idle_node,
@@ -870,7 +870,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Release_idle_thread(
  *
  * @return Returns the idle thread used by the scheduler node.
  */
-RTEMS_INLINE_ROUTINE Thread_Control *_Scheduler_Release_idle_thread_if_necessary(
+static inline Thread_Control *_Scheduler_Release_idle_thread_if_necessary(
   Scheduler_Node             *node,
   Scheduler_Release_idle_node release_idle_node,
   void                        *arg
@@ -898,7 +898,7 @@ RTEMS_INLINE_ROUTINE Thread_Control *_Scheduler_Release_idle_thread_if_necessary
  *
  * @param arg is the handler argument.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Discard_idle_thread(
+static inline void _Scheduler_Discard_idle_thread(
   Thread_Control             *the_thread,
   Scheduler_Node             *node,
   Scheduler_Release_idle_node release_idle_node,
@@ -928,7 +928,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Discard_idle_thread(
  * @retval STATUS_RESOURCE_IN_USE The thread's wait queue is not empty.
  * @retval STATUS_UNSATISFIED The new scheduler has no processors.
  */
-RTEMS_INLINE_ROUTINE Status_Control _Scheduler_Set(
+static inline Status_Control _Scheduler_Set(
   const Scheduler_Control *new_scheduler,
   Thread_Control          *the_thread,
   Priority_Control         priority
diff --git a/cpukit/include/rtems/score/schedulernodeimpl.h b/cpukit/include/rtems/score/schedulernodeimpl.h
index 5231c6aef2..ef1813d39c 100644
--- a/cpukit/include/rtems/score/schedulernodeimpl.h
+++ b/cpukit/include/rtems/score/schedulernodeimpl.h
@@ -100,7 +100,7 @@ extern "C" {
  *
  * @param priority is the initial priority of the node.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Node_do_initialize(
+static inline void _Scheduler_Node_do_initialize(
   const struct _Scheduler_Control *scheduler,
   Scheduler_Node                  *node,
   Thread_Control                  *the_thread,
@@ -132,7 +132,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Node_do_initialize(
  *
  * @param[in, out] node is the node to destroy.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Node_do_destroy(
+static inline void _Scheduler_Node_do_destroy(
   const struct _Scheduler_Control *scheduler,
   Scheduler_Node                  *node
 )
@@ -153,7 +153,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Node_do_destroy(
  *
  * @return The scheduler of the node.
  */
-RTEMS_INLINE_ROUTINE const Scheduler_Control *_Scheduler_Node_get_scheduler(
+static inline const Scheduler_Control *_Scheduler_Node_get_scheduler(
   const Scheduler_Node *node
 )
 {
@@ -167,7 +167,7 @@ RTEMS_INLINE_ROUTINE const Scheduler_Control *_Scheduler_Node_get_scheduler(
  *
  * @return The owner of the node.
  */
-RTEMS_INLINE_ROUTINE Thread_Control *_Scheduler_Node_get_owner(
+static inline Thread_Control *_Scheduler_Node_get_owner(
   const Scheduler_Node *node
 )
 {
@@ -181,7 +181,7 @@ RTEMS_INLINE_ROUTINE Thread_Control *_Scheduler_Node_get_owner(
  *
  * @return The priority of the node.
  */
-RTEMS_INLINE_ROUTINE Priority_Control _Scheduler_Node_get_priority(
+static inline Priority_Control _Scheduler_Node_get_priority(
   Scheduler_Node *node
 )
 {
@@ -214,7 +214,7 @@ RTEMS_INLINE_ROUTINE Priority_Control _Scheduler_Node_get_priority(
  * @param group_order is the priority group order, see #PRIORITY_GROUP_FIRST
  *   and #PRIORITY_GROUP_LAST.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Node_set_priority(
+static inline void _Scheduler_Node_set_priority(
   Scheduler_Node      *node,
   Priority_Control     new_priority,
   Priority_Group_order group_order
@@ -243,7 +243,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Node_set_priority(
  *
  * @return The user of the node.
  */
-RTEMS_INLINE_ROUTINE Thread_Control *_Scheduler_Node_get_user(
+static inline Thread_Control *_Scheduler_Node_get_user(
   const Scheduler_Node *node
 )
 {
@@ -256,7 +256,7 @@ RTEMS_INLINE_ROUTINE Thread_Control *_Scheduler_Node_get_user(
  * @param[out] node The node to set the user of.
  * @param user The new user for @a node.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Node_set_user(
+static inline void _Scheduler_Node_set_user(
   Scheduler_Node *node,
   Thread_Control *user
 )
@@ -271,7 +271,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Node_set_user(
  *
  * @return The idle thread of @a node.
  */
-RTEMS_INLINE_ROUTINE Thread_Control *_Scheduler_Node_get_idle(
+static inline Thread_Control *_Scheduler_Node_get_idle(
   const Scheduler_Node *node
 )
 {
@@ -285,7 +285,7 @@ RTEMS_INLINE_ROUTINE Thread_Control *_Scheduler_Node_get_idle(
  *
  * @param idle is the idle thread to use.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_Node_set_idle_user(
+static inline void _Scheduler_Node_set_idle_user(
   Scheduler_Node *node,
   Thread_Control *idle
 )
diff --git a/cpukit/include/rtems/score/schedulerpriorityimpl.h b/cpukit/include/rtems/score/schedulerpriorityimpl.h
index 06d2027a45..eef0de59b1 100644
--- a/cpukit/include/rtems/score/schedulerpriorityimpl.h
+++ b/cpukit/include/rtems/score/schedulerpriorityimpl.h
@@ -61,7 +61,7 @@ extern "C" {
  *
  * @return The context of the scheduler.
  */
-RTEMS_INLINE_ROUTINE Scheduler_priority_Context *
+static inline Scheduler_priority_Context *
   _Scheduler_priority_Get_context( const Scheduler_Control *scheduler )
 {
   return (Scheduler_priority_Context *) _Scheduler_Get_context( scheduler );
@@ -74,7 +74,7 @@ RTEMS_INLINE_ROUTINE Scheduler_priority_Context *
  *
  * @return The scheduler node of @a the_thread.
  */
-RTEMS_INLINE_ROUTINE Scheduler_priority_Node *_Scheduler_priority_Thread_get_node(
+static inline Scheduler_priority_Node *_Scheduler_priority_Thread_get_node(
   Thread_Control *the_thread
 )
 {
@@ -88,7 +88,7 @@ RTEMS_INLINE_ROUTINE Scheduler_priority_Node *_Scheduler_priority_Thread_get_nod
  *
  * @return The priority node.
  */
-RTEMS_INLINE_ROUTINE Scheduler_priority_Node *_Scheduler_priority_Node_downcast(
+static inline Scheduler_priority_Node *_Scheduler_priority_Node_downcast(
   Scheduler_Node *node
 )
 {
@@ -103,7 +103,7 @@ RTEMS_INLINE_ROUTINE Scheduler_priority_Node *_Scheduler_priority_Node_downcast(
  * @param[out] ready_queues The ready queue to initialize.
  * @param maximum_priority The maximum priority in the ready queue.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_initialize(
+static inline void _Scheduler_priority_Ready_queue_initialize(
   Chain_Control    *ready_queues,
   Priority_Control  maximum_priority
 )
@@ -124,7 +124,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_initialize(
  * @param[in, out] ready_queue The ready queue.
  * @param[out] bit_map The priority bit map of the scheduler instance.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_enqueue(
+static inline void _Scheduler_priority_Ready_queue_enqueue(
   Chain_Node                     *node,
   Scheduler_priority_Ready_queue *ready_queue,
   Priority_bit_map_Control       *bit_map
@@ -145,7 +145,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_enqueue(
  * @param[in, out] ready_queue The ready queue.
  * @param[out] bit_map The priority bit map of the scheduler instance.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_enqueue_first(
+static inline void _Scheduler_priority_Ready_queue_enqueue_first(
   Chain_Node                     *node,
   Scheduler_priority_Ready_queue *ready_queue,
   Priority_bit_map_Control       *bit_map
@@ -164,7 +164,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_enqueue_first(
  * @param[in, out] ready_queue The ready queue.
  * @param[out] bit_map The priority bit map of the scheduler instance.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_extract(
+static inline void _Scheduler_priority_Ready_queue_extract(
   Chain_Node                     *node,
   Scheduler_priority_Ready_queue *ready_queue,
   Priority_bit_map_Control       *bit_map
@@ -188,7 +188,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_extract(
  * @param the_thread The thread of which the node will be extracted.
  * @param[in, out] The node which preserves the ready queue.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_priority_Extract_body(
+static inline void _Scheduler_priority_Extract_body(
   const Scheduler_Control *scheduler,
   Thread_Control          *the_thread,
   Scheduler_Node          *node
@@ -217,7 +217,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Extract_body(
  *
  * @return This method returns the first node.
  */
-RTEMS_INLINE_ROUTINE Chain_Node *_Scheduler_priority_Ready_queue_first(
+static inline Chain_Node *_Scheduler_priority_Ready_queue_first(
   Priority_bit_map_Control *bit_map,
   Chain_Control            *ready_queues
 )
@@ -235,7 +235,7 @@ RTEMS_INLINE_ROUTINE Chain_Node *_Scheduler_priority_Ready_queue_first(
  *
  * @param scheduler is the scheduler.
  */
-RTEMS_INLINE_ROUTINE Thread_Control *_Scheduler_priority_Get_highest_ready(
+static inline Thread_Control *_Scheduler_priority_Get_highest_ready(
   const Scheduler_Control *scheduler
 )
 {
@@ -257,7 +257,7 @@ RTEMS_INLINE_ROUTINE Thread_Control *_Scheduler_priority_Get_highest_ready(
  * @param bit_map The priority bit map of the scheduler instance.
  * @param ready_queues The ready queues of the scheduler instance.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_update(
+static inline void _Scheduler_priority_Ready_queue_update(
   Scheduler_priority_Ready_queue *ready_queue,
   unsigned int                    new_priority,
   Priority_bit_map_Control       *bit_map,
diff --git a/cpukit/include/rtems/score/schedulersimpleimpl.h b/cpukit/include/rtems/score/schedulersimpleimpl.h
index 2293433870..da052ba1b4 100644
--- a/cpukit/include/rtems/score/schedulersimpleimpl.h
+++ b/cpukit/include/rtems/score/schedulersimpleimpl.h
@@ -58,7 +58,7 @@ extern "C" {
  *
  * @return The context of @a scheduler.
  */
-RTEMS_INLINE_ROUTINE Scheduler_simple_Context *
+static inline Scheduler_simple_Context *
   _Scheduler_simple_Get_context( const Scheduler_Control *scheduler )
 {
   return (Scheduler_simple_Context *) _Scheduler_Get_context( scheduler );
@@ -76,7 +76,7 @@ RTEMS_INLINE_ROUTINE Scheduler_simple_Context *
  * @retval true @a to_insert is smaller or equal than the priority of @a next.
  * @retval false @a to_insert is greater than the priority of @a next.
  */
-RTEMS_INLINE_ROUTINE bool _Scheduler_simple_Priority_less_equal(
+static inline bool _Scheduler_simple_Priority_less_equal(
   const void       *key,
   const Chain_Node *to_insert,
   const Chain_Node *next
@@ -99,7 +99,7 @@ RTEMS_INLINE_ROUTINE bool _Scheduler_simple_Priority_less_equal(
  * @param[in, out] to_insert The node to insert into @a chain.
  * @param insert_priority The priority to insert @a to_insert with.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_simple_Insert(
+static inline void _Scheduler_simple_Insert(
   Chain_Control  *chain,
   Thread_Control *to_insert,
   unsigned int    insert_priority
@@ -120,7 +120,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_simple_Insert(
  * @param[in, out] the_thread The thread of which to extract the node out of its chain.
  * @param node This parameter is unused.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_simple_Extract(
+static inline void _Scheduler_simple_Extract(
   const Scheduler_Control *scheduler,
   Thread_Control          *the_thread,
   Scheduler_Node          *node
@@ -137,7 +137,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_simple_Extract(
  *
  * @param scheduler is the scheduler.
  */
-RTEMS_INLINE_ROUTINE Thread_Control *_Scheduler_simple_Get_highest_ready(
+static inline Thread_Control *_Scheduler_simple_Get_highest_ready(
   const Scheduler_Control *scheduler
 )
 {
diff --git a/cpukit/include/rtems/score/scheduleruniimpl.h b/cpukit/include/rtems/score/scheduleruniimpl.h
index faa719ce45..5cc4942fcc 100644
--- a/cpukit/include/rtems/score/scheduleruniimpl.h
+++ b/cpukit/include/rtems/score/scheduleruniimpl.h
@@ -57,7 +57,7 @@ extern "C" {
  * @param[in, out] heir is the current heir thread.
  * @param[in, out] new_heir is the new heir thread.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_uniprocessor_Update_heir(
+static inline void _Scheduler_uniprocessor_Update_heir(
   Thread_Control *heir,
   Thread_Control *new_heir
 )
@@ -86,7 +86,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_uniprocessor_Update_heir(
  *
  * @param[in, out] new_heir is the new heir thread.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_uniprocessor_Update_heir_if_necessary(
+static inline void _Scheduler_uniprocessor_Update_heir_if_necessary(
   Thread_Control *new_heir
 )
 {
@@ -104,7 +104,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_uniprocessor_Update_heir_if_necessary(
  * @param[in, out] heir is the current heir thread.
  * @param[in, out] new_heir is the new heir thread.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_uniprocessor_Update_heir_if_preemptible(
+static inline void _Scheduler_uniprocessor_Update_heir_if_preemptible(
   Thread_Control *heir,
   Thread_Control *new_heir
 )
@@ -123,7 +123,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_uniprocessor_Update_heir_if_preemptible(
  * @param extract is the handler to extract the thread.
  * @param get_highest_ready is the handler to get the highest ready thread.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_uniprocessor_Block(
+static inline void _Scheduler_uniprocessor_Block(
   const Scheduler_Control *scheduler,
   Thread_Control          *the_thread,
   Scheduler_Node          *node,
@@ -154,7 +154,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_uniprocessor_Block(
  * @param the_thread is the thread.
  * @param priority is the priority of the thread.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_uniprocessor_Unblock(
+static inline void _Scheduler_uniprocessor_Unblock(
   const Scheduler_Control *scheduler,
   Thread_Control          *the_thread,
   Priority_Control         priority
@@ -181,7 +181,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_uniprocessor_Unblock(
  * @param scheduler is the scheduler.
  * @param get_highest_ready is the handler to get the highest ready thread.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_uniprocessor_Schedule(
+static inline void _Scheduler_uniprocessor_Schedule(
   const Scheduler_Control *scheduler,
   Thread_Control       *( *get_highest_ready )( const Scheduler_Control * )
 )
@@ -201,7 +201,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_uniprocessor_Schedule(
  * @param scheduler is the scheduler.
  * @param get_highest_ready is the handler to get the highest ready thread.
  */
-RTEMS_INLINE_ROUTINE void _Scheduler_uniprocessor_Yield(
+static inline void _Scheduler_uniprocessor_Yield(
   const Scheduler_Control *scheduler,
   Thread_Control       *( *get_highest_ready )( const Scheduler_Control * )
 )
diff --git a/cpukit/include/rtems/score/smpimpl.h b/cpukit/include/rtems/score/smpimpl.h
index 8e965968a1..ef32687bec 100644
--- a/cpukit/include/rtems/score/smpimpl.h
+++ b/cpukit/include/rtems/score/smpimpl.h
@@ -355,7 +355,7 @@ void _SMP_Synchronize( void );
  *
  * @return The processor mask with all online processors.
  */
-RTEMS_INLINE_ROUTINE const Processor_mask *_SMP_Get_online_processors( void )
+static inline const Processor_mask *_SMP_Get_online_processors( void )
 {
 #if defined(RTEMS_SMP)
   return &_SMP_Online_processors;
@@ -370,7 +370,7 @@ RTEMS_INLINE_ROUTINE const Processor_mask *_SMP_Get_online_processors( void )
  * @return True if inter-processor interrupts are needed for the correct system
  * operation, otherwise false.
  */
-RTEMS_INLINE_ROUTINE bool _SMP_Need_inter_processor_interrupts( void )
+static inline bool _SMP_Need_inter_processor_interrupts( void )
 {
   /*
    * Use the configured processor maximum instead of the actual to allow
diff --git a/cpukit/include/rtems/score/stackimpl.h b/cpukit/include/rtems/score/stackimpl.h
index 3fe9d2cd33..1df2f151e1 100644
--- a/cpukit/include/rtems/score/stackimpl.h
+++ b/cpukit/include/rtems/score/stackimpl.h
@@ -63,7 +63,7 @@ extern "C" {
  * @param starting_address The starting_address for the new stack.
  * @param size The size of the stack in bytes.
  */
-RTEMS_INLINE_ROUTINE void _Stack_Initialize (
+static inline void _Stack_Initialize (
   Stack_Control *the_stack,
   void          *starting_address,
   size_t         size
@@ -81,7 +81,7 @@ RTEMS_INLINE_ROUTINE void _Stack_Initialize (
  *
  * @return The minimum stack size.
  */
-RTEMS_INLINE_ROUTINE uint32_t _Stack_Minimum (void)
+static inline uint32_t _Stack_Minimum (void)
 {
   return rtems_minimum_stack_size;
 }
@@ -98,7 +98,7 @@ RTEMS_INLINE_ROUTINE uint32_t _Stack_Minimum (void)
  * @retval true @a size is large enough.
  * @retval false @a size is not large enough.
  */
-RTEMS_INLINE_ROUTINE bool _Stack_Is_enough(
+static inline bool _Stack_Is_enough(
   size_t size,
   bool   is_fp
 )
@@ -128,7 +128,7 @@ RTEMS_INLINE_ROUTINE bool _Stack_Is_enough(
  *
  * @return The appropriate stack size.
  */
-RTEMS_INLINE_ROUTINE size_t _Stack_Ensure_minimum (
+static inline size_t _Stack_Ensure_minimum (
   size_t size
 )
 {
@@ -148,7 +148,7 @@ RTEMS_INLINE_ROUTINE size_t _Stack_Ensure_minimum (
  *
  * @return Returns the extended stack size.
  */
-RTEMS_INLINE_ROUTINE size_t _Stack_Extend_size(
+static inline size_t _Stack_Extend_size(
   size_t stack_size,
   bool   is_fp
 )
diff --git a/cpukit/include/rtems/score/statesimpl.h b/cpukit/include/rtems/score/statesimpl.h
index 2121731430..aa90f3c27f 100644
--- a/cpukit/include/rtems/score/statesimpl.h
+++ b/cpukit/include/rtems/score/statesimpl.h
@@ -171,7 +171,7 @@ extern "C" {
  *
  * @return This method returns the updated states value.
  */
-RTEMS_INLINE_ROUTINE States_Control _States_Set (
+static inline States_Control _States_Set (
   States_Control states_to_set,
   States_Control current_state
 )
@@ -190,7 +190,7 @@ RTEMS_INLINE_ROUTINE States_Control _States_Set (
  *
  * @return This method returns the updated states value.
  */
-RTEMS_INLINE_ROUTINE States_Control _States_Clear (
+static inline States_Control _States_Clear (
   States_Control states_to_clear,
   States_Control current_state
 )
@@ -209,7 +209,7 @@ RTEMS_INLINE_ROUTINE States_Control _States_Clear (
  * @retval true The state is ready.
  * @retval false The state is not ready.
  */
-RTEMS_INLINE_ROUTINE bool _States_Is_ready (
+static inline bool _States_Is_ready (
   States_Control the_states
 )
 {
@@ -227,7 +227,7 @@ RTEMS_INLINE_ROUTINE bool _States_Is_ready (
  * @retval true DORMANT state is set in @a the_states.
  * @retval false DORMANT state is not set in @a the_states.
  */
-RTEMS_INLINE_ROUTINE bool _States_Is_dormant (
+static inline bool _States_Is_dormant (
   States_Control the_states
 )
 {
@@ -245,7 +245,7 @@ RTEMS_INLINE_ROUTINE bool _States_Is_dormant (
  * @retval true SUSPENDED state is set in @a the_states.
  * @retval false SUSPENDED state is not set in @a the_states.
  */
-RTEMS_INLINE_ROUTINE bool _States_Is_suspended (
+static inline bool _States_Is_suspended (
   States_Control the_states
 )
 {
@@ -263,7 +263,7 @@ RTEMS_INLINE_ROUTINE bool _States_Is_suspended (
  * @retval true WAITING_FOR_TIME state is set in @a the_states.
  * @retval false WAITING_FOR_TIME state is not set in @a the_states.
  */
-RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_rpc_reply (
+static inline bool _States_Is_waiting_for_rpc_reply (
   States_Control the_states
 )
 {
@@ -281,7 +281,7 @@ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_rpc_reply (
  * @retval true WAITING_FOR_JOIN_AT_EXIT state is set in @a the_states.
  * @retval false WAITING_FOR_JOIN_AT_EXIT state is not set in @a the_states.
  */
-RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_join_at_exit(
+static inline bool _States_Is_waiting_for_join_at_exit(
   States_Control the_states
 )
 {
@@ -299,7 +299,7 @@ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_join_at_exit(
  * @retval true @a the_states is interruptible.
  * @retval false @a the_states is not interruptible.
  */
-RTEMS_INLINE_ROUTINE bool _States_Is_interruptible_by_signal (
+static inline bool _States_Is_interruptible_by_signal (
   States_Control the_states
 )
 {
@@ -320,7 +320,7 @@ RTEMS_INLINE_ROUTINE bool _States_Is_interruptible_by_signal (
  * @retval false The state indicates that the task is not blocked waiting on a
  *      local resource.
  */
-RTEMS_INLINE_ROUTINE bool _States_Is_locally_blocked (
+static inline bool _States_Is_locally_blocked (
   States_Control the_states
 )
 {
diff --git a/cpukit/include/rtems/score/sysstate.h b/cpukit/include/rtems/score/sysstate.h
index 773987b14b..1086569867 100644
--- a/cpukit/include/rtems/score/sysstate.h
+++ b/cpukit/include/rtems/score/sysstate.h
@@ -95,7 +95,7 @@ extern System_state_Codes _System_state_Current;
  *
  * @param state The state to set.
  */
-RTEMS_INLINE_ROUTINE void _System_state_Set (
+static inline void _System_state_Set (
   System_state_Codes state
 )
 {
@@ -107,7 +107,7 @@ RTEMS_INLINE_ROUTINE void _System_state_Set (
  *
  * @return The current system state.
  */
-RTEMS_INLINE_ROUTINE System_state_Codes _System_state_Get ( void )
+static inline System_state_Codes _System_state_Get ( void )
 {
   return _System_state_Current;
 }
@@ -120,7 +120,7 @@ RTEMS_INLINE_ROUTINE System_state_Codes _System_state_Get ( void )
  * @retval true @a state is before initialization.
  * @retval false @a state is not before initialization.
  */
-RTEMS_INLINE_ROUTINE bool _System_state_Is_before_initialization (
+static inline bool _System_state_Is_before_initialization (
   System_state_Codes state
 )
 {
@@ -135,7 +135,7 @@ RTEMS_INLINE_ROUTINE bool _System_state_Is_before_initialization (
  * @retval true @a state is before multitasking.
  * @retval false @a state is not before multitasking.
  */
-RTEMS_INLINE_ROUTINE bool _System_state_Is_before_multitasking (
+static inline bool _System_state_Is_before_multitasking (
   System_state_Codes state
 )
 {
@@ -150,7 +150,7 @@ RTEMS_INLINE_ROUTINE bool _System_state_Is_before_multitasking (
  * @retval true @a state is up.
  * @retval false @a state is not up.
  */
-RTEMS_INLINE_ROUTINE bool _System_state_Is_up (
+static inline bool _System_state_Is_up (
   System_state_Codes state
 )
 {
@@ -165,7 +165,7 @@ RTEMS_INLINE_ROUTINE bool _System_state_Is_up (
  * @retval true @a state is terminated.
  * @retval false @a state is not terminated.
  */
-RTEMS_INLINE_ROUTINE bool _System_state_Is_terminated (
+static inline bool _System_state_Is_terminated (
   System_state_Codes state
 )
 {
diff --git a/cpukit/include/rtems/score/threaddispatch.h b/cpukit/include/rtems/score/threaddispatch.h
index b4124ea0c2..589935823f 100644
--- a/cpukit/include/rtems/score/threaddispatch.h
+++ b/cpukit/include/rtems/score/threaddispatch.h
@@ -72,7 +72,7 @@ extern "C" {
  * @retval false The executing thread is inside a thread dispatch critical
  * section and dispatching is not allowed.
  */
-RTEMS_INLINE_ROUTINE bool _Thread_Dispatch_is_enabled(void)
+static inline bool _Thread_Dispatch_is_enabled(void)
 {
   bool enabled;
 
@@ -96,7 +96,7 @@ RTEMS_INLINE_ROUTINE bool _Thread_Dispatch_is_enabled(void)
  *
  * @return The value of the thread dispatch level.
  */
-RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_get_disable_level(void)
+static inline uint32_t _Thread_Dispatch_get_disable_level(void)
 {
   return _Thread_Dispatch_disable_level;
 }
@@ -106,7 +106,7 @@ RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_get_disable_level(void)
  *
  * This routine initializes the thread dispatching subsystem.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Dispatch_initialization( void )
+static inline void _Thread_Dispatch_initialization( void )
 {
   _Thread_Dispatch_disable_level = 1;
 }
@@ -180,7 +180,7 @@ void _Thread_Do_dispatch( Per_CPU_Control *cpu_self, ISR_Level level );
  *
  * @return The current processor.
  */
-RTEMS_INLINE_ROUTINE Per_CPU_Control *_Thread_Dispatch_disable_with_CPU(
+static inline Per_CPU_Control *_Thread_Dispatch_disable_with_CPU(
   Per_CPU_Control        *cpu_self,
   const ISR_lock_Context *lock_context
 )
@@ -207,7 +207,7 @@ RTEMS_INLINE_ROUTINE Per_CPU_Control *_Thread_Dispatch_disable_with_CPU(
  *
  * @return The current processor.
  */
-RTEMS_INLINE_ROUTINE Per_CPU_Control *_Thread_Dispatch_disable_critical(
+static inline Per_CPU_Control *_Thread_Dispatch_disable_critical(
   const ISR_lock_Context *lock_context
 )
 {
@@ -219,7 +219,7 @@ RTEMS_INLINE_ROUTINE Per_CPU_Control *_Thread_Dispatch_disable_critical(
  *
  * @return The current processor.
  */
-RTEMS_INLINE_ROUTINE Per_CPU_Control *_Thread_Dispatch_disable( void )
+static inline Per_CPU_Control *_Thread_Dispatch_disable( void )
 {
   Per_CPU_Control  *cpu_self;
   ISR_lock_Context  lock_context;
@@ -251,7 +251,7 @@ void _Thread_Dispatch_enable( Per_CPU_Control *cpu_self );
  *
  * @param[in, out] cpu_self The current processor.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Dispatch_unnest( Per_CPU_Control *cpu_self )
+static inline void _Thread_Dispatch_unnest( Per_CPU_Control *cpu_self )
 {
   _Assert( cpu_self->thread_dispatch_disable_level > 0 );
   --cpu_self->thread_dispatch_disable_level;
@@ -263,7 +263,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Dispatch_unnest( Per_CPU_Control *cpu_self )
  * @param[in, out] cpu_self The current processor.
  * @param[in, out] cpu_target The target processor to request a thread dispatch.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Dispatch_request(
+static inline void _Thread_Dispatch_request(
   Per_CPU_Control *cpu_self,
   Per_CPU_Control *cpu_target
 )
diff --git a/cpukit/include/rtems/score/threadimpl.h b/cpukit/include/rtems/score/threadimpl.h
index 638815237f..01c3860db8 100644
--- a/cpukit/include/rtems/score/threadimpl.h
+++ b/cpukit/include/rtems/score/threadimpl.h
@@ -468,7 +468,7 @@ Status_Control _Thread_Close(
  * @retval true The thread is currently in the ready state.
  * @retval false The thread is currently not ready.
  */
-RTEMS_INLINE_ROUTINE bool _Thread_Is_ready( const Thread_Control *the_thread )
+static inline bool _Thread_Is_ready( const Thread_Control *the_thread )
 {
   return _States_Is_ready( the_thread->current_state );
 }
@@ -595,7 +595,7 @@ void _Thread_Handler( void );
  * @param the_thread The thread to acquire the lock context.
  * @param lock_context The lock context.
  */
-RTEMS_INLINE_ROUTINE void _Thread_State_acquire_critical(
+static inline void _Thread_State_acquire_critical(
   Thread_Control   *the_thread,
   ISR_lock_Context *lock_context
 )
@@ -609,7 +609,7 @@ RTEMS_INLINE_ROUTINE void _Thread_State_acquire_critical(
  * @param the_thread The thread to acquire the lock context.
  * @param lock_context The lock context.
  */
-RTEMS_INLINE_ROUTINE void _Thread_State_acquire(
+static inline void _Thread_State_acquire(
   Thread_Control   *the_thread,
   ISR_lock_Context *lock_context
 )
@@ -626,7 +626,7 @@ RTEMS_INLINE_ROUTINE void _Thread_State_acquire(
  *
  * @return The currently executing thread.
  */
-RTEMS_INLINE_ROUTINE Thread_Control *_Thread_State_acquire_for_executing(
+static inline Thread_Control *_Thread_State_acquire_for_executing(
   ISR_lock_Context *lock_context
 )
 {
@@ -645,7 +645,7 @@ RTEMS_INLINE_ROUTINE Thread_Control *_Thread_State_acquire_for_executing(
  * @param the_thread The thread to release the lock context.
  * @param lock_context The lock context.
  */
-RTEMS_INLINE_ROUTINE void _Thread_State_release_critical(
+static inline void _Thread_State_release_critical(
   Thread_Control   *the_thread,
   ISR_lock_Context *lock_context
 )
@@ -659,7 +659,7 @@ RTEMS_INLINE_ROUTINE void _Thread_State_release_critical(
  * @param[in, out] the_thread The thread to release the lock context.
  * @param[out] lock_context The lock context.
  */
-RTEMS_INLINE_ROUTINE void _Thread_State_release(
+static inline void _Thread_State_release(
   Thread_Control   *the_thread,
   ISR_lock_Context *lock_context
 )
@@ -677,7 +677,7 @@ RTEMS_INLINE_ROUTINE void _Thread_State_release(
  * @retval false The thread is not owner of the lock of the join queue.
  */
 #if defined(RTEMS_DEBUG)
-RTEMS_INLINE_ROUTINE bool _Thread_State_is_owner(
+static inline bool _Thread_State_is_owner(
   const Thread_Control *the_thread
 )
 {
@@ -791,7 +791,7 @@ void _Thread_Priority_changed(
  *
  * @see _Thread_Wait_acquire().
  */
-RTEMS_INLINE_ROUTINE void _Thread_Priority_change(
+static inline void _Thread_Priority_change(
   Thread_Control       *the_thread,
   Priority_Node        *priority_node,
   Priority_Control      new_priority,
@@ -876,7 +876,7 @@ void _Thread_Priority_update_ignore_sticky( Thread_Control *the_thread );
  * @retval true The left priority is less in the intuitive sense.
  * @retval false The left priority is greater or equal in the intuitive sense.
  */
-RTEMS_INLINE_ROUTINE bool _Thread_Priority_less_than(
+static inline bool _Thread_Priority_less_than(
   Priority_Control left,
   Priority_Control right
 )
@@ -893,7 +893,7 @@ RTEMS_INLINE_ROUTINE bool _Thread_Priority_less_than(
  *
  * @return The highest priority in the intuitive sense of priority.
  */
-RTEMS_INLINE_ROUTINE Priority_Control _Thread_Priority_highest(
+static inline Priority_Control _Thread_Priority_highest(
   Priority_Control left,
   Priority_Control right
 )
@@ -913,7 +913,7 @@ RTEMS_INLINE_ROUTINE Priority_Control _Thread_Priority_highest(
  * @return Returns the thread object information associated with the API of the
  *   object identifier.
  */
-RTEMS_INLINE_ROUTINE Objects_Information *_Thread_Get_objects_information_by_id(
+static inline Objects_Information *_Thread_Get_objects_information_by_id(
   Objects_Id id
 )
 {
@@ -941,7 +941,7 @@ RTEMS_INLINE_ROUTINE Objects_Information *_Thread_Get_objects_information_by_id(
  *
  * @return Returns the thread object information of the thread.
  */
-RTEMS_INLINE_ROUTINE Thread_Information *_Thread_Get_objects_information(
+static inline Thread_Information *_Thread_Get_objects_information(
   Thread_Control *the_thread
 )
 {
@@ -985,7 +985,7 @@ Objects_Id _Thread_Self_id( void );
  *
  * @return The cpu of the thread's scheduler.
  */
-RTEMS_INLINE_ROUTINE Per_CPU_Control *_Thread_Get_CPU(
+static inline Per_CPU_Control *_Thread_Get_CPU(
   const Thread_Control *thread
 )
 {
@@ -1004,7 +1004,7 @@ RTEMS_INLINE_ROUTINE Per_CPU_Control *_Thread_Get_CPU(
  * @param[out] thread The thread.
  * @param cpu The cpu to set.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Set_CPU(
+static inline void _Thread_Set_CPU(
   Thread_Control *thread,
   Per_CPU_Control *cpu
 )
@@ -1028,7 +1028,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Set_CPU(
  * @retval true @a the_thread is the currently executing one.
  * @retval false @a the_thread is not the currently executing one.
  */
-RTEMS_INLINE_ROUTINE bool _Thread_Is_executing (
+static inline bool _Thread_Is_executing (
   const Thread_Control *the_thread
 )
 {
@@ -1048,7 +1048,7 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_executing (
  * @retval true @a the_thread is the currently executing one.
  * @retval false @a the_thread is not the currently executing one.
  */
-RTEMS_INLINE_ROUTINE bool _Thread_Is_executing_on_a_processor(
+static inline bool _Thread_Is_executing_on_a_processor(
   const Thread_Control *the_thread
 )
 {
@@ -1067,7 +1067,7 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_executing_on_a_processor(
  * @retval true @a the_thread is the heir.
  * @retval false @a the_thread is not the heir.
  */
-RTEMS_INLINE_ROUTINE bool _Thread_Is_heir (
+static inline bool _Thread_Is_heir (
   const Thread_Control *the_thread
 )
 {
@@ -1083,7 +1083,7 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_heir (
  *
  * @param[in, out] the_thread The thread to unblock.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Unblock (
+static inline void _Thread_Unblock (
   Thread_Control *the_thread
 )
 {
@@ -1106,7 +1106,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Unblock (
  *      loaded in the floating point unit.
  */
 #if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
-RTEMS_INLINE_ROUTINE bool _Thread_Is_allocated_fp (
+static inline bool _Thread_Is_allocated_fp (
   const Thread_Control *the_thread
 )
 {
@@ -1132,7 +1132,7 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_allocated_fp (
  *
  * @param executing The currently executing thread.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Save_fp( Thread_Control *executing )
+static inline void _Thread_Save_fp( Thread_Control *executing )
 {
 #if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
 #if ( CPU_USE_DEFERRED_FP_SWITCH != TRUE )
@@ -1147,7 +1147,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Save_fp( Thread_Control *executing )
  *
  * @param executing The currently executing thread.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Restore_fp( Thread_Control *executing )
+static inline void _Thread_Restore_fp( Thread_Control *executing )
 {
 #if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
 #if ( CPU_USE_DEFERRED_FP_SWITCH == TRUE )
@@ -1172,7 +1172,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Restore_fp( Thread_Control *executing )
  * point context is now longer associated with an active thread.
  */
 #if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
-RTEMS_INLINE_ROUTINE void _Thread_Deallocate_fp( void )
+static inline void _Thread_Deallocate_fp( void )
 {
   _Thread_Allocated_fp = NULL;
 }
@@ -1187,7 +1187,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Deallocate_fp( void )
  * @retval true Dispatching is disabled.
  * @retval false Dispatching is enabled.
  */
-RTEMS_INLINE_ROUTINE bool _Thread_Is_context_switch_necessary( void )
+static inline bool _Thread_Is_context_switch_necessary( void )
 {
   return ( _Thread_Dispatch_necessary );
 }
@@ -1197,7 +1197,7 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_context_switch_necessary( void )
  *
  * @return The maximum number of internal threads.
  */
-RTEMS_INLINE_ROUTINE uint32_t _Thread_Get_maximum_internal_threads(void)
+static inline uint32_t _Thread_Get_maximum_internal_threads(void)
 {
   /* Idle threads */
   uint32_t maximum_internal_threads =
@@ -1219,7 +1219,7 @@ RTEMS_INLINE_ROUTINE uint32_t _Thread_Get_maximum_internal_threads(void)
  * @retval pointer Pointer to the allocated Thread_Control.
  * @retval NULL The operation failed.
  */
-RTEMS_INLINE_ROUTINE Thread_Control *_Thread_Internal_allocate( void )
+static inline Thread_Control *_Thread_Internal_allocate( void )
 {
   return (Thread_Control *)
     _Objects_Allocate_unprotected( &_Thread_Information.Objects );
@@ -1238,7 +1238,7 @@ RTEMS_INLINE_ROUTINE Thread_Control *_Thread_Internal_allocate( void )
  * @see _Thread_Dispatch(), _Thread_Start_multitasking() and
  * _Thread_Dispatch_update_heir().
  */
-RTEMS_INLINE_ROUTINE Thread_Control *_Thread_Get_heir_and_make_it_executing(
+static inline Thread_Control *_Thread_Get_heir_and_make_it_executing(
   Per_CPU_Control *cpu_self
 )
 {
@@ -1258,7 +1258,7 @@ RTEMS_INLINE_ROUTINE Thread_Control *_Thread_Get_heir_and_make_it_executing(
  *      used.
  * @param cpu The cpu.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Update_CPU_time_used(
+static inline void _Thread_Update_CPU_time_used(
   Thread_Control  *the_thread,
   Per_CPU_Control *cpu
 )
@@ -1280,7 +1280,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Update_CPU_time_used(
  * @param heir The new heir for @a cpu_for_heir.
  */
 #if defined( RTEMS_SMP )
-RTEMS_INLINE_ROUTINE void _Thread_Dispatch_update_heir(
+static inline void _Thread_Dispatch_update_heir(
   Per_CPU_Control *cpu_self,
   Per_CPU_Control *cpu_for_heir,
   Thread_Control  *heir
@@ -1337,7 +1337,7 @@ Timestamp_Control _Thread_Get_CPU_time_used_after_last_reset(
  *
  * @param[out] action_control The action control to initialize.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Action_control_initialize(
+static inline void _Thread_Action_control_initialize(
   Thread_Action_control *action_control
 )
 {
@@ -1349,7 +1349,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Action_control_initialize(
  *
  * @param[out] action The Thread_Action to initialize.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Action_initialize(
+static inline void _Thread_Action_initialize(
   Thread_Action *action
 )
 {
@@ -1368,7 +1368,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Action_initialize(
  *
  * @param handler is the handler for the action.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Add_post_switch_action(
+static inline void _Thread_Add_post_switch_action(
   Thread_Control        *the_thread,
   Thread_Action         *action,
   Thread_Action_handler  handler
@@ -1401,7 +1401,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Add_post_switch_action(
  *
  * @param[in, out] action is the action to add.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Append_post_switch_action(
+static inline void _Thread_Append_post_switch_action(
   Thread_Control *the_thread,
   Thread_Action  *action
 )
@@ -1423,7 +1423,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Append_post_switch_action(
  * @retval true @a life_state is restarting.
  * @retval false @a life_state is not restarting.
  */
-RTEMS_INLINE_ROUTINE bool _Thread_Is_life_restarting(
+static inline bool _Thread_Is_life_restarting(
   Thread_Life_state life_state
 )
 {
@@ -1438,7 +1438,7 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_life_restarting(
  * @retval true @a life_state is terminating.
  * @retval false @a life_state is not terminating.
  */
-RTEMS_INLINE_ROUTINE bool _Thread_Is_life_terminating(
+static inline bool _Thread_Is_life_terminating(
   Thread_Life_state life_state
 )
 {
@@ -1453,7 +1453,7 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_life_terminating(
  * @retval true @a life_state allows life change.
  * @retval false @a life_state does not allow life change.
  */
-RTEMS_INLINE_ROUTINE bool _Thread_Is_life_change_allowed(
+static inline bool _Thread_Is_life_change_allowed(
   Thread_Life_state life_state
 )
 {
@@ -1469,7 +1469,7 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_life_change_allowed(
  * @retval true @a life_state is life changing.
  * @retval false @a life_state is not life changing.
  */
-RTEMS_INLINE_ROUTINE bool _Thread_Is_life_changing(
+static inline bool _Thread_Is_life_changing(
   Thread_Life_state life_state
 )
 {
@@ -1485,7 +1485,7 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_life_changing(
  * @retval true @a life_state is joinable.
  * @retval false @a life_state is not joinable.
  */
-RTEMS_INLINE_ROUTINE bool _Thread_Is_joinable(
+static inline bool _Thread_Is_joinable(
   const Thread_Control *the_thread
 )
 {
@@ -1498,7 +1498,7 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_joinable(
  *
  * @param[in, out] the_thread The thread to increase the resource count of.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Resource_count_increment(
+static inline void _Thread_Resource_count_increment(
   Thread_Control *the_thread
 )
 {
@@ -1514,7 +1514,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Resource_count_increment(
  *
  * @param[in, out] the_thread The thread to decrement the resource count of.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Resource_count_decrement(
+static inline void _Thread_Resource_count_decrement(
   Thread_Control *the_thread
 )
 {
@@ -1537,7 +1537,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Resource_count_decrement(
  * @retval true The thread owns resources.
  * @retval false The thread does not own resources.
  */
-RTEMS_INLINE_ROUTINE bool _Thread_Owns_resources(
+static inline bool _Thread_Owns_resources(
   const Thread_Control *the_thread
 )
 {
@@ -1552,7 +1552,7 @@ RTEMS_INLINE_ROUTINE bool _Thread_Owns_resources(
  *
  * @return The thread's home scheduler.
  */
-RTEMS_INLINE_ROUTINE const Scheduler_Control *_Thread_Scheduler_get_home(
+static inline const Scheduler_Control *_Thread_Scheduler_get_home(
   const Thread_Control *the_thread
 )
 {
@@ -1571,7 +1571,7 @@ RTEMS_INLINE_ROUTINE const Scheduler_Control *_Thread_Scheduler_get_home(
  *
  * @return The thread's home node.
  */
-RTEMS_INLINE_ROUTINE Scheduler_Node *_Thread_Scheduler_get_home_node(
+static inline Scheduler_Node *_Thread_Scheduler_get_home_node(
   const Thread_Control *the_thread
 )
 {
@@ -1593,7 +1593,7 @@ RTEMS_INLINE_ROUTINE Scheduler_Node *_Thread_Scheduler_get_home_node(
  *
  * @return The scheduler node with the specified index.
  */
-RTEMS_INLINE_ROUTINE Scheduler_Node *_Thread_Scheduler_get_node_by_index(
+static inline Scheduler_Node *_Thread_Scheduler_get_node_by_index(
   const Thread_Control *the_thread,
   size_t                scheduler_index
 )
@@ -1616,7 +1616,7 @@ RTEMS_INLINE_ROUTINE Scheduler_Node *_Thread_Scheduler_get_node_by_index(
  * @param the_thread The thread to acquire the lock context.
  * @param lock_context The lock context.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Scheduler_acquire_critical(
+static inline void _Thread_Scheduler_acquire_critical(
   Thread_Control   *the_thread,
   ISR_lock_Context *lock_context
 )
@@ -1630,7 +1630,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Scheduler_acquire_critical(
  * @param the_thread The thread to release the lock context.
  * @param lock_context The lock context.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Scheduler_release_critical(
+static inline void _Thread_Scheduler_release_critical(
   Thread_Control   *the_thread,
   ISR_lock_Context *lock_context
 )
@@ -1652,7 +1652,7 @@ void _Thread_Scheduler_process_requests( Thread_Control *the_thread );
  * @param[in, out] scheduler_node The scheduler node for the request.
  * @param request The request to add.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Scheduler_add_request(
+static inline void _Thread_Scheduler_add_request(
   Thread_Control         *the_thread,
   Scheduler_Node         *scheduler_node,
   Scheduler_Node_request  request
@@ -1695,7 +1695,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Scheduler_add_request(
  * @param[in, out] the_thread The thread to add the wait node to.
  * @param scheduler_node The scheduler node which provides the wait node.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Scheduler_add_wait_node(
+static inline void _Thread_Scheduler_add_wait_node(
   Thread_Control *the_thread,
   Scheduler_Node *scheduler_node
 )
@@ -1718,7 +1718,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Scheduler_add_wait_node(
  * @param the_thread The thread to add the request to remove a wait node.
  * @param scheduler_node The scheduler node to remove a wait node from.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Scheduler_remove_wait_node(
+static inline void _Thread_Scheduler_remove_wait_node(
   Thread_Control *the_thread,
   Scheduler_Node *scheduler_node
 )
@@ -1743,7 +1743,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Scheduler_remove_wait_node(
  *
  * @return The priority of the thread.
  */
-RTEMS_INLINE_ROUTINE Priority_Control _Thread_Get_priority(
+static inline Priority_Control _Thread_Get_priority(
   const Thread_Control *the_thread
 )
 {
@@ -1760,7 +1760,7 @@ RTEMS_INLINE_ROUTINE Priority_Control _Thread_Get_priority(
  *
  * @return The unmapped priority of the thread.
  */
-RTEMS_INLINE_ROUTINE Priority_Control _Thread_Get_unmapped_priority(
+static inline Priority_Control _Thread_Get_unmapped_priority(
   const Thread_Control *the_thread
 )
 {
@@ -1774,7 +1774,7 @@ RTEMS_INLINE_ROUTINE Priority_Control _Thread_Get_unmapped_priority(
  *
  * @return The unmapped real priority of the thread.
  */
-RTEMS_INLINE_ROUTINE Priority_Control _Thread_Get_unmapped_real_priority(
+static inline Priority_Control _Thread_Get_unmapped_real_priority(
   const Thread_Control *the_thread
 )
 {
@@ -1791,7 +1791,7 @@ RTEMS_INLINE_ROUTINE Priority_Control _Thread_Get_unmapped_real_priority(
  *
  * @see _Thread_Wait_release_default_critical().
  */
-RTEMS_INLINE_ROUTINE void _Thread_Wait_acquire_default_critical(
+static inline void _Thread_Wait_acquire_default_critical(
   Thread_Control   *the_thread,
   ISR_lock_Context *lock_context
 )
@@ -1810,7 +1810,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_acquire_default_critical(
  *
  * @see _Thread_Wait_release_default().
  */
-RTEMS_INLINE_ROUTINE Thread_Control *_Thread_Wait_acquire_default_for_executing(
+static inline Thread_Control *_Thread_Wait_acquire_default_for_executing(
   ISR_lock_Context *lock_context
 )
 {
@@ -1832,7 +1832,7 @@ RTEMS_INLINE_ROUTINE Thread_Control *_Thread_Wait_acquire_default_for_executing(
  *
  * @see _Thread_Wait_release_default().
  */
-RTEMS_INLINE_ROUTINE void _Thread_Wait_acquire_default(
+static inline void _Thread_Wait_acquire_default(
   Thread_Control   *the_thread,
   ISR_lock_Context *lock_context
 )
@@ -1851,7 +1851,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_acquire_default(
  * @param lock_context The lock context used for the corresponding lock
  *   acquire.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Wait_release_default_critical(
+static inline void _Thread_Wait_release_default_critical(
   Thread_Control   *the_thread,
   ISR_lock_Context *lock_context
 )
@@ -1867,7 +1867,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_release_default_critical(
  * @param[out] lock_context The lock context used for the corresponding lock
  *   acquire.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Wait_release_default(
+static inline void _Thread_Wait_release_default(
   Thread_Control   *the_thread,
   ISR_lock_Context *lock_context
 )
@@ -1886,7 +1886,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_release_default(
  * @param the_thread The thread to remove the request from.
  * @param queue_lock_context The queue lock context.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Wait_remove_request_locked(
+static inline void _Thread_Wait_remove_request_locked(
   Thread_Control            *the_thread,
   Thread_queue_Lock_context *queue_lock_context
 )
@@ -1907,7 +1907,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_remove_request_locked(
  * @param queue The queue that acquires.
  * @param queue_lock_context The queue lock context.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Wait_acquire_queue_critical(
+static inline void _Thread_Wait_acquire_queue_critical(
   Thread_queue_Queue        *queue,
   Thread_queue_Lock_context *queue_lock_context
 )
@@ -1925,7 +1925,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_acquire_queue_critical(
  * @param queue The queue that releases.
  * @param queue_lock_context The queue lock context.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Wait_release_queue_critical(
+static inline void _Thread_Wait_release_queue_critical(
   Thread_queue_Queue        *queue,
   Thread_queue_Lock_context *queue_lock_context
 )
@@ -1945,7 +1945,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_release_queue_critical(
  * @param[in, out] queue_context The thread queue context for the corresponding
  *   _Thread_Wait_release_critical().
  */
-RTEMS_INLINE_ROUTINE void _Thread_Wait_acquire_critical(
+static inline void _Thread_Wait_acquire_critical(
   Thread_Control       *the_thread,
   Thread_queue_Context *queue_context
 )
@@ -2001,7 +2001,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_acquire_critical(
  * @param[in, out] queue_context The thread queue context for the corresponding
  *   _Thread_Wait_release().
  */
-RTEMS_INLINE_ROUTINE void _Thread_Wait_acquire(
+static inline void _Thread_Wait_acquire(
   Thread_Control       *the_thread,
   Thread_queue_Context *queue_context
 )
@@ -2020,7 +2020,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_acquire(
  * @param[in, out] queue_context The thread queue context used for corresponding
  *   _Thread_Wait_acquire_critical().
  */
-RTEMS_INLINE_ROUTINE void _Thread_Wait_release_critical(
+static inline void _Thread_Wait_release_critical(
   Thread_Control       *the_thread,
   Thread_queue_Context *queue_context
 )
@@ -2062,7 +2062,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_release_critical(
  * @param[in, out] queue_context The thread queue context used for corresponding
  *   _Thread_Wait_acquire().
  */
-RTEMS_INLINE_ROUTINE void _Thread_Wait_release(
+static inline void _Thread_Wait_release(
   Thread_Control       *the_thread,
   Thread_queue_Context *queue_context
 )
@@ -2085,7 +2085,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_release(
  *
  * @see _Thread_Wait_claim_finalize() and _Thread_Wait_restore_default().
  */
-RTEMS_INLINE_ROUTINE void _Thread_Wait_claim(
+static inline void _Thread_Wait_claim(
   Thread_Control     *the_thread,
   Thread_queue_Queue *queue
 )
@@ -2114,7 +2114,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_claim(
  * @param[in, out] the_thread The thread.
  * @param operations The corresponding thread queue operations.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Wait_claim_finalize(
+static inline void _Thread_Wait_claim_finalize(
   Thread_Control                *the_thread,
   const Thread_queue_Operations *operations
 )
@@ -2133,7 +2133,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_claim_finalize(
  * @param[in, out] queue_lock_context The thread queue lock context used for
  *   corresponding _Thread_Wait_acquire().
  */
-RTEMS_INLINE_ROUTINE void _Thread_Wait_remove_request(
+static inline void _Thread_Wait_remove_request(
   Thread_Control            *the_thread,
   Thread_queue_Lock_context *queue_lock_context
 )
@@ -2162,7 +2162,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_remove_request(
  *
  * @see _Thread_Wait_claim().
  */
-RTEMS_INLINE_ROUTINE void _Thread_Wait_restore_default(
+static inline void _Thread_Wait_restore_default(
   Thread_Control *the_thread
 )
 {
@@ -2221,7 +2221,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_restore_default(
  *
  * @param the_thread The thread.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Wait_tranquilize(
+static inline void _Thread_Wait_tranquilize(
   Thread_Control *the_thread
 )
 {
@@ -2239,7 +2239,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_tranquilize(
  * @param queue_context The thread queue context used for corresponding
  *   _Thread_Wait_acquire().
  */
-RTEMS_INLINE_ROUTINE void _Thread_Wait_cancel(
+static inline void _Thread_Wait_cancel(
   Thread_Control       *the_thread,
   Thread_queue_Context *queue_context
 )
@@ -2326,7 +2326,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_cancel(
  * @param[in, out] the_thread The thread to set the wait flags of.
  * @param flags The flags to set.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Wait_flags_set(
+static inline void _Thread_Wait_flags_set(
   Thread_Control    *the_thread,
   Thread_Wait_flags  flags
 )
@@ -2345,7 +2345,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_flags_set(
  *
  * @return The thread's wait flags.
  */
-RTEMS_INLINE_ROUTINE Thread_Wait_flags _Thread_Wait_flags_get(
+static inline Thread_Wait_flags _Thread_Wait_flags_get(
   const Thread_Control *the_thread
 )
 {
@@ -2363,7 +2363,7 @@ RTEMS_INLINE_ROUTINE Thread_Wait_flags _Thread_Wait_flags_get(
  *
  * @return The thread's wait flags.
  */
-RTEMS_INLINE_ROUTINE Thread_Wait_flags _Thread_Wait_flags_get_acquire(
+static inline Thread_Wait_flags _Thread_Wait_flags_get_acquire(
   const Thread_Control *the_thread
 )
 {
@@ -2390,7 +2390,7 @@ RTEMS_INLINE_ROUTINE Thread_Wait_flags _Thread_Wait_flags_get_acquire(
  * @retval true The wait flags were equal to the expected wait flags.
  * @retval false The wait flags were not equal to the expected wait flags.
  */
-RTEMS_INLINE_ROUTINE bool _Thread_Wait_flags_try_change_release(
+static inline bool _Thread_Wait_flags_try_change_release(
   Thread_Control    *the_thread,
   Thread_Wait_flags  expected_flags,
   Thread_Wait_flags  desired_flags
@@ -2430,7 +2430,7 @@ RTEMS_INLINE_ROUTINE bool _Thread_Wait_flags_try_change_release(
  * @retval true The wait flags were equal to the expected wait flags.
  * @retval false The wait flags were not equal to the expected wait flags.
  */
-RTEMS_INLINE_ROUTINE bool _Thread_Wait_flags_try_change_acquire(
+static inline bool _Thread_Wait_flags_try_change_acquire(
   Thread_Control    *the_thread,
   Thread_Wait_flags  expected_flags,
   Thread_Wait_flags  desired_flags
@@ -2484,7 +2484,7 @@ Objects_Id _Thread_Wait_get_id( const Thread_Control *the_thread );
  *
  * @param the_thread The thread to get the status of the wait return code of.
  */
-RTEMS_INLINE_ROUTINE Status_Control _Thread_Wait_get_status(
+static inline Status_Control _Thread_Wait_get_status(
   const Thread_Control *the_thread
 )
 {
@@ -2518,7 +2518,7 @@ void _Thread_Timeout( Watchdog_Control *the_watchdog );
  * @param [in, out] timer The timer to initialize.
  * @param cpu The cpu for the operation.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Timer_initialize(
+static inline void _Thread_Timer_initialize(
   Thread_Timer_information *timer,
   Per_CPU_Control          *cpu
 )
@@ -2535,7 +2535,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Timer_initialize(
  * @param cpu The cpu for the operation.
  * @param ticks The ticks to add to the timeout ticks.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Add_timeout_ticks(
+static inline void _Thread_Add_timeout_ticks(
   Thread_Control    *the_thread,
   Per_CPU_Control   *cpu,
   Watchdog_Interval  ticks
@@ -2561,7 +2561,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Add_timeout_ticks(
  * @param routine The watchdog routine for the thread.
  * @param expire Expiration for the watchdog.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Timer_insert_realtime(
+static inline void _Thread_Timer_insert_realtime(
   Thread_Control                 *the_thread,
   Per_CPU_Control                *cpu,
   Watchdog_Service_routine_entry  routine,
@@ -2586,7 +2586,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Timer_insert_realtime(
  *
  * @param[in, out] the_thread The thread to remove the watchdog from.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Timer_remove( Thread_Control *the_thread )
+static inline void _Thread_Timer_remove( Thread_Control *the_thread )
 {
   ISR_lock_Context lock_context;
 
@@ -2612,7 +2612,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Timer_remove( Thread_Control *the_thread )
  *      if necessary.
  * @param queue The thread queue.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Remove_timer_and_unblock(
+static inline void _Thread_Remove_timer_and_unblock(
   Thread_Control     *the_thread,
   Thread_queue_Queue *queue
 )
@@ -2683,7 +2683,7 @@ void _Thread_Do_unpin(
  *
  * @param executing The currently executing thread.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Pin( Thread_Control *executing )
+static inline void _Thread_Pin( Thread_Control *executing )
 {
 #if defined(RTEMS_SMP)
   _Assert( executing == _Thread_Get_executing() );
@@ -2700,7 +2700,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Pin( Thread_Control *executing )
  * @param executing The currently executing thread.
  * @param cpu_self The cpu for the operation.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Unpin(
+static inline void _Thread_Unpin(
   Thread_Control  *executing,
   Per_CPU_Control *cpu_self
 )
@@ -2752,7 +2752,7 @@ extern "C" {
  *
  * @param status is the thread wait status.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Timer_remove_and_continue(
+static inline void _Thread_Timer_remove_and_continue(
   Thread_Control *the_thread,
   Status_Control  status
 )
diff --git a/cpukit/include/rtems/score/threadmp.h b/cpukit/include/rtems/score/threadmp.h
index 59c2ea675c..30c7c84bd4 100644
--- a/cpukit/include/rtems/score/threadmp.h
+++ b/cpukit/include/rtems/score/threadmp.h
@@ -145,7 +145,7 @@ void _Thread_MP_Free_proxy( Thread_Control *the_thread );
  * @retval false The object if is not valid or the thread MP with this object
  *      id is not remote.
  */
-RTEMS_INLINE_ROUTINE bool _Thread_MP_Is_remote( Objects_Id id )
+static inline bool _Thread_MP_Is_remote( Objects_Id id )
 {
   Objects_Information *information;
 
diff --git a/cpukit/include/rtems/score/threadqimpl.h b/cpukit/include/rtems/score/threadqimpl.h
index 95289dc872..44b2010226 100644
--- a/cpukit/include/rtems/score/threadqimpl.h
+++ b/cpukit/include/rtems/score/threadqimpl.h
@@ -166,7 +166,7 @@ void _Thread_queue_Deadlock_fatal( Thread_Control *the_thread );
  *
  * @param[out] queue_context The thread queue context to initialize.
  */
-RTEMS_INLINE_ROUTINE void _Thread_queue_Context_initialize(
+static inline void _Thread_queue_Context_initialize(
   Thread_queue_Context *queue_context
 )
 {
@@ -191,7 +191,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Context_initialize(
  *
  * @see _Thread_queue_Enqueue().
  */
-RTEMS_INLINE_ROUTINE void
+static inline void
 _Thread_queue_Context_set_thread_state(
   Thread_queue_Context *queue_context,
   States_Control        thread_state
@@ -208,7 +208,7 @@ _Thread_queue_Context_set_thread_state(
  *
  * @see _Thread_queue_Enqueue().
  */
-RTEMS_INLINE_ROUTINE void
+static inline void
 _Thread_queue_Context_set_timeout_ticks(
   Thread_queue_Context *queue_context,
   Watchdog_Interval     ticks
@@ -229,7 +229,7 @@ _Thread_queue_Context_set_timeout_ticks(
  *
  * @see _Thread_queue_Enqueue().
  */
-RTEMS_INLINE_ROUTINE void
+static inline void
 _Thread_queue_Context_set_timeout_argument(
   Thread_queue_Context *queue_context,
   const void           *arg,
@@ -248,7 +248,7 @@ _Thread_queue_Context_set_timeout_argument(
  *
  * @see _Thread_queue_Enqueue().
  */
-RTEMS_INLINE_ROUTINE void
+static inline void
 _Thread_queue_Context_set_enqueue_callout(
   Thread_queue_Context         *queue_context,
   Thread_queue_Enqueue_callout  enqueue_callout
@@ -264,7 +264,7 @@ _Thread_queue_Context_set_enqueue_callout(
  *
  * @see _Thread_queue_Enqueue().
  */
-RTEMS_INLINE_ROUTINE void
+static inline void
 _Thread_queue_Context_set_enqueue_do_nothing_extra(
   Thread_queue_Context *queue_context
 )
@@ -281,7 +281,7 @@ _Thread_queue_Context_set_enqueue_do_nothing_extra(
  *
  * @see _Thread_queue_Enqueue().
  */
-RTEMS_INLINE_ROUTINE void
+static inline void
 _Thread_queue_Context_set_enqueue_timeout_ticks(
   Thread_queue_Context *queue_context,
   Watchdog_Interval     ticks
@@ -304,7 +304,7 @@ _Thread_queue_Context_set_enqueue_timeout_ticks(
  *
  * @see _Thread_queue_Enqueue().
  */
-RTEMS_INLINE_ROUTINE void
+static inline void
 _Thread_queue_Context_set_enqueue_timeout_monotonic_timespec(
   Thread_queue_Context  *queue_context,
   const struct timespec *timeout,
@@ -330,7 +330,7 @@ _Thread_queue_Context_set_enqueue_timeout_monotonic_timespec(
  *
  * @see _Thread_queue_Enqueue().
  */
-RTEMS_INLINE_ROUTINE void
+static inline void
 _Thread_queue_Context_set_enqueue_timeout_realtime_timespec(
   Thread_queue_Context  *queue_context,
   const struct timespec *timeout,
@@ -356,7 +356,7 @@ _Thread_queue_Context_set_enqueue_timeout_realtime_timespec(
  *
  * @see _Thread_queue_Enqueue().
  */
-RTEMS_INLINE_ROUTINE void _Thread_queue_Context_set_deadlock_callout(
+static inline void _Thread_queue_Context_set_deadlock_callout(
   Thread_queue_Context          *queue_context,
   Thread_queue_Deadlock_callout  deadlock_callout
 )
@@ -370,7 +370,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Context_set_deadlock_callout(
  * @param[out] queue_context The thread queue context to clear the priority
  * update count.
  */
-RTEMS_INLINE_ROUTINE void _Thread_queue_Context_clear_priority_updates(
+static inline void _Thread_queue_Context_clear_priority_updates(
   Thread_queue_Context *queue_context
 )
 {
@@ -385,7 +385,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Context_clear_priority_updates(
  *
  * @return The priority update count of @a queue_context.
  */
-RTEMS_INLINE_ROUTINE size_t _Thread_queue_Context_get_priority_updates(
+static inline size_t _Thread_queue_Context_get_priority_updates(
   const Thread_queue_Context *queue_context
 )
 {
@@ -399,7 +399,7 @@ RTEMS_INLINE_ROUTINE size_t _Thread_queue_Context_get_priority_updates(
  *      update count of.
  * @param update_count The priority update count.
  */
-RTEMS_INLINE_ROUTINE void _Thread_queue_Context_restore_priority_updates(
+static inline void _Thread_queue_Context_restore_priority_updates(
   Thread_queue_Context *queue_context,
   size_t                update_count
 )
@@ -415,7 +415,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Context_restore_priority_updates(
  *      array.
  * @param the_thread The thread for the priority update.
  */
-RTEMS_INLINE_ROUTINE void _Thread_queue_Context_add_priority_update(
+static inline void _Thread_queue_Context_add_priority_update(
   Thread_queue_Context *queue_context,
   Thread_Control       *the_thread
 )
@@ -443,7 +443,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Context_add_priority_update(
  * @param[out] queue_context The thread queue context to set the ISR level of.
  * @param level The ISR level to set @a queue_context to.
  */
-RTEMS_INLINE_ROUTINE void _Thread_queue_Context_set_ISR_level(
+static inline void _Thread_queue_Context_set_ISR_level(
   Thread_queue_Context *queue_context,
   ISR_Level             level
 )
@@ -461,7 +461,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Context_set_ISR_level(
  *
  * @return The current processor.
  */
-RTEMS_INLINE_ROUTINE Per_CPU_Control *_Thread_queue_Dispatch_disable(
+static inline Per_CPU_Control *_Thread_queue_Dispatch_disable(
   Thread_queue_Context *queue_context
 )
 {
@@ -480,7 +480,7 @@ RTEMS_INLINE_ROUTINE Per_CPU_Control *_Thread_queue_Dispatch_disable(
  *   objects with multiprocessing (MP) support.
  */
 #if defined(RTEMS_MULTIPROCESSING)
-RTEMS_INLINE_ROUTINE void _Thread_queue_Context_set_MP_callout(
+static inline void _Thread_queue_Context_set_MP_callout(
   Thread_queue_Context    *queue_context,
   Thread_queue_MP_callout  mp_callout
 )
@@ -500,7 +500,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Context_set_MP_callout(
  *
  * @param[out] gate The gate to close.
  */
-RTEMS_INLINE_ROUTINE void _Thread_queue_Gate_close(
+static inline void _Thread_queue_Gate_close(
   Thread_queue_Gate *gate
 )
 {
@@ -513,7 +513,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Gate_close(
  * @param[in, out] chain The chain to add the gate to.
  * @param gate The gate to add to the chain.
  */
-RTEMS_INLINE_ROUTINE void _Thread_queue_Gate_add(
+static inline void _Thread_queue_Gate_add(
   Chain_Control     *chain,
   Thread_queue_Gate *gate
 )
@@ -526,7 +526,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Gate_add(
  *
  * @param[out] gate The gate to open.
  */
-RTEMS_INLINE_ROUTINE void _Thread_queue_Gate_open(
+static inline void _Thread_queue_Gate_open(
   Thread_queue_Gate *gate
 )
 {
@@ -540,7 +540,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Gate_open(
  *
  * @param gate The gate to wait for.
  */
-RTEMS_INLINE_ROUTINE void _Thread_queue_Gate_wait(
+static inline void _Thread_queue_Gate_wait(
   Thread_queue_Gate *gate
 )
 {
@@ -555,7 +555,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Gate_wait(
  *
  * @param[out] heads The thread queue heads to initialize.
  */
-RTEMS_INLINE_ROUTINE void _Thread_queue_Heads_initialize(
+static inline void _Thread_queue_Heads_initialize(
   Thread_queue_Heads *heads
 )
 {
@@ -579,7 +579,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Heads_initialize(
  * @param[out] queue The thread queue queue to initialize.
  * @param name The name for the @a queue.
  */
-RTEMS_INLINE_ROUTINE void _Thread_queue_Queue_initialize(
+static inline void _Thread_queue_Queue_initialize(
   Thread_queue_Queue *queue,
   const char         *name
 )
@@ -599,7 +599,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Queue_initialize(
  * @param lock_stats The lock statistics.
  * @param[out] lock_context The interrupt lock context.
  */
-RTEMS_INLINE_ROUTINE void _Thread_queue_Queue_do_acquire_critical(
+static inline void _Thread_queue_Queue_do_acquire_critical(
   Thread_queue_Queue *queue,
 #if defined(RTEMS_SMP) && defined(RTEMS_PROFILING)
   SMP_lock_Stats     *lock_stats,
@@ -635,7 +635,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Queue_do_acquire_critical(
  * @param queue The thread queue queue to release in a critical section.
  * @param[out] lock_context The interrupt lock context.
  */
-RTEMS_INLINE_ROUTINE void _Thread_queue_Queue_release_critical(
+static inline void _Thread_queue_Queue_release_critical(
   Thread_queue_Queue *queue,
   ISR_lock_Context   *lock_context
 )
@@ -657,7 +657,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Queue_release_critical(
  * @param queue The thread queue queue to release.
  * @param[out] lock_context The interrupt lock context to enable interrupts.
  */
-RTEMS_INLINE_ROUTINE void _Thread_queue_Queue_release(
+static inline void _Thread_queue_Queue_release(
   Thread_queue_Queue *queue,
   ISR_lock_Context   *lock_context
 )
@@ -697,7 +697,7 @@ void _Thread_queue_Do_acquire_critical(
   ISR_lock_Context     *lock_context
 );
 #else
-RTEMS_INLINE_ROUTINE void _Thread_queue_Do_acquire_critical(
+static inline void _Thread_queue_Do_acquire_critical(
   Thread_queue_Control *the_thread_queue,
   ISR_lock_Context     *lock_context
 )
@@ -713,7 +713,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Do_acquire_critical(
  * @param the_thread_queue The thread queue control to acquire.
  * @param[out] lock_context The interrupt lock context.
  */
-RTEMS_INLINE_ROUTINE void _Thread_queue_Acquire_critical(
+static inline void _Thread_queue_Acquire_critical(
   Thread_queue_Control *the_thread_queue,
   Thread_queue_Context *queue_context
 )
@@ -736,7 +736,7 @@ void _Thread_queue_Acquire(
   Thread_queue_Context *queue_context
 );
 #else
-RTEMS_INLINE_ROUTINE void _Thread_queue_Acquire(
+static inline void _Thread_queue_Acquire(
   Thread_queue_Control *the_thread_queue,
   Thread_queue_Context *queue_context
 )
@@ -755,7 +755,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Acquire(
  * @retval false The thread queue control is not the owner of the lock.
  */
 #if defined(RTEMS_DEBUG)
-RTEMS_INLINE_ROUTINE bool _Thread_queue_Is_lock_owner(
+static inline bool _Thread_queue_Is_lock_owner(
   const Thread_queue_Control *the_thread_queue
 )
 {
@@ -779,7 +779,7 @@ void _Thread_queue_Do_release_critical(
   ISR_lock_Context     *lock_context
 );
 #else
-RTEMS_INLINE_ROUTINE void _Thread_queue_Do_release_critical(
+static inline void _Thread_queue_Do_release_critical(
   Thread_queue_Control *the_thread_queue,
   ISR_lock_Context     *lock_context
 )
@@ -796,7 +796,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Do_release_critical(
  * @param the_thread_queue The thread queue control to release.
  * @param[out] queue_context The thread queue context.
  */
-RTEMS_INLINE_ROUTINE void _Thread_queue_Release_critical(
+static inline void _Thread_queue_Release_critical(
   Thread_queue_Control *the_thread_queue,
   Thread_queue_Context *queue_context
 )
@@ -819,7 +819,7 @@ void _Thread_queue_Release(
   Thread_queue_Context *queue_context
 );
 #else
-RTEMS_INLINE_ROUTINE void _Thread_queue_Release(
+static inline void _Thread_queue_Release(
   Thread_queue_Control *the_thread_queue,
   Thread_queue_Context *queue_context
 )
@@ -1107,7 +1107,7 @@ void _Thread_queue_Surrender_sticky(
  * @retval true @a queue is empty.
  * @retval false @a queue is not empty.
  */
-RTEMS_INLINE_ROUTINE bool _Thread_queue_Is_empty(
+static inline bool _Thread_queue_Is_empty(
   const Thread_queue_Queue *queue
 )
 {
@@ -1305,7 +1305,7 @@ void _Thread_queue_Initialize(
  *
  * @param[out] the_thread_queue The thread queue to destroy.
  */
-RTEMS_INLINE_ROUTINE void _Thread_queue_Destroy(
+static inline void _Thread_queue_Destroy(
   Thread_queue_Control *the_thread_queue
 )
 {
diff --git a/cpukit/include/rtems/score/timestampimpl.h b/cpukit/include/rtems/score/timestampimpl.h
index 22df1dd3a1..fee1994bfd 100644
--- a/cpukit/include/rtems/score/timestampimpl.h
+++ b/cpukit/include/rtems/score/timestampimpl.h
@@ -63,7 +63,7 @@ extern "C" {
  * @param _seconds The seconds portion of the timestamp.
  * @param _nanoseconds The nanoseconds portion of the timestamp.
  */
-RTEMS_INLINE_ROUTINE void _Timestamp_Set(
+static inline void _Timestamp_Set(
   Timestamp_Control *_time,
   time_t             _seconds,
   long               _nanoseconds
@@ -86,7 +86,7 @@ RTEMS_INLINE_ROUTINE void _Timestamp_Set(
  * @param[out] _time The timestamp instance to zero.
  */
 
-RTEMS_INLINE_ROUTINE void _Timestamp_Set_to_zero(
+static inline void _Timestamp_Set_to_zero(
   Timestamp_Control *_time
 )
 {
@@ -105,7 +105,7 @@ RTEMS_INLINE_ROUTINE void _Timestamp_Set_to_zero(
  * @retval false @a _lhs is greater or equal than @a rhs.
  */
 
-RTEMS_INLINE_ROUTINE bool _Timestamp_Less_than(
+static inline bool _Timestamp_Less_than(
   const Timestamp_Control *_lhs,
   const Timestamp_Control *_rhs
 )
@@ -125,7 +125,7 @@ RTEMS_INLINE_ROUTINE bool _Timestamp_Less_than(
  * @retval false @a _lhs is less or equal than @a _rhs.
  */
 
-RTEMS_INLINE_ROUTINE bool _Timestamp_Greater_than(
+static inline bool _Timestamp_Greater_than(
   const Timestamp_Control *_lhs,
   const Timestamp_Control *_rhs
 )
@@ -145,7 +145,7 @@ RTEMS_INLINE_ROUTINE bool _Timestamp_Greater_than(
  * @retval false @a _lhs is not equal to @a _rhs.
  */
 
-RTEMS_INLINE_ROUTINE bool _Timestamp_Equal_to(
+static inline bool _Timestamp_Equal_to(
   const Timestamp_Control *_lhs,
   const Timestamp_Control *_rhs
 )
@@ -162,7 +162,7 @@ RTEMS_INLINE_ROUTINE bool _Timestamp_Equal_to(
  * @param[in, out] _time The base time to be added to.
  * @param _add points The timestamp to add to the first argument.
  */
-RTEMS_INLINE_ROUTINE void _Timestamp_Add_to(
+static inline void _Timestamp_Add_to(
   Timestamp_Control *_time,
   const Timestamp_Control *_add
 )
@@ -181,7 +181,7 @@ RTEMS_INLINE_ROUTINE void _Timestamp_Add_to(
  * @param[out] _result Contains the difference between starting and ending
  *      time after the method call.
  */
-RTEMS_INLINE_ROUTINE void _Timestamp_Subtract(
+static inline void _Timestamp_Subtract(
   const Timestamp_Control *_start,
   const Timestamp_Control *_end,
   Timestamp_Control       *_result
@@ -201,7 +201,7 @@ RTEMS_INLINE_ROUTINE void _Timestamp_Subtract(
  * @param[out] _ival_percentage The integer portion of the average.
  * @param[out] _fval_percentage The thousandths of percentage.
  */
-RTEMS_INLINE_ROUTINE void _Timestamp_Divide(
+static inline void _Timestamp_Divide(
   const Timestamp_Control *_lhs,
   const Timestamp_Control *_rhs,
   uint32_t                *_ival_percentage,
@@ -231,7 +231,7 @@ RTEMS_INLINE_ROUTINE void _Timestamp_Divide(
  *
  * @return The seconds portion of @a _time.
  */
-RTEMS_INLINE_ROUTINE time_t _Timestamp_Get_seconds(
+static inline time_t _Timestamp_Get_seconds(
   const Timestamp_Control *_time
 )
 {
@@ -247,7 +247,7 @@ RTEMS_INLINE_ROUTINE time_t _Timestamp_Get_seconds(
  *
  * @return The nanoseconds portion of @a _time.
  */
-RTEMS_INLINE_ROUTINE uint32_t _Timestamp_Get_nanoseconds(
+static inline uint32_t _Timestamp_Get_nanoseconds(
   const Timestamp_Control *_time
 )
 {
@@ -267,7 +267,7 @@ RTEMS_INLINE_ROUTINE uint32_t _Timestamp_Get_nanoseconds(
  *
  * @return The time in nanoseconds.
  */
-RTEMS_INLINE_ROUTINE uint64_t _Timestamp_Get_as_nanoseconds(
+static inline uint64_t _Timestamp_Get_as_nanoseconds(
   const Timestamp_Control *_time
 )
 {
@@ -284,7 +284,7 @@ RTEMS_INLINE_ROUTINE uint64_t _Timestamp_Get_as_nanoseconds(
  * @param _timestamp The timestamp.
  * @param[out] _timespec The timespec to be filled in by the method.
  */
-RTEMS_INLINE_ROUTINE void _Timestamp_To_timespec(
+static inline void _Timestamp_To_timespec(
   const Timestamp_Control *_timestamp,
   struct timespec         *_timespec
 )
@@ -298,7 +298,7 @@ RTEMS_INLINE_ROUTINE void _Timestamp_To_timespec(
  * @param _timestamp The timestamp.
  * @param[out] _timeval The timeval to be filled in by the method.
  */
-RTEMS_INLINE_ROUTINE void _Timestamp_To_timeval(
+static inline void _Timestamp_To_timeval(
   const Timestamp_Control *_timestamp,
   struct timeval          *_timeval
 )
diff --git a/cpukit/include/rtems/score/todimpl.h b/cpukit/include/rtems/score/todimpl.h
index 5d1e0613a1..ce75ff681f 100644
--- a/cpukit/include/rtems/score/todimpl.h
+++ b/cpukit/include/rtems/score/todimpl.h
@@ -374,7 +374,7 @@ static inline uint32_t _TOD_Seconds_since_epoch( void )
  *
  * @param[out] time The timeval to be filled in by the method.
  */
-RTEMS_INLINE_ROUTINE void _TOD_Get_timeval(
+static inline void _TOD_Get_timeval(
   struct timeval *time
 )
 {
@@ -402,7 +402,7 @@ Status_Control _TOD_Adjust(
  * @retval true The time is set.
  * @retval false The time is not set.
  */
-RTEMS_INLINE_ROUTINE bool _TOD_Is_set( void )
+static inline bool _TOD_Is_set( void )
 {
   return _TOD.is_set;
 }
diff --git a/cpukit/include/rtems/score/userextimpl.h b/cpukit/include/rtems/score/userextimpl.h
index bedc82606a..70a612f402 100644
--- a/cpukit/include/rtems/score/userextimpl.h
+++ b/cpukit/include/rtems/score/userextimpl.h
@@ -123,7 +123,7 @@ void _User_extensions_Add_set(
  *
  * @param extension The user extension to add.
  */
-RTEMS_INLINE_ROUTINE void _User_extensions_Add_API_set(
+static inline void _User_extensions_Add_API_set(
   User_extensions_Control *extension
 )
 {
@@ -136,7 +136,7 @@ RTEMS_INLINE_ROUTINE void _User_extensions_Add_API_set(
  * @param[in, out] extension The user extension to add.
  * @param extension_table Is set as callouts for @a extension.
  */
-RTEMS_INLINE_ROUTINE void _User_extensions_Add_set_with_table(
+static inline void _User_extensions_Add_set_with_table(
   User_extensions_Control     *extension,
   const User_extensions_Table *extension_table
 )
diff --git a/cpukit/include/rtems/score/watchdogimpl.h b/cpukit/include/rtems/score/watchdogimpl.h
index 65259674ae..df479aeeed 100644
--- a/cpukit/include/rtems/score/watchdogimpl.h
+++ b/cpukit/include/rtems/score/watchdogimpl.h
@@ -114,7 +114,7 @@ typedef enum {
  *
  * @param[out] header The header to initialize.
  */
-RTEMS_INLINE_ROUTINE void _Watchdog_Header_initialize(
+static inline void _Watchdog_Header_initialize(
   Watchdog_Header *header
 )
 {
@@ -129,7 +129,7 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Header_initialize(
  *
  * @return The first of @a header.
  */
-RTEMS_INLINE_ROUTINE Watchdog_Control *_Watchdog_Header_first(
+static inline Watchdog_Control *_Watchdog_Header_first(
   const Watchdog_Header *header
 )
 {
@@ -141,7 +141,7 @@ RTEMS_INLINE_ROUTINE Watchdog_Control *_Watchdog_Header_first(
  *
  * @param header The watchdog header to destroy.
  */
-RTEMS_INLINE_ROUTINE void _Watchdog_Header_destroy(
+static inline void _Watchdog_Header_destroy(
   Watchdog_Header *header
 )
 {
@@ -163,7 +163,7 @@ void _Watchdog_Tick( struct Per_CPU_Control *cpu );
  *
  * @return The RB_COLOR of @a the_watchdog.
  */
-RTEMS_INLINE_ROUTINE Watchdog_State _Watchdog_Get_state(
+static inline Watchdog_State _Watchdog_Get_state(
   const Watchdog_Control *the_watchdog
 )
 {
@@ -176,7 +176,7 @@ RTEMS_INLINE_ROUTINE Watchdog_State _Watchdog_Get_state(
  * @param[out] the_watchdog The watchdog to set the state of.
  * @param state The state to set the watchdog to.
  */
-RTEMS_INLINE_ROUTINE void _Watchdog_Set_state(
+static inline void _Watchdog_Set_state(
   Watchdog_Control *the_watchdog,
   Watchdog_State    state
 )
@@ -191,7 +191,7 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Set_state(
  *
  * @return The cpu of the watchdog.
  */
-RTEMS_INLINE_ROUTINE Per_CPU_Control *_Watchdog_Get_CPU(
+static inline Per_CPU_Control *_Watchdog_Get_CPU(
   const Watchdog_Control *the_watchdog
 )
 {
@@ -208,7 +208,7 @@ RTEMS_INLINE_ROUTINE Per_CPU_Control *_Watchdog_Get_CPU(
  * @param[out] the_watchdog The watchdog to set the cpu of.
  * @param cpu The cpu to be set as @a the_watchdog's cpu.
  */
-RTEMS_INLINE_ROUTINE void _Watchdog_Set_CPU(
+static inline void _Watchdog_Set_CPU(
   Watchdog_Control *the_watchdog,
   Per_CPU_Control  *cpu
 )
@@ -228,7 +228,7 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Set_CPU(
  *
  * @param[out] the_watchdog The uninitialized watchdog.
  */
-RTEMS_INLINE_ROUTINE void _Watchdog_Preinitialize(
+static inline void _Watchdog_Preinitialize(
   Watchdog_Control *the_watchdog,
   Per_CPU_Control  *cpu
 )
@@ -250,7 +250,7 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Preinitialize(
  * @param[out] the_watchdog The watchdog to initialize.
  * @param routing The service routine for @a the_watchdog.
  */
-RTEMS_INLINE_ROUTINE void _Watchdog_Initialize(
+static inline void _Watchdog_Initialize(
   Watchdog_Control               *the_watchdog,
   Watchdog_Service_routine_entry  routine
 )
@@ -332,7 +332,7 @@ void _Watchdog_Remove(
  * @retval 0 The now time is greater than or equal to the expiration time of
  * the watchdog.
  */
-RTEMS_INLINE_ROUTINE uint64_t _Watchdog_Cancel(
+static inline uint64_t _Watchdog_Cancel(
   Watchdog_Header  *header,
   Watchdog_Control *the_watchdog,
   uint64_t          now
@@ -362,7 +362,7 @@ RTEMS_INLINE_ROUTINE uint64_t _Watchdog_Cancel(
  * @retval true The watchdog is scheduled.
  * @retval false The watchdog is inactive.
  */
-RTEMS_INLINE_ROUTINE bool _Watchdog_Is_scheduled(
+static inline bool _Watchdog_Is_scheduled(
   const Watchdog_Control *the_watchdog
 )
 {
@@ -381,7 +381,7 @@ RTEMS_INLINE_ROUTINE bool _Watchdog_Is_scheduled(
  * @param first is the current first watchdog which should be removed
  *   afterwards.
  */
-RTEMS_INLINE_ROUTINE void _Watchdog_Next_first(
+static inline void _Watchdog_Next_first(
   Watchdog_Header        *header,
   const Watchdog_Control *first
 )
@@ -450,7 +450,7 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Next_first(
  * @retval true The timespec is a valid timespec.
  * @retval false The timespec is invalid.
  */
-RTEMS_INLINE_ROUTINE bool _Watchdog_Is_valid_timespec(
+static inline bool _Watchdog_Is_valid_timespec(
   const struct timespec *ts
 )
 {
@@ -466,7 +466,7 @@ RTEMS_INLINE_ROUTINE bool _Watchdog_Is_valid_timespec(
  * @retval true The timespec is a valid interval timespec.
  * @retval false The timespec is invalid.
  */
-RTEMS_INLINE_ROUTINE bool _Watchdog_Is_valid_interval_timespec(
+static inline bool _Watchdog_Is_valid_interval_timespec(
   const struct timespec *ts
 )
 {
@@ -483,7 +483,7 @@ RTEMS_INLINE_ROUTINE bool _Watchdog_Is_valid_interval_timespec(
  * @retval pointer Pointer to the now timespec.
  * @retval NULL @a delta is not a valid interval timespec.
  */
-RTEMS_INLINE_ROUTINE const struct timespec * _Watchdog_Future_timespec(
+static inline const struct timespec * _Watchdog_Future_timespec(
   struct timespec       *now,
   const struct timespec *delta
 )
@@ -521,7 +521,7 @@ RTEMS_INLINE_ROUTINE const struct timespec * _Watchdog_Future_timespec(
  * @retval true @a ts is too far in the future.
  * @retval false @a ts is not too far in the future.
  */
-RTEMS_INLINE_ROUTINE bool _Watchdog_Is_far_future_timespec(
+static inline bool _Watchdog_Is_far_future_timespec(
   const struct timespec *ts
 )
 {
@@ -535,7 +535,7 @@ RTEMS_INLINE_ROUTINE bool _Watchdog_Is_far_future_timespec(
  *
  * @return @a seconds converted to ticks.
  */
-RTEMS_INLINE_ROUTINE uint64_t _Watchdog_Ticks_from_seconds(
+static inline uint64_t _Watchdog_Ticks_from_seconds(
   uint32_t seconds
 )
 {
@@ -553,7 +553,7 @@ RTEMS_INLINE_ROUTINE uint64_t _Watchdog_Ticks_from_seconds(
  *
  * @return @a ts converted to ticks.
  */
-RTEMS_INLINE_ROUTINE uint64_t _Watchdog_Ticks_from_timespec(
+static inline uint64_t _Watchdog_Ticks_from_timespec(
   const struct timespec *ts
 )
 {
@@ -577,7 +577,7 @@ RTEMS_INLINE_ROUTINE uint64_t _Watchdog_Ticks_from_timespec(
  *
  * @param[out] ts is the timespec to return the converted ticks.
  */
-RTEMS_INLINE_ROUTINE void _Watchdog_Ticks_to_timespec(
+static inline void _Watchdog_Ticks_to_timespec(
   uint64_t         ticks,
   struct timespec *ts
 )
@@ -593,7 +593,7 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Ticks_to_timespec(
  *
  * @return @a sbt converted to ticks.
  */
-RTEMS_INLINE_ROUTINE uint64_t _Watchdog_Ticks_from_sbintime( int64_t sbt )
+static inline uint64_t _Watchdog_Ticks_from_sbintime( int64_t sbt )
 {
   uint64_t ticks = ( sbt >> 32 ) << WATCHDOG_BITS_FOR_1E9_NANOSECONDS;
 
@@ -608,7 +608,7 @@ RTEMS_INLINE_ROUTINE uint64_t _Watchdog_Ticks_from_sbintime( int64_t sbt )
  * @param cpu The cpu to acquire the watchdog lock of.
  * @param lock_context The lock context.
  */
-RTEMS_INLINE_ROUTINE void _Watchdog_Per_CPU_acquire_critical(
+static inline void _Watchdog_Per_CPU_acquire_critical(
   Per_CPU_Control  *cpu,
   ISR_lock_Context *lock_context
 )
@@ -622,7 +622,7 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Per_CPU_acquire_critical(
  * @param cpu The cpu to release the watchdog lock of.
  * @param lock_context The lock context.
  */
-RTEMS_INLINE_ROUTINE void _Watchdog_Per_CPU_release_critical(
+static inline void _Watchdog_Per_CPU_release_critical(
   Per_CPU_Control  *cpu,
   ISR_lock_Context *lock_context
 )
@@ -640,7 +640,7 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Per_CPU_release_critical(
  *
  * @return The new expiration time of the watchdog.
  */
-RTEMS_INLINE_ROUTINE uint64_t _Watchdog_Per_CPU_insert_ticks(
+static inline uint64_t _Watchdog_Per_CPU_insert_ticks(
   Watchdog_Control  *the_watchdog,
   Per_CPU_Control   *cpu,
   Watchdog_Interval  ticks
@@ -672,7 +672,7 @@ RTEMS_INLINE_ROUTINE uint64_t _Watchdog_Per_CPU_insert_ticks(
  *
  * @return The expiration time of the watchdog.
  */
-RTEMS_INLINE_ROUTINE uint64_t _Watchdog_Per_CPU_insert(
+static inline uint64_t _Watchdog_Per_CPU_insert(
   Watchdog_Control *the_watchdog,
   Per_CPU_Control  *cpu,
   Watchdog_Header  *header,
@@ -696,7 +696,7 @@ RTEMS_INLINE_ROUTINE uint64_t _Watchdog_Per_CPU_insert(
  * @param cpu The cpu to remove the watchdog from.
  * @param[in, out] The scheduled watchdogs.
  */
-RTEMS_INLINE_ROUTINE void _Watchdog_Per_CPU_remove(
+static inline void _Watchdog_Per_CPU_remove(
   Watchdog_Control *the_watchdog,
   Per_CPU_Control  *cpu,
   Watchdog_Header  *header
@@ -717,7 +717,7 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Per_CPU_remove(
  *
  * @param[in, out] the_watchdog The watchdog to remove.
  */
-RTEMS_INLINE_ROUTINE void _Watchdog_Per_CPU_remove_ticks(
+static inline void _Watchdog_Per_CPU_remove_ticks(
   Watchdog_Control *the_watchdog
 )
 {
diff --git a/cpukit/include/rtems/score/wkspaceinitmulti.h b/cpukit/include/rtems/score/wkspaceinitmulti.h
index 18520199ce..44a6b08445 100644
--- a/cpukit/include/rtems/score/wkspaceinitmulti.h
+++ b/cpukit/include/rtems/score/wkspaceinitmulti.h
@@ -57,7 +57,7 @@ extern "C" {
  * memory area via _Memory_Get() to implement
  * _Workspace_Handler_initialization().
  */
-RTEMS_INLINE_ROUTINE void _Workspace_Initialize_for_multiple_areas( void )
+static inline void _Workspace_Initialize_for_multiple_areas( void )
 {
   const Memory_Information             *mem;
   Heap_Initialization_or_extend_handler init_or_extend;
diff --git a/cpukit/include/rtems/score/wkspaceinitone.h b/cpukit/include/rtems/score/wkspaceinitone.h
index ce26a1cf8f..47ea4efb5e 100644
--- a/cpukit/include/rtems/score/wkspaceinitone.h
+++ b/cpukit/include/rtems/score/wkspaceinitone.h
@@ -57,7 +57,7 @@ extern "C" {
  * This implementation should be used by BSPs which provide exactly one memory
  * area via _Memory_Get() to implement _Workspace_Handler_initialization().
  */
-RTEMS_INLINE_ROUTINE void _Workspace_Initialize_for_one_area( void )
+static inline void _Workspace_Initialize_for_one_area( void )
 {
   uintptr_t                 page_size;
   uintptr_t                 wkspace_size;
diff --git a/cpukit/include/rtems/termiostypes.h b/cpukit/include/rtems/termiostypes.h
index 33fcf4b2da..67f3461b1f 100644
--- a/cpukit/include/rtems/termiostypes.h
+++ b/cpukit/include/rtems/termiostypes.h
@@ -129,7 +129,7 @@ void rtems_termios_device_lock_release_default(
  *   string persistent throughout the life time of this lock.  The name is only
  *   used if profiling is enabled.
  */
-RTEMS_INLINE_ROUTINE void rtems_termios_device_context_initialize(
+static inline void rtems_termios_device_context_initialize(
   rtems_termios_device_context *context,
   const char                   *name
 )
@@ -448,7 +448,7 @@ rtems_status_code rtems_termios_device_install(
  *
  * @param[in] tty The Termios control.
  */
-RTEMS_INLINE_ROUTINE void *rtems_termios_get_device_context(
+static inline void *rtems_termios_get_device_context(
   const rtems_termios_tty *tty
 )
 {
@@ -462,7 +462,7 @@ RTEMS_INLINE_ROUTINE void *rtems_termios_get_device_context(
  * @param[in] lock_context The local interrupt lock context for an acquire and
  *   release pair.
  */
-RTEMS_INLINE_ROUTINE void rtems_termios_device_lock_acquire(
+static inline void rtems_termios_device_lock_acquire(
   rtems_termios_device_context *context,
   rtems_interrupt_lock_context *lock_context
 )
@@ -477,7 +477,7 @@ RTEMS_INLINE_ROUTINE void rtems_termios_device_lock_acquire(
  * @param[in] lock_context The local interrupt lock context for an acquire and
  *   release pair.
  */
-RTEMS_INLINE_ROUTINE void rtems_termios_device_lock_release(
+static inline void rtems_termios_device_lock_release(
   rtems_termios_device_context *context,
   rtems_interrupt_lock_context *lock_context
 )
diff --git a/cpukit/include/rtems/timecounter.h b/cpukit/include/rtems/timecounter.h
index 2dc94bad4e..4ca17a6708 100644
--- a/cpukit/include/rtems/timecounter.h
+++ b/cpukit/include/rtems/timecounter.h
@@ -86,7 +86,7 @@ extern "C" {
  * }
  * @endcode
  */
-RTEMS_INLINE_ROUTINE void rtems_timecounter_install(
+static inline void rtems_timecounter_install(
   struct timecounter *tc
 )
 {
@@ -96,7 +96,7 @@ RTEMS_INLINE_ROUTINE void rtems_timecounter_install(
 /**
  * @copydoc _Timecounter_Tick()
  */
-RTEMS_INLINE_ROUTINE void rtems_timecounter_tick(void)
+static inline void rtems_timecounter_tick(void)
 {
   _Timecounter_Tick();
 }
@@ -219,7 +219,7 @@ void rtems_timecounter_simple_install(
  *
  * @return The scaled value.
  */
-RTEMS_INLINE_ROUTINE uint32_t rtems_timecounter_simple_scale(
+static inline uint32_t rtems_timecounter_simple_scale(
   const rtems_timecounter_simple *tc,
   uint32_t value
 )
@@ -235,7 +235,7 @@ RTEMS_INLINE_ROUTINE uint32_t rtems_timecounter_simple_scale(
  * @param[in] at_tick The method to perform work under timecounter lock
  * protection at this tick, e.g. clear a pending flag.
  */
-RTEMS_INLINE_ROUTINE void rtems_timecounter_simple_downcounter_tick(
+static inline void rtems_timecounter_simple_downcounter_tick(
   rtems_timecounter_simple         *tc,
   rtems_timecounter_simple_get      get,
   rtems_timecounter_simple_at_tick  at_tick
@@ -264,7 +264,7 @@ RTEMS_INLINE_ROUTINE void rtems_timecounter_simple_downcounter_tick(
  * @param[in] at_tick The method to perform work under timecounter lock
  * protection at this tick, e.g. clear a pending flag.
  */
-RTEMS_INLINE_ROUTINE void rtems_timecounter_simple_upcounter_tick(
+static inline void rtems_timecounter_simple_upcounter_tick(
   rtems_timecounter_simple         *tc,
   rtems_timecounter_simple_get      get,
   rtems_timecounter_simple_at_tick  at_tick
@@ -291,7 +291,7 @@ RTEMS_INLINE_ROUTINE void rtems_timecounter_simple_upcounter_tick(
  * @param[in] is_pending The method which indicates if the interrupt of the
  * simple timecounter is pending.
  */
-RTEMS_INLINE_ROUTINE uint32_t rtems_timecounter_simple_downcounter_get(
+static inline uint32_t rtems_timecounter_simple_downcounter_get(
   struct timecounter                  *tc_base,
   rtems_timecounter_simple_get         get,
   rtems_timecounter_simple_is_pending  is_pending
@@ -322,7 +322,7 @@ RTEMS_INLINE_ROUTINE uint32_t rtems_timecounter_simple_downcounter_get(
  * @param[in] is_pending The method which indicates if the interrupt of the
  * simple timecounter is pending.
  */
-RTEMS_INLINE_ROUTINE uint32_t rtems_timecounter_simple_upcounter_get(
+static inline uint32_t rtems_timecounter_simple_upcounter_get(
   struct timecounter                  *tc_base,
   rtems_timecounter_simple_get         get,
   rtems_timecounter_simple_is_pending  is_pending
diff --git a/cpukit/include/rtems/timespec.h b/cpukit/include/rtems/timespec.h
index 879b106d7b..8d49a8e6c2 100644
--- a/cpukit/include/rtems/timespec.h
+++ b/cpukit/include/rtems/timespec.h
@@ -64,7 +64,7 @@ extern "C" {
  * @retval true The timespec is valid.
  * @retval false The timespec is not valid.
  */
-RTEMS_INLINE_ROUTINE bool rtems_timespec_is_valid(
+static inline bool rtems_timespec_is_valid(
   const struct timespec *time
 )
 {
@@ -83,7 +83,7 @@ RTEMS_INLINE_ROUTINE bool rtems_timespec_is_valid(
  * @retval false @a lhs is not less than @a rhs.
  * 
  */
-RTEMS_INLINE_ROUTINE bool rtems_timespec_less_than(
+static inline bool rtems_timespec_less_than(
   const struct timespec *lhs,
   const struct timespec *rhs
 )
@@ -102,7 +102,7 @@ RTEMS_INLINE_ROUTINE bool rtems_timespec_less_than(
  *
  * @return This method returns the number of seconds @a time increased by.
  */
-RTEMS_INLINE_ROUTINE uint32_t rtems_timespec_add_to(
+static inline uint32_t rtems_timespec_add_to(
   struct timespec       *time,
   const struct timespec *add
 )
@@ -120,7 +120,7 @@ RTEMS_INLINE_ROUTINE uint32_t rtems_timespec_add_to(
  *
  * @return This method returns the number of ticks computed.
  */
-RTEMS_INLINE_ROUTINE uint32_t rtems_timespec_to_ticks(
+static inline uint32_t rtems_timespec_to_ticks(
   const struct timespec *time
 )
 {
@@ -137,7 +137,7 @@ RTEMS_INLINE_ROUTINE uint32_t rtems_timespec_to_ticks(
  * @param[in] ticks is the number of ticks to convert
  */
 
-RTEMS_INLINE_ROUTINE void rtems_timespec_from_ticks(
+static inline void rtems_timespec_from_ticks(
   uint32_t         ticks,
   struct timespec *time
 )
@@ -157,7 +157,7 @@ RTEMS_INLINE_ROUTINE void rtems_timespec_from_ticks(
  *
  * @return This method fills in @a result.
  */
-RTEMS_INLINE_ROUTINE void rtems_timespec_subtract(
+static inline void rtems_timespec_subtract(
   const struct timespec *start,
   const struct timespec *end,
   struct timespec       *result
@@ -179,7 +179,7 @@ RTEMS_INLINE_ROUTINE void rtems_timespec_subtract(
  *
  * @return This method fills in @a result.
  */
-RTEMS_INLINE_ROUTINE void rtems_timespec_divide_by_integer(
+static inline void rtems_timespec_divide_by_integer(
   const struct timespec *time,
   uint32_t               iterations,
   struct timespec       *result
@@ -201,7 +201,7 @@ RTEMS_INLINE_ROUTINE void rtems_timespec_divide_by_integer(
  *
  * @return This method fills in @a result.
  */
-RTEMS_INLINE_ROUTINE void rtems_timespec_divide(
+static inline void rtems_timespec_divide(
   const struct timespec *lhs,
   const struct timespec *rhs,
   uint32_t              *ival_percentage,
@@ -221,7 +221,7 @@ RTEMS_INLINE_ROUTINE void rtems_timespec_divide(
  * @param[in] _seconds is the seconds portion of the timespec
  * @param[in] _nanoseconds is the nanoseconds portion of the timespec
  */
-RTEMS_INLINE_ROUTINE void rtems_timespec_set(
+static inline void rtems_timespec_set(
   struct timespec *_time,
   time_t _seconds,
   uint32_t _nanoseconds
@@ -238,7 +238,7 @@ RTEMS_INLINE_ROUTINE void rtems_timespec_set(
  *
  * @param[in] _time points to the timespec instance to zero.
  */
-RTEMS_INLINE_ROUTINE void rtems_timespec_zero( 
+static inline void rtems_timespec_zero( 
   struct timespec *_time
 )
 {
@@ -254,7 +254,7 @@ RTEMS_INLINE_ROUTINE void rtems_timespec_zero(
  *
  * @return The seconds portion of @a _time.
  */
-RTEMS_INLINE_ROUTINE time_t rtems_timespec_get_seconds(
+static inline time_t rtems_timespec_get_seconds(
   struct timespec *_time
 )
 {
@@ -270,7 +270,7 @@ RTEMS_INLINE_ROUTINE time_t rtems_timespec_get_seconds(
  *
  * @return The nanoseconds portion of @a _time.
  */
-RTEMS_INLINE_ROUTINE uint32_t rtems_timespec_get_nanoseconds(
+static inline uint32_t rtems_timespec_get_nanoseconds(
   struct timespec *_time
 )
 {
@@ -288,7 +288,7 @@ RTEMS_INLINE_ROUTINE uint32_t rtems_timespec_get_nanoseconds(
  * @retval true @a _lhs is greater than @a _rhs.
  * @retval false @a _lhs is not greater than @a _rhs.
  */
-RTEMS_INLINE_ROUTINE bool rtems_timespec_greater_than(
+static inline bool rtems_timespec_greater_than(
   const struct timespec *_lhs,
   const struct timespec *_rhs
 )
@@ -306,7 +306,7 @@ RTEMS_INLINE_ROUTINE bool rtems_timespec_greater_than(
  * @retval true @a lhs is equal to @a rhs.
  * @retval false @a lhs is not equal to @a rhs.
  */
-RTEMS_INLINE_ROUTINE bool rtems_timespec_equal_to(
+static inline bool rtems_timespec_equal_to(
   const struct timespec *lhs,
   const struct timespec *rhs
 )
diff --git a/cpukit/libfs/src/dosfs/msdos.h b/cpukit/libfs/src/dosfs/msdos.h
index df9600a02d..afdcd57ef5 100644
--- a/cpukit/libfs/src/dosfs/msdos.h
+++ b/cpukit/libfs/src/dosfs/msdos.h
@@ -72,12 +72,12 @@ typedef struct msdos_fs_info_s
     rtems_dosfs_convert_control      *converter;
 } msdos_fs_info_t;
 
-RTEMS_INLINE_ROUTINE void msdos_fs_lock(msdos_fs_info_t *fs_info)
+static inline void msdos_fs_lock(msdos_fs_info_t *fs_info)
 {
     rtems_recursive_mutex_lock(&fs_info->vol_mutex);
 }
 
-RTEMS_INLINE_ROUTINE void msdos_fs_unlock(msdos_fs_info_t *fs_info)
+static inline void msdos_fs_unlock(msdos_fs_info_t *fs_info)
 {
     rtems_recursive_mutex_unlock(&fs_info->vol_mutex);
 }
diff --git a/cpukit/score/cpu/aarch64/include/rtems/score/cpu.h b/cpukit/score/cpu/aarch64/include/rtems/score/cpu.h
index da91ba96e1..399e0fc802 100644
--- a/cpukit/score/cpu/aarch64/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/aarch64/include/rtems/score/cpu.h
@@ -260,7 +260,7 @@ static inline void AArch64_interrupt_flash( uint64_t isr_cookie )
 #define _CPU_ISR_Flash( _isr_cookie ) \
   AArch64_interrupt_flash( _isr_cookie )
 
-RTEMS_INLINE_ROUTINE bool _CPU_ISR_Is_enabled( uint64_t isr_cookie )
+static inline bool _CPU_ISR_Is_enabled( uint64_t isr_cookie )
 {
   return ( isr_cookie & AARCH64_PSTATE_I ) == 0;
 }
diff --git a/cpukit/score/cpu/aarch64/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/aarch64/include/rtems/score/cpuimpl.h
index 14836965ef..880ae7d9f7 100644
--- a/cpukit/score/cpu/aarch64/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/aarch64/include/rtems/score/cpuimpl.h
@@ -152,17 +152,17 @@ void _CPU_Context_volatile_clobber( uintptr_t pattern );
 
 void _CPU_Context_validate( uintptr_t pattern );
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+static inline void _CPU_Instruction_illegal( void )
 {
   __asm__ volatile ( ".inst 0x0" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
+static inline void _CPU_Instruction_no_operation( void )
 {
   __asm__ volatile ( "nop" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Use_thread_local_storage(
+static inline void _CPU_Use_thread_local_storage(
   const Context_Control *context
 )
 {
diff --git a/cpukit/score/cpu/arm/include/rtems/score/cpu.h b/cpukit/score/cpu/arm/include/rtems/score/cpu.h
index 3715031d06..beb917a0b7 100644
--- a/cpukit/score/cpu/arm/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/arm/include/rtems/score/cpu.h
@@ -402,7 +402,7 @@ static inline void arm_interrupt_flash( uint32_t level )
 #define _CPU_ISR_Flash( _isr_cookie ) \
   arm_interrupt_flash( _isr_cookie )
 
-RTEMS_INLINE_ROUTINE bool _CPU_ISR_Is_enabled( uint32_t level )
+static inline bool _CPU_ISR_Is_enabled( uint32_t level )
 {
 #if defined(ARM_MULTILIB_ARCH_V4)
   return ( level & 0x80 ) == 0;
diff --git a/cpukit/score/cpu/arm/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/arm/include/rtems/score/cpuimpl.h
index 4f20113b71..6e8230ce30 100644
--- a/cpukit/score/cpu/arm/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/arm/include/rtems/score/cpuimpl.h
@@ -150,17 +150,17 @@ void _CPU_Context_volatile_clobber( uintptr_t pattern );
 
 void _CPU_Context_validate( uintptr_t pattern );
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+static inline void _CPU_Instruction_illegal( void )
 {
   __asm__ volatile ( "udf" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
+static inline void _CPU_Instruction_no_operation( void )
 {
   __asm__ volatile ( "nop" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Use_thread_local_storage(
+static inline void _CPU_Use_thread_local_storage(
   const Context_Control *context
 )
 {
diff --git a/cpukit/score/cpu/bfin/include/rtems/score/cpu.h b/cpukit/score/cpu/bfin/include/rtems/score/cpu.h
index f49f8928d3..72e6d14433 100644
--- a/cpukit/score/cpu/bfin/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/bfin/include/rtems/score/cpu.h
@@ -355,7 +355,7 @@ typedef struct {
                           : : "d"(_level) : "R0" ); \
   }
 
-RTEMS_INLINE_ROUTINE bool _CPU_ISR_Is_enabled( uint32_t level )
+static inline bool _CPU_ISR_Is_enabled( uint32_t level )
 {
   return level != 0;
 }
diff --git a/cpukit/score/cpu/bfin/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/bfin/include/rtems/score/cpuimpl.h
index 91e57da4a0..a03bc596ba 100644
--- a/cpukit/score/cpu/bfin/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/bfin/include/rtems/score/cpuimpl.h
@@ -37,29 +37,29 @@ extern "C" {
 
 RTEMS_NO_RETURN void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error );
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
 {
   /* TODO */
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+static inline void _CPU_Context_validate( uintptr_t pattern )
 {
   while (1) {
     /* TODO */
   }
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+static inline void _CPU_Instruction_illegal( void )
 {
   __asm__ volatile ( ".word 0" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
+static inline void _CPU_Instruction_no_operation( void )
 {
   __asm__ volatile ( "nop" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Use_thread_local_storage(
+static inline void _CPU_Use_thread_local_storage(
   const Context_Control *context
 )
 {
diff --git a/cpukit/score/cpu/i386/include/rtems/score/cpu.h b/cpukit/score/cpu/i386/include/rtems/score/cpu.h
index 715180fbd7..6aa97d309e 100644
--- a/cpukit/score/cpu/i386/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/i386/include/rtems/score/cpu.h
@@ -428,7 +428,7 @@ extern Context_Control_fp _CPU_Null_fp_context;
 #define _CPU_ISR_Set_level( _new_level ) i386_set_interrupt_level(_new_level)
 #endif
 
-RTEMS_INLINE_ROUTINE bool _CPU_ISR_Is_enabled( uint32_t level )
+static inline bool _CPU_ISR_Is_enabled( uint32_t level )
 {
   return ( level & EFLAGS_INTR_ENABLE ) != 0;
 }
diff --git a/cpukit/score/cpu/i386/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/i386/include/rtems/score/cpuimpl.h
index 71f2679dde..4f99f64711 100644
--- a/cpukit/score/cpu/i386/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/i386/include/rtems/score/cpuimpl.h
@@ -58,29 +58,29 @@ extern "C" {
 
 RTEMS_NO_RETURN void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error );
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
 {
   /* TODO */
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+static inline void _CPU_Context_validate( uintptr_t pattern )
 {
   while (1) {
     /* TODO */
   }
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+static inline void _CPU_Instruction_illegal( void )
 {
   __asm__ volatile ( ".word 0" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
+static inline void _CPU_Instruction_no_operation( void )
 {
   __asm__ volatile ( "nop" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Use_thread_local_storage(
+static inline void _CPU_Use_thread_local_storage(
   const Context_Control *context
 )
 {
diff --git a/cpukit/score/cpu/i386/include/rtems/score/i386.h b/cpukit/score/cpu/i386/include/rtems/score/i386.h
index 6b0ae5d6c2..7598204a64 100644
--- a/cpukit/score/cpu/i386/include/rtems/score/i386.h
+++ b/cpukit/score/cpu/i386/include/rtems/score/i386.h
@@ -223,7 +223,7 @@ void *i386_Physical_to_logical(
  * @param[in] offset used with \p segment to compute physical address
  * @retval    physical address
  */
-RTEMS_INLINE_ROUTINE void *i386_Real_to_physical(
+static inline void *i386_Real_to_physical(
     uint16_t segment,
     uint16_t offset)
 {
@@ -577,7 +577,7 @@ extern segment_descriptors* i386_get_gdt_entry (uint16_t sgmnt_selector);
  * @param[in]  gdt_entry pointer to entry from which base should be retrieved
  * @retval base address from GDT entry
 */
-RTEMS_INLINE_ROUTINE void* i386_base_gdt_entry (segment_descriptors* gdt_entry)
+static inline void* i386_base_gdt_entry (segment_descriptors* gdt_entry)
 {
     return (void*)(gdt_entry->base_address_15_0 |
             (gdt_entry->base_address_23_16<<16) |
diff --git a/cpukit/score/cpu/lm32/include/rtems/score/cpu.h b/cpukit/score/cpu/lm32/include/rtems/score/cpu.h
index 073e2da733..335d3407fe 100644
--- a/cpukit/score/cpu/lm32/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/lm32/include/rtems/score/cpu.h
@@ -456,7 +456,7 @@ extern Context_Control_fp _CPU_Null_fp_context;
 #define _CPU_ISR_Flash( _isr_cookie ) \
   lm32_flash_interrupts( _isr_cookie );
 
-RTEMS_INLINE_ROUTINE bool _CPU_ISR_Is_enabled( uint32_t level )
+static inline bool _CPU_ISR_Is_enabled( uint32_t level )
 {
   return ( level & 0x0001 ) != 0;
 }
@@ -612,7 +612,7 @@ void _CPU_Initialize(void);
 
 typedef void ( *CPU_ISR_raw_handler )( void );
 
-RTEMS_INLINE_ROUTINE void _CPU_ISR_install_raw_handler(
+static inline void _CPU_ISR_install_raw_handler(
   uint32_t             vector,
   CPU_ISR_raw_handler  new_handler,
   CPU_ISR_raw_handler *old_handler
diff --git a/cpukit/score/cpu/lm32/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/lm32/include/rtems/score/cpuimpl.h
index 24e8e5cb41..dce0cc6017 100644
--- a/cpukit/score/cpu/lm32/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/lm32/include/rtems/score/cpuimpl.h
@@ -36,29 +36,29 @@ extern "C" {
 
 RTEMS_NO_RETURN void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error );
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
 {
   /* TODO */
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+static inline void _CPU_Context_validate( uintptr_t pattern )
 {
   while (1) {
     /* TODO */
   }
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+static inline void _CPU_Instruction_illegal( void )
 {
   __asm__ volatile ( ".word 0" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
+static inline void _CPU_Instruction_no_operation( void )
 {
   __asm__ volatile ( "nop" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Use_thread_local_storage(
+static inline void _CPU_Use_thread_local_storage(
   const Context_Control *context
 )
 {
diff --git a/cpukit/score/cpu/m68k/include/rtems/score/cpu.h b/cpukit/score/cpu/m68k/include/rtems/score/cpu.h
index 2f9869a959..8fdcb8c15a 100644
--- a/cpukit/score/cpu/m68k/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/m68k/include/rtems/score/cpu.h
@@ -384,7 +384,7 @@ extern void*                     _VBR;
 #define _CPU_ISR_Flash( _level ) \
   m68k_flash_interrupts( _level )
 
-RTEMS_INLINE_ROUTINE bool _CPU_ISR_Is_enabled( uint32_t level )
+static inline bool _CPU_ISR_Is_enabled( uint32_t level )
 {
   return ( level & 0x0700 ) == 0;
 }
diff --git a/cpukit/score/cpu/m68k/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/m68k/include/rtems/score/cpuimpl.h
index 5c7c35943a..b94c846bf2 100644
--- a/cpukit/score/cpu/m68k/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/m68k/include/rtems/score/cpuimpl.h
@@ -56,29 +56,29 @@ extern "C" {
 
 RTEMS_NO_RETURN void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error );
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
 {
   /* TODO */
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+static inline void _CPU_Context_validate( uintptr_t pattern )
 {
   while (1) {
     /* TODO */
   }
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+static inline void _CPU_Instruction_illegal( void )
 {
   __asm__ volatile ( "illegal" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
+static inline void _CPU_Instruction_no_operation( void )
 {
   __asm__ volatile ( "nop" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Use_thread_local_storage(
+static inline void _CPU_Use_thread_local_storage(
   const Context_Control *context
 )
 {
diff --git a/cpukit/score/cpu/microblaze/include/rtems/score/cpu.h b/cpukit/score/cpu/microblaze/include/rtems/score/cpu.h
index f65c18dde3..1325962f7c 100644
--- a/cpukit/score/cpu/microblaze/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/microblaze/include/rtems/score/cpu.h
@@ -264,7 +264,7 @@ void _CPU_ISR_Set_level( uint32_t level );
 
 uint32_t _CPU_ISR_Get_level( void );
 
-RTEMS_INLINE_ROUTINE bool _CPU_ISR_Is_enabled( uint32_t level )
+static inline bool _CPU_ISR_Is_enabled( uint32_t level )
 {
   return ( level & MICROBLAZE_MSR_IE ) != 0;
 }
diff --git a/cpukit/score/cpu/microblaze/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/microblaze/include/rtems/score/cpuimpl.h
index e4f0303ad8..0b9e06cfa8 100644
--- a/cpukit/score/cpu/microblaze/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/microblaze/include/rtems/score/cpuimpl.h
@@ -76,17 +76,17 @@ void _CPU_Context_volatile_clobber( uintptr_t pattern );
 
 void _CPU_Context_validate( uintptr_t pattern );
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+static inline void _CPU_Instruction_illegal( void )
 {
   __asm__ volatile ( ".word 0x0" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
+static inline void _CPU_Instruction_no_operation( void )
 {
   __asm__ volatile ( "nop" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Use_thread_local_storage(
+static inline void _CPU_Use_thread_local_storage(
   const Context_Control *context
 )
 {
diff --git a/cpukit/score/cpu/mips/include/rtems/score/cpu.h b/cpukit/score/cpu/mips/include/rtems/score/cpu.h
index 4dbb053584..447a384c88 100644
--- a/cpukit/score/cpu/mips/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/mips/include/rtems/score/cpu.h
@@ -602,7 +602,7 @@ uint32_t mips_interrupt_mask( void );
     _xlevel = _scratch2; \
   } while(0)
 
-RTEMS_INLINE_ROUTINE bool _CPU_ISR_Is_enabled( uint32_t level )
+static inline bool _CPU_ISR_Is_enabled( uint32_t level )
 {
   return ( level & SR_INTERRUPT_ENABLE_BITS ) != 0;
 }
diff --git a/cpukit/score/cpu/mips/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/mips/include/rtems/score/cpuimpl.h
index 23d3f35960..cb4c925630 100644
--- a/cpukit/score/cpu/mips/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/mips/include/rtems/score/cpuimpl.h
@@ -56,29 +56,29 @@ extern "C" {
 
 RTEMS_NO_RETURN void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error );
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
 {
   /* TODO */
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+static inline void _CPU_Context_validate( uintptr_t pattern )
 {
   while (1) {
     /* TODO */
   }
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+static inline void _CPU_Instruction_illegal( void )
 {
   __asm__ volatile ( ".word -1" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
+static inline void _CPU_Instruction_no_operation( void )
 {
   __asm__ volatile ( "nop" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Use_thread_local_storage(
+static inline void _CPU_Use_thread_local_storage(
   const Context_Control *context
 )
 {
diff --git a/cpukit/score/cpu/moxie/include/rtems/score/cpu.h b/cpukit/score/cpu/moxie/include/rtems/score/cpu.h
index 3a8a3087c6..b94d47ab31 100644
--- a/cpukit/score/cpu/moxie/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/moxie/include/rtems/score/cpu.h
@@ -317,7 +317,7 @@ typedef struct {
     _CPU_ISR_Disable( _isr_cookie ); \
   } while (0)
 
-RTEMS_INLINE_ROUTINE bool _CPU_ISR_Is_enabled( uint32_t level )
+static inline bool _CPU_ISR_Is_enabled( uint32_t level )
 {
   return true;
 }
diff --git a/cpukit/score/cpu/moxie/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/moxie/include/rtems/score/cpuimpl.h
index a54824f16b..9c6ae11d74 100644
--- a/cpukit/score/cpu/moxie/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/moxie/include/rtems/score/cpuimpl.h
@@ -56,29 +56,29 @@ extern "C" {
 
 RTEMS_NO_RETURN void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error );
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
 {
   /* TODO */
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+static inline void _CPU_Context_validate( uintptr_t pattern )
 {
   while (1) {
     /* TODO */
   }
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+static inline void _CPU_Instruction_illegal( void )
 {
   __asm__ volatile ( ".word 0" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
+static inline void _CPU_Instruction_no_operation( void )
 {
   __asm__ volatile ( "nop" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Use_thread_local_storage(
+static inline void _CPU_Use_thread_local_storage(
   const Context_Control *context
 )
 {
diff --git a/cpukit/score/cpu/nios2/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/nios2/include/rtems/score/cpuimpl.h
index 518fac4308..56c2cb0108 100644
--- a/cpukit/score/cpu/nios2/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/nios2/include/rtems/score/cpuimpl.h
@@ -60,17 +60,17 @@ void _CPU_Context_volatile_clobber( uintptr_t pattern );
 
 void _CPU_Context_validate( uintptr_t pattern );
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+static inline void _CPU_Instruction_illegal( void )
 {
   __asm__ volatile ( ".word 0" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
+static inline void _CPU_Instruction_no_operation( void )
 {
   __asm__ volatile ( "nop" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Use_thread_local_storage(
+static inline void _CPU_Use_thread_local_storage(
   const Context_Control *context
 )
 {
diff --git a/cpukit/score/cpu/nios2/nios2-iic-irq.c b/cpukit/score/cpu/nios2/nios2-iic-irq.c
index 561ba3865e..8215e16a4c 100644
--- a/cpukit/score/cpu/nios2/nios2-iic-irq.c
+++ b/cpukit/score/cpu/nios2/nios2-iic-irq.c
@@ -60,7 +60,7 @@ void __Exception_Handler(CPU_Exception_frame *efr);
 
 register unsigned long  *stack_ptr __asm__ ("sp");
 
-RTEMS_INLINE_ROUTINE void __IIC_Handler(void)
+static inline void __IIC_Handler(void)
 {
   uint32_t active;
   uint32_t mask;
diff --git a/cpukit/score/cpu/no_cpu/include/rtems/score/cpu.h b/cpukit/score/cpu/no_cpu/include/rtems/score/cpu.h
index 63829b5272..962fc486fc 100644
--- a/cpukit/score/cpu/no_cpu/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/no_cpu/include/rtems/score/cpu.h
@@ -695,7 +695,7 @@ extern Context_Control_fp _CPU_Null_fp_context;
  * @retval true Interrupts are enabled in the ISR level.
  * @retval false Otherwise.
  */
-RTEMS_INLINE_ROUTINE bool _CPU_ISR_Is_enabled( uint32_t level )
+static inline bool _CPU_ISR_Is_enabled( uint32_t level )
 {
   return false;
 }
diff --git a/cpukit/score/cpu/no_cpu/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/no_cpu/include/rtems/score/cpuimpl.h
index 1eec4e6b7a..d5082383e8 100644
--- a/cpukit/score/cpu/no_cpu/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/no_cpu/include/rtems/score/cpuimpl.h
@@ -151,7 +151,7 @@ void _CPU_Context_validate( uintptr_t pattern );
  *
  * This function is used only in test sptests/spfatal26.
  */
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+static inline void _CPU_Instruction_illegal( void )
 {
   __asm__ volatile ( ".word 0" );
 }
@@ -161,7 +161,7 @@ RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
  *
  * This function is used only in test sptests/spcache01.
  */
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
+static inline void _CPU_Instruction_no_operation( void )
 {
   __asm__ volatile ( "nop" );
 }
@@ -176,7 +176,7 @@ RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
  * @param context is the processor context defining the thread-local storage
  *   area to use.
  */
-RTEMS_INLINE_ROUTINE void _CPU_Use_thread_local_storage(
+static inline void _CPU_Use_thread_local_storage(
   const Context_Control *context
 )
 {
diff --git a/cpukit/score/cpu/or1k/include/rtems/score/cpu.h b/cpukit/score/cpu/or1k/include/rtems/score/cpu.h
index 8d9aaee4f9..ce1aa301b3 100644
--- a/cpukit/score/cpu/or1k/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/or1k/include/rtems/score/cpu.h
@@ -316,7 +316,7 @@ static inline void or1k_interrupt_enable(uint32_t level)
       _OR1K_mtspr(CPU_OR1K_SPR_SR, (_level & ~CPU_OR1K_SPR_SR_IEE)); \
     } while(0)
 
-RTEMS_INLINE_ROUTINE bool _CPU_ISR_Is_enabled( uint32_t level )
+static inline bool _CPU_ISR_Is_enabled( uint32_t level )
 {
   return ( level & CPU_OR1K_SPR_SR ) != 0;
 }
@@ -468,7 +468,7 @@ void _CPU_ISR_install_raw_handler(
 
 typedef void ( *CPU_ISR_handler )( uint32_t );
 
-RTEMS_INLINE_ROUTINE void _CPU_ISR_install_vector(
+static inline void _CPU_ISR_install_vector(
   uint32_t         vector,
   CPU_ISR_handler  new_handler,
   CPU_ISR_handler *old_handler
diff --git a/cpukit/score/cpu/or1k/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/or1k/include/rtems/score/cpuimpl.h
index 35d186990d..352f14589a 100644
--- a/cpukit/score/cpu/or1k/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/or1k/include/rtems/score/cpuimpl.h
@@ -60,17 +60,17 @@ void _CPU_Context_volatile_clobber( uintptr_t pattern );
 
 void _CPU_Context_validate( uintptr_t pattern );
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+static inline void _CPU_Instruction_illegal( void )
 {
   __asm__ volatile ( ".word 0" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
+static inline void _CPU_Instruction_no_operation( void )
 {
   __asm__ volatile ( "l.nop" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Use_thread_local_storage(
+static inline void _CPU_Use_thread_local_storage(
   const Context_Control *context
 )
 {
diff --git a/cpukit/score/cpu/powerpc/include/rtems/score/cpu.h b/cpukit/score/cpu/powerpc/include/rtems/score/cpu.h
index 4e606f45d8..84f0bf3f65 100644
--- a/cpukit/score/cpu/powerpc/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/powerpc/include/rtems/score/cpu.h
@@ -608,7 +608,7 @@ typedef struct {
 
 #ifndef ASM
 
-RTEMS_INLINE_ROUTINE bool _CPU_ISR_Is_enabled( uint32_t level )
+static inline bool _CPU_ISR_Is_enabled( uint32_t level )
 {
   return ( level & MSR_EE ) != 0;
 }
diff --git a/cpukit/score/cpu/powerpc/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/powerpc/include/rtems/score/cpuimpl.h
index 4a88fe18b1..c81675b53d 100644
--- a/cpukit/score/cpu/powerpc/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/powerpc/include/rtems/score/cpuimpl.h
@@ -273,17 +273,17 @@ void _CPU_Context_volatile_clobber( uintptr_t pattern );
 
 void _CPU_Context_validate( uintptr_t pattern );
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+static inline void _CPU_Instruction_illegal( void )
 {
   __asm__ volatile ( ".long 0" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
+static inline void _CPU_Instruction_no_operation( void )
 {
   __asm__ volatile ( "nop" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Use_thread_local_storage(
+static inline void _CPU_Use_thread_local_storage(
   const Context_Control *context
 )
 {
diff --git a/cpukit/score/cpu/riscv/include/rtems/score/cpu.h b/cpukit/score/cpu/riscv/include/rtems/score/cpu.h
index 03f2ed8120..f0f3da05da 100644
--- a/cpukit/score/cpu/riscv/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/riscv/include/rtems/score/cpu.h
@@ -186,12 +186,12 @@ static inline void riscv_interrupt_enable( uint32_t level )
       riscv_interrupt_disable(); \
     } while(0)
 
-RTEMS_INLINE_ROUTINE bool _CPU_ISR_Is_enabled( unsigned long level )
+static inline bool _CPU_ISR_Is_enabled( unsigned long level )
 {
   return ( level & RISCV_MSTATUS_MIE ) != 0;
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_ISR_Set_level( uint32_t level )
+static inline void _CPU_ISR_Set_level( uint32_t level )
 {
   if ( ( level & CPU_MODES_INTERRUPT_MASK) == 0 ) {
     __asm__ volatile (
diff --git a/cpukit/score/cpu/riscv/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/riscv/include/rtems/score/cpuimpl.h
index ca09832d0e..c38d21495a 100644
--- a/cpukit/score/cpu/riscv/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/riscv/include/rtems/score/cpuimpl.h
@@ -420,17 +420,17 @@ void _CPU_Context_volatile_clobber( uintptr_t pattern );
 
 void _CPU_Context_validate( uintptr_t pattern );
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+static inline void _CPU_Instruction_illegal( void )
 {
   __asm__ volatile ( "unimp" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
+static inline void _CPU_Instruction_no_operation( void )
 {
   __asm__ volatile ( "nop" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Use_thread_local_storage(
+static inline void _CPU_Use_thread_local_storage(
   const Context_Control *context
 )
 {
diff --git a/cpukit/score/cpu/sh/include/rtems/score/cpu.h b/cpukit/score/cpu/sh/include/rtems/score/cpu.h
index 9ed7d584ff..f2b59a8713 100644
--- a/cpukit/score/cpu/sh/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/sh/include/rtems/score/cpu.h
@@ -393,7 +393,7 @@ void CPU_delay( uint32_t   microseconds );
 #define _CPU_ISR_Flash( _level) \
   sh_flash_interrupts( _level)
 
-RTEMS_INLINE_ROUTINE bool _CPU_ISR_Is_enabled( uint32_t level )
+static inline bool _CPU_ISR_Is_enabled( uint32_t level )
 {
   sh_get_interrupt_level( level );
   return level == 0;
diff --git a/cpukit/score/cpu/sh/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/sh/include/rtems/score/cpuimpl.h
index cb20bab616..295b01eeaa 100644
--- a/cpukit/score/cpu/sh/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/sh/include/rtems/score/cpuimpl.h
@@ -37,29 +37,29 @@ extern "C" {
 
 RTEMS_NO_RETURN void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error );
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
 {
   /* TODO */
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+static inline void _CPU_Context_validate( uintptr_t pattern )
 {
   while (1) {
     /* TODO */
   }
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+static inline void _CPU_Instruction_illegal( void )
 {
   __asm__ volatile ( ".word 0" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
+static inline void _CPU_Instruction_no_operation( void )
 {
   __asm__ volatile ( "nop" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Use_thread_local_storage(
+static inline void _CPU_Use_thread_local_storage(
   const Context_Control *context
 )
 {
diff --git a/cpukit/score/cpu/sparc/include/libcpu/byteorder.h b/cpukit/score/cpu/sparc/include/libcpu/byteorder.h
index 38b1f18f63..0c469ba36b 100644
--- a/cpukit/score/cpu/sparc/include/libcpu/byteorder.h
+++ b/cpukit/score/cpu/sparc/include/libcpu/byteorder.h
@@ -37,42 +37,42 @@
 extern "C" {
 #endif
 
-RTEMS_INLINE_ROUTINE uint16_t ld_le16(volatile uint16_t *addr)
+static inline uint16_t ld_le16(volatile uint16_t *addr)
 {
 	return CPU_swap_u16(*addr);
 }
 
-RTEMS_INLINE_ROUTINE void st_le16(volatile uint16_t *addr, uint16_t val)
+static inline void st_le16(volatile uint16_t *addr, uint16_t val)
 {
 	*addr = CPU_swap_u16(val);
 }
 
-RTEMS_INLINE_ROUTINE uint32_t ld_le32(volatile uint32_t *addr)
+static inline uint32_t ld_le32(volatile uint32_t *addr)
 {
 	return CPU_swap_u32(*addr);
 }
 
-RTEMS_INLINE_ROUTINE void st_le32(volatile uint32_t *addr, uint32_t val)
+static inline void st_le32(volatile uint32_t *addr, uint32_t val)
 {
 	*addr = CPU_swap_u32(val);
 }
 
-RTEMS_INLINE_ROUTINE uint16_t ld_be16(volatile uint16_t *addr)
+static inline uint16_t ld_be16(volatile uint16_t *addr)
 {
 	return *addr;
 }
 
-RTEMS_INLINE_ROUTINE void st_be16(volatile uint16_t *addr, uint16_t val)
+static inline void st_be16(volatile uint16_t *addr, uint16_t val)
 {
 	*addr = val;
 }
 
-RTEMS_INLINE_ROUTINE uint32_t ld_be32(volatile uint32_t *addr)
+static inline uint32_t ld_be32(volatile uint32_t *addr)
 {
 	return *addr;
 }
 
-RTEMS_INLINE_ROUTINE void st_be32(volatile uint32_t *addr, uint32_t val)
+static inline void st_be32(volatile uint32_t *addr, uint32_t val)
 {
 	*addr = val;
 }
diff --git a/cpukit/score/cpu/sparc/include/rtems/score/cpu.h b/cpukit/score/cpu/sparc/include/rtems/score/cpu.h
index c90071e01d..9044294304 100644
--- a/cpukit/score/cpu/sparc/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/sparc/include/rtems/score/cpu.h
@@ -797,7 +797,7 @@ void _SPARC_Interrupt_dispatch( uint32_t irq );
 #define _CPU_ISR_Is_enabled( _isr_cookie ) \
   sparc_interrupt_is_enabled( _isr_cookie )
 
-RTEMS_INLINE_ROUTINE bool _CPU_ISR_Is_enabled( uint32_t level )
+static inline bool _CPU_ISR_Is_enabled( uint32_t level )
 {
   return ( level & SPARC_PSR_PIL_MASK ) == 0;
 }
diff --git a/cpukit/score/cpu/sparc/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/sparc/include/rtems/score/cpuimpl.h
index 2a200be7e3..e98a75cf32 100644
--- a/cpukit/score/cpu/sparc/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/sparc/include/rtems/score/cpuimpl.h
@@ -224,17 +224,17 @@ void _CPU_Context_volatile_clobber( uintptr_t pattern );
 
 void _CPU_Context_validate( uintptr_t pattern );
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+static inline void _CPU_Instruction_illegal( void )
 {
   __asm__ volatile ( "unimp 0" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
+static inline void _CPU_Instruction_no_operation( void )
 {
   __asm__ volatile ( "nop" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Use_thread_local_storage(
+static inline void _CPU_Use_thread_local_storage(
   const Context_Control *context
 )
 {
diff --git a/cpukit/score/cpu/sparc64/include/rtems/score/cpu.h b/cpukit/score/cpu/sparc64/include/rtems/score/cpu.h
index eefe8f0510..90ffe96341 100644
--- a/cpukit/score/cpu/sparc64/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/sparc64/include/rtems/score/cpu.h
@@ -697,7 +697,7 @@ extern const CPU_Trap_table_entry _CPU_Trap_slot_template;
 #define _CPU_ISR_Flash( _level ) \
    sparc_flash_interrupts( _level )
 
-RTEMS_INLINE_ROUTINE bool _CPU_ISR_Is_enabled( uint32_t level )
+static inline bool _CPU_ISR_Is_enabled( uint32_t level )
 {
   return ( level & SPARC_PSTATE_IE_MASK ) != 0;
 }
diff --git a/cpukit/score/cpu/sparc64/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/sparc64/include/rtems/score/cpuimpl.h
index 23aed1a8d6..8df4c8814c 100644
--- a/cpukit/score/cpu/sparc64/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/sparc64/include/rtems/score/cpuimpl.h
@@ -56,29 +56,29 @@ extern "C" {
 
 RTEMS_NO_RETURN void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error );
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
 {
   /* TODO */
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+static inline void _CPU_Context_validate( uintptr_t pattern )
 {
   while (1) {
     /* TODO */
   }
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+static inline void _CPU_Instruction_illegal( void )
 {
   __asm__ volatile ( "unimp" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
+static inline void _CPU_Instruction_no_operation( void )
 {
   __asm__ volatile ( "nop" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Use_thread_local_storage(
+static inline void _CPU_Use_thread_local_storage(
   const Context_Control *context
 )
 {
diff --git a/cpukit/score/cpu/v850/include/rtems/score/cpu.h b/cpukit/score/cpu/v850/include/rtems/score/cpu.h
index 76fd7869a3..00addf0bc6 100644
--- a/cpukit/score/cpu/v850/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/v850/include/rtems/score/cpu.h
@@ -346,7 +346,7 @@ typedef struct {
     __asm__ __volatile__( "di" ); \
   } while (0)
 
-RTEMS_INLINE_ROUTINE bool _CPU_ISR_Is_enabled( uint32_t level )
+static inline bool _CPU_ISR_Is_enabled( uint32_t level )
 {
   return ( level & V850_PSW_INTERRUPT_DISABLE_MASK )
     != V850_PSW_INTERRUPT_DISABLE;
diff --git a/cpukit/score/cpu/v850/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/v850/include/rtems/score/cpuimpl.h
index 8f73b45ad6..4b0f78c845 100644
--- a/cpukit/score/cpu/v850/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/v850/include/rtems/score/cpuimpl.h
@@ -56,29 +56,29 @@ extern "C" {
 
 RTEMS_NO_RETURN void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error );
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
 {
   /* TODO */
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+static inline void _CPU_Context_validate( uintptr_t pattern )
 {
   while (1) {
     /* TODO */
   }
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+static inline void _CPU_Instruction_illegal( void )
 {
   __asm__ volatile ( ".word 0" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
+static inline void _CPU_Instruction_no_operation( void )
 {
   __asm__ volatile ( "nop" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Use_thread_local_storage(
+static inline void _CPU_Use_thread_local_storage(
   const Context_Control *context
 )
 {
diff --git a/cpukit/score/cpu/x86_64/include/rtems/score/cpu.h b/cpukit/score/cpu/x86_64/include/rtems/score/cpu.h
index 23891acff3..2671c607a7 100644
--- a/cpukit/score/cpu/x86_64/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/x86_64/include/rtems/score/cpu.h
@@ -177,12 +177,12 @@ typedef struct {
   (void) _level; /* Prevent -Wunused-but-set-variable */    \
 }
 
-RTEMS_INLINE_ROUTINE bool _CPU_ISR_Is_enabled(uint32_t level)
+static inline bool _CPU_ISR_Is_enabled(uint32_t level)
 {
   return (level & EFLAGS_INTR_ENABLE) != 0;
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_ISR_Set_level(uint32_t new_level)
+static inline void _CPU_ISR_Set_level(uint32_t new_level)
 {
   if ( new_level ) {
     amd64_disable_interrupts();
@@ -192,7 +192,7 @@ RTEMS_INLINE_ROUTINE void _CPU_ISR_Set_level(uint32_t new_level)
   }
 }
 
-RTEMS_INLINE_ROUTINE uint32_t _CPU_ISR_Get_level(void)
+static inline uint32_t _CPU_ISR_Get_level(void)
 {
   uint64_t rflags;
 
diff --git a/cpukit/score/cpu/x86_64/include/rtems/score/cpu_asm.h b/cpukit/score/cpu/x86_64/include/rtems/score/cpu_asm.h
index 4ad50b9f42..10e0887cb9 100644
--- a/cpukit/score/cpu/x86_64/include/rtems/score/cpu_asm.h
+++ b/cpukit/score/cpu/x86_64/include/rtems/score/cpu_asm.h
@@ -31,7 +31,7 @@
 
 #include <rtems/score/basedefs.h>
 
-RTEMS_INLINE_ROUTINE uint8_t inport_byte(uint16_t port)
+static inline uint8_t inport_byte(uint16_t port)
 {
   uint8_t ret;
   __asm__ volatile ( "inb %1, %0"
@@ -40,12 +40,12 @@ RTEMS_INLINE_ROUTINE uint8_t inport_byte(uint16_t port)
   return ret;
 }
 
-RTEMS_INLINE_ROUTINE void outport_byte(uint16_t port, uint8_t val)
+static inline void outport_byte(uint16_t port, uint8_t val)
 {
   __asm__ volatile ( "outb %0, %1" : : "a" (val), "Nd" (port) );
 }
 
-RTEMS_INLINE_ROUTINE uint16_t amd64_get_cs(void)
+static inline uint16_t amd64_get_cs(void)
 {
   uint16_t segment = 0;
 
@@ -54,12 +54,12 @@ RTEMS_INLINE_ROUTINE uint16_t amd64_get_cs(void)
   return segment;
 }
 
-RTEMS_INLINE_ROUTINE void amd64_set_cr3(uint64_t segment)
+static inline void amd64_set_cr3(uint64_t segment)
 {
   __asm__ volatile ( "movq %0, %%cr3" : "=r" (segment) : "0" (segment) );
 }
 
-RTEMS_INLINE_ROUTINE void cpuid(
+static inline void cpuid(
   uint32_t code, uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx
 ) {
   __asm__ volatile ( "cpuid"
@@ -67,7 +67,7 @@ RTEMS_INLINE_ROUTINE void cpuid(
                      : "a" (code) );
 }
 
-RTEMS_INLINE_ROUTINE uint64_t rdmsr(uint32_t msr)
+static inline uint64_t rdmsr(uint32_t msr)
 {
   uint32_t low, high;
   __asm__ volatile ( "rdmsr" :
@@ -76,23 +76,23 @@ RTEMS_INLINE_ROUTINE uint64_t rdmsr(uint32_t msr)
    return low | (uint64_t) high << 32;
 }
 
-RTEMS_INLINE_ROUTINE void wrmsr(uint32_t msr, uint32_t low, uint32_t high)
+static inline void wrmsr(uint32_t msr, uint32_t low, uint32_t high)
 {
   __asm__ volatile ( "wrmsr" : :
                      "a" (low), "d" (high), "c" (msr) );
 }
 
-RTEMS_INLINE_ROUTINE void amd64_enable_interrupts(void)
+static inline void amd64_enable_interrupts(void)
 {
   __asm__ volatile ( "sti" );
 }
 
-RTEMS_INLINE_ROUTINE void amd64_disable_interrupts(void)
+static inline void amd64_disable_interrupts(void)
 {
   __asm__ volatile ( "cli" );
 }
 
-RTEMS_INLINE_ROUTINE void stub_io_wait(void)
+static inline void stub_io_wait(void)
 {
   /* XXX: This likely won't be required on any modern boards, but this function
    * exists so it's easier to find all the places it may be used.
diff --git a/cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h
index 680c61ae20..742763c168 100644
--- a/cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h
@@ -40,29 +40,29 @@ extern "C" {
 
 RTEMS_NO_RETURN void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error );
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
 {
   /* TODO */
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
+static inline void _CPU_Instruction_illegal( void )
 {
   __asm__ volatile ( ".word 0" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+static inline void _CPU_Context_validate( uintptr_t pattern )
 {
   while (1) {
     /* TODO */
   }
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
+static inline void _CPU_Instruction_no_operation( void )
 {
   __asm__ volatile ( "nop" );
 }
 
-RTEMS_INLINE_ROUTINE void _CPU_Use_thread_local_storage(
+static inline void _CPU_Use_thread_local_storage(
   const Context_Control *context
 )
 {
diff --git a/testsuites/sptests/sp07/system.h b/testsuites/sptests/sp07/system.h
index cc5f4eb6e7..bcd7b50d1c 100644
--- a/testsuites/sptests/sp07/system.h
+++ b/testsuites/sptests/sp07/system.h
@@ -111,7 +111,7 @@ TEST_EXTERN int Task_restarted[ RTEMS_ARRAY_SIZE( Task_id ) ];
 
 TEST_EXTERN int Task_deleted[ RTEMS_ARRAY_SIZE( Task_id ) ];
 
-RTEMS_INLINE_ROUTINE void assert_extension_counts( const int *table, int tasks )
+static inline void assert_extension_counts( const int *table, int tasks )
 {
   size_t i;
 



More information about the vc mailing list