rtems_fatal() as inline in a header file

Sebastian Huber sebastian.huber at embedded-brains.de
Thu May 18 05:16:26 UTC 2017



On 18/05/17 01:08, Pham, Phong wrote:
>
> Hi Developers,
>
> Currently:
> …\rtems\cpukit\sapi\include\rtems\fatal.h 
> <file:///%5C%5Ccentos%5Crtems-dev%5Crtems_0508%5Crtems%5Ccpukit%5Csapi%5Cinclude%5Crtems%5Cfatal.h>
>
> is implemented as
>
> RTEMS_NO_RETURN RTEMS_INLINE_ROUTINE void rtems_fatal(
>
>   rtems_fatal_source fatal_source,
>
>   rtems_fatal_code   error_code
>
> )
>
> {
>
>   _Terminate( fatal_source, error_code );
>
> }
>
> I suggest to move the implementation to fatal.c and remove 
> RTEMS_INLINE_ROUTINE.  I just don’t see a benefit to implement it as 
> inline.
>

The rtems_fatal() is an API function documented in the user manual. The 
_Terminate() is an internal function.

> Besides, it has disadvantages.  That is besides code size, during 
> debugging, it simplifies the number of rtems_fatal symbol occurrences 
> to 1.  Don’t have to figure out which one is which.
>

Yes, for debugging you have to know that _Terminate() is the right 
function to set the break point. This is not really great. Maybe we 
should remove this indirection.

> bsp_fatal() is another one.
>
> Phong.
>
>
>           Notice: This e-mail and any files transmitted with it may
>           contain Data Device Corporation's privileged and proprietary
>           information. It is intended solely for the use of the
>           individual or entity to whom it is addressed. If you are not
>           the named recipient of this transmission, any disclosure,
>           copying, distribution or reliance on the contents of this
>           message is prohibited. If you received this e-mail in error,
>           please destroy it and any attached files and notify me
>           immediately.
>

Do you take this message serious?

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.




More information about the devel mailing list