#3935 assigned task

Remove use of RTEMS_INLINE_ROUTINE in the RTEMS sources

Reported by: Sebastian Huber Owned by: Sebastian Huber
Priority: normal Milestone: 6.1
Component: unspecified Version: 6
Severity: normal Keywords:
Cc: Blocked By:
Blocking:

Description

Replace all uses of RTEMS_INLINE_ROUTINE with "static inline". This makes it a bit easier for third-party tools to parse the RTEMS sources.

Change History (4)

comment:1 Changed on Apr 6, 2020 at 1:20:41 PM by Joel Sherrill

Please cite where "static inline" became part of the C and C++ standards. Eons ago static inline meaning do not include method bodies in the generated object was a GNU extension. Other compilers had their own way of specifying this.

comment:2 Changed on Apr 6, 2020 at 1:25:42 PM by Sebastian Huber

This is C99. The default language version is C11 since a while.

comment:3 Changed on Apr 6, 2020 at 1:33:01 PM by Joel Sherrill

Citation please. Section and paragraph.

comment:4 Changed on Apr 6, 2020 at 1:40:56 PM by Sebastian Huber

I don't understand the problem, we use this for a long time:

/**
 *  The following (in conjunction with compiler arguments) are used
 *  to choose between the use of static inline functions and macro
 *  functions.   The static inline implementation allows better
 *  type checking with no cost in code size or execution speed.
 */
#ifdef __GNUC__
  #define RTEMS_INLINE_ROUTINE static __inline__
#else
  #define RTEMS_INLINE_ROUTINE static inline
#endif

Wikipedia has some background information: https://en.wikipedia.org/wiki/Inline_function

Note: See TracTickets for help on using tickets.