MySQL relied on the behavior fixed in PR15638 to implement a poor man's ABI check. By keeping a copy of the preprocessed output, it was somewhat possible to detect (via a diff) whether a change to some header might affect the ABI. MySQL headers are a bit convoluted, being used by client programs and the server itself. Although not entirely reliable, this behavior was quite useful for this purpose. Would it possible to somehow instruct cpp to continue even if a header is missing? Something along the lines of a -Wno-fatal-errors... or restore the behavior if cpp is invoked directly.
I believe mysql has been changed already not to rely on this.