Soo, ich habs jetzt mal direkt getestet.
Abgesehen davon, was der C Standard sagt, geht eine Funktion in der main() ohne Probleme beim Compiler durch. Nur das ich nicht function(){asm volatile("nop":;} sondern void function(){asm volatile("nop":;} verwendet habe.
Mein makefile ruft den Compiler mit CSTANDARD = -std=gnu99 auf.

sast