Warnings should go to standard error, not to standard output. SMC often uses printf(), which a) prints to standard output and b) is legacy C code if you don’t need to formatting functionality (in which case fprintf() should be used with the standard error stream here).