https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116018
Bug ID: 116018 Summary: Feature request: #pragma GCC unpoison Product: gcc Version: 14.1.0 Status: UNCONFIRMED Keywords: diagnostic Severity: enhancement Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: egallager at gcc dot gnu.org Target Milestone: --- Sometimes a header outside of my control will do #pragma GCC poison on an identifier that I disagree about its deservingness for poisoning. Say, for example, an identifier defined in another header outside of my control. In such a case, I would find it easier to just reverse the poisoning instead of trying get the upstream header(s) to change things. Some ideas of ways to achieve this: - a #pragma GCC unpoison, as per the title - have #pragma GCC poison support push and pop, as with #pragma GCC diagnostic push/pop, or any of the other pragmas with push/pop - have the errors caused by #pragma GCC poison instead be permerrors that can be downgraded to warnings, say with -Wno-error=poison or something