That was removed in C++11, precisely because compilers could not afford to implement it.
Modules eventually, more than 20 years later, might be a better solution.
And they got rebuffed by people that never managed to ship a working implementation. Standard committees yay!
At a time where GCC was still catching up, MSVC was in the dark ages and clang still not existent, EDG used to be the standard compliant C++ front end. It is still the front end for a lot of proprietary compilers (Intel, MSVC intellisense, Comeau) and I hear it is a very high quality codebase.
What is common practice to do that now-a-days? Is that with modules (but I'm not sure if that is a standard yet, I could be mistaken).