SHIVAM DEOLANKAR commented on a discussion on cpukit/include/rtems/error.h: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1069#note_143142 > -#define RTEMS_ERROR_ABORT (RTEMS_ERROR_ERRNO / 4) /* err is fatal; > panic */ > -#else > -#define RTEMS_ERROR_ERRNO (0x40000000) /* hi bit; use 'errno' */ > -#define RTEMS_ERROR_PANIC (0x20000000) /* err fatal; no return */ > -#define RTEMS_ERROR_ABORT (0x10000000) /* err is fatal; panic */ > -#endif > +/* > + * Define Error Flags > + */ > +#define RTEMS_ERROR_BITS (sizeof(rtems_error_code_t) * CHAR_BIT) > + > +#define RTEMS_ERROR_ERRNO (((rtems_error_code_t)1) << (RTEMS_ERROR_BITS - > 2)) > + > +#define RTEMS_ERROR_PANIC (((rtems_error_code_t)1) << (RTEMS_ERROR_BITS - > 3)) > + > +#define RTEMS_ERROR_ABORT (((rtems_error_code_t)1) << (RTEMS_ERROR_BITS - > 4)) Originally, the #if 0 section had the logic which was intended to be implemented. and else part contained the hardcoded values which were being returned irrespective of architecture. The new way has defined general logic common for 32 bit and 64 bit so it doesnt need any hardcoded values in else which erases our need of keeping #if and #else -- View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1069#note_143142 You're receiving this email because of your account on gitlab.rtems.org.
_______________________________________________ bugs mailing list [email protected] http://lists.rtems.org/mailman/listinfo/bugs
