[Toybox] [PATCH] macOS: noreturn.

Rob Landley rob at landley.net
Wed Nov 28 16:52:40 PST 2018


On 11/28/18 5:41 PM, enh via Toybox wrote:
> The macOS libc headers use `__attribute__((noreturn))` rather than
> `__attribute__((__noreturn__))`, so toybox's `noreturn` macro trips them
> up. Since we already have a variety of uses of `__attribute__` that
> aren't guarded in this way, let's do the same here.

It was for compilers that didn't have attribute(__noreturn__) (the kernel did
this for really old gcc versions, and once upon a time I maintained a tinycc
fork...) but it looks like C11 added some variant of it as standard:

https://en.cppreference.com/w/c/language/_Noreturn

And I guess C11 has hit the 7 year support horizon from the FAQ. (First thing
I've found from C11 that might actually be worth depending on. Which would be a
syntax migration but there's no rush, pretty sure this is not our only gcc
extension and what's an interesting compiler that doesn't have those extensions?)

Rob



More information about the Toybox mailing list