On 15 Mar 2022 12:41, Richard Earnshaw wrote: > On 15/03/2022 03:25, Mike Frysinger wrote: > > __builtin_mul_overflow showed up with gcc-5, so stub it out for older > > versions. > > --- > > newlib/libc/include/sys/cdefs.h | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/newlib/libc/include/sys/cdefs.h b/newlib/libc/include/sys/cdefs.h > > index da729092185c..e51f7f4b873a 100644 > > --- a/newlib/libc/include/sys/cdefs.h > > +++ b/newlib/libc/include/sys/cdefs.h > > @@ -416,6 +416,10 @@ > > #define __unreachable() ((void)0) > > #endif > > > > +#if !__GNUC_PREREQ__(5, 0) > > +#define __builtin_mul_overflow(a, b, size) ({ *(size) = (a) * (b); 0; }) > > Wouldn't > (*(size) = (a) * (b), 0) > > be more portable (avoiding the GNU statement expression extension)? sure, that works too, thanks -mike