A bug report on IRC pointed out that we were giving the -Wabi warning in
cases that don't affect the ABI at all, namely use of scoped enums in
switch. So this patch limits the warning to the varargs case by
catching scoped enums in perform_integral_promotions so that only
callers that use the
As the bug submitter correctly points out, C++0x scoped enums are not
subject to integral promotion like unscoped enums are. Unfortunately,
this represents an ABI change (at least for varargs), so it's
conditional on -fabi-version.
Tested x86_64-pc-linux-gnu, applying to trunk.
commit