http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51804
Bug #: 51804 Summary: Wabi false positives Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: b...@gcc.gnu.org When adding -Wabi to the libstdc++ build flags, I ran the testsuite with -Wabi as well, since that tends to instantiate more templates than just building the libstdc++.so. When I run the the libstdc++ testsuite with -Wabi, I get 72 new fails. Some of these make sense from the manual, ie http://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html#C_002b_002b-Dialect-Options or from the example with non-type reference extern int N; template <int &> struct S {}; void n(S<N>) {2;} which is -fabi-version=3 0000000000000000 T _Z1n1SIL_Z1NEE -fabi-version=2 0000000000000000 T _Z1n1SILZ1NEE 0000000000000000 T _Z1n1SIL_Z1NEE One can see the difference very easily in terms of what is produced by the compiler. However, there look to be some false positives, in things like: libstdc++-v3/testsuite/20_util/tuple/cons/constexpr-2.cc and others (full log attached as 20120109-libstdc++.sum.bz2) I see a lot of things like: s.h:752:7: warning: the mangled name of ‘void __gnu_test::constexpr_single_value_constructible::_Concept<_Ttesttype, _Tvaluetype, true>::__constraint() [with _Ttesttype = std::tuple<int, int>; _Tvaluetype = std::tuple<short int, short int>]’ will change in a future version of GCC [-Wabi] I'm finding it harder to make sense of this warning. Is this a false positive? If not, what changed? I'll attach a pre-processed file that gives this warning, and a log of the test run.