I get a warning emitted about incompatible types withe an alias. > $ avr-gcc -c -mmcu=atmega328p -DF_CPU=16000000 -O -o usart.o usart.c > usart.c:480:14: warning: 'uart0_putc_' alias between functions of incompatible types char(char)' and 'void(char)' [-Wattribute-alias=] > 480 | char uart0_putc_(char data) __attribute__ ((alias ("uart0_putc"))); // alias for uart_putc that returns passed argument unaffected by omitting any existent rule > | ^~~~~~~~~~~ > usart.c:315:14: note: aliased declaration here > 315 | void uart0_putc(char data) > | ^~~~~~~~~~ I'm not sure if this is due to something missing on my part.