As for why the current implementation just quietly fails in some instances (instead of, say, throwing an exception that makes it clear the implementation isn't complete) - I couldn't say.
why the current implementation just quietly fails in some instances
Simply because the original author disappeared after committing a few early work-in-progress bits, and nobody else found time or desire to do it for the gcc project.