In /usr/avr/include/inttypes.h appears the following code: #ifdef __avr_libc_does_not_implement_hh_in_scanf #define SCNd8 "hhd" #define SCNdLEAST8 "hhd" #define SCNdFAST8 "hhd" #define SCNi8 "hhi" #define SCNiLEAST8 "hhi" #define SCNiFAST8 "hhi" #endif This preprocessor check looks crazy: if the "hh" format is *not* implemented, then go ahead and define a bunch of macros that *use* it? I think this should be ifndef, shouldn't it? Something similar is going on with __avr_libc_does_not_implement_long_long_in_printf_or_scanf in three places as well as a second instance of __avr_libc_does_not_implement_hh_in_scanf. Reproducible: Always
this should be filed here: https://savannah.nongnu.org/bugs/?group=avr-libc