Bug 44836 - Missing headers are always fatal
Summary: Missing headers are always fatal
Alias: None
Product: gcc
Classification: Unclassified
Component: preprocessor (show other bugs)
Version: 4.5.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
Depends on:
Reported: 2010-07-06 12:27 UTC by Davi Arnaut
Modified: 2010-08-12 19:30 UTC (History)
2 users (show)

See Also:
Known to work:
Known to fail:
Last reconfirmed:


Note You need to log in before you can comment on or make changes to this bug.
Description Davi Arnaut 2010-07-06 12:27:24 UTC
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.
Comment 1 Jakub Jelinek 2010-08-12 19:30:19 UTC
I believe mysql has been changed already not to rely on this.