The question is whether foo(void); could ever be considered to be a function declaration, as it appears Prelude is suggesting it could be. In order for it to be ambiguous when void means null, it would have to have a legitimate meaning now when void doesn't mean null. That would be why you might test it on your compiler.
As it is, I'm not sure that it is valid syntax, now. Perhaps Prelude can explain the ambiguity she believes would arise.