You hit most of the same issues (and some additional ones) when compiling the same code within one translation unit...