Hi, I am using Avr-gcc-9.1.0
Here's some code (just cut paste from AVR-lib): // ....... #include <stdio.h> // ...... void uart_putchar(char c, FILE *stream) { if (c == '\n') uart_putchar('\r', stream); loop_until_bit_is_set(UCSRA, UDRE); UDR = c; return ; } //=================================== //set stream pointer static FILE mystdout = FDEV_SETUP_STREAM(uart_putchar, NULL, _FDEV_SETUP_WRITE); //==================================== I am getting this warning: In file included from PkLoad-6D-Ser-72x72x65-1214.c:12: PkLoad-6D-Ser-72x72x65-1214.c:86:42: warning: initialization of 'int (*)(char, struct __file *)' from incompatible pointer type 'void (*)(char, FILE *)' {aka 'void (*)(char, struct __file *)'} [-Wincompatible-pointer-types] The code compiles (but for this warning) and works too, on hardware. This code worked fine in older version of AVR-GCC (4.6 and earlier) I ignored this warning for a long time. Recently, I got curious as to the nature of the error. So what has changed recently ? Thanks! -- Best Regards, -- Royce Pereira