two things: the linker doesn't only produce binaries, it has options for producing other output in which a null object file may be applicable; furthermore, it takes more than a single file, so you can see how a #ifdef-ed C file compiles to nothing (even if it's bad practice) but then is linked with other parts of the program just fine.
so, yes. nil input should result in nil output, at least in this case. would you like a warning? warnings are fun!