https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89402
Bug ID: 89402 Summary: warning: ‘void _ZNKSt4hashIeEclEe()’ specifies less restrictive attribute than its target Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: ubizjak at gmail dot com Target Milestone: --- When building the compiler, I got: /space/homedirs/uros/gcc-svn/trunk/libstdc++-v3/src/c++98/compatibility-ldbl.cc:77:17: warning: ‘void _ZNKSt4hashIeEclEe()’ specifies less restrictive attribute than its target ‘std::size_t std::tr1::hash<_Tp>::operator()(_Tp) const [with _Tp = long double]’: ‘pure’ [-Wmissing-attributes] In libstdc++-v3/src/c++98/compatibility-ldbl.cc, we have: // std::tr1::hash<long double>::operator() // and std::hash<long double>::operator() // are the same, no need to duplicate them. extern "C" void _ZNKSt4hashIeEclEe (void) __attribute__((alias ("_ZNKSt3tr14hashIeEclEe"))); so, probably just the case of a missing attribute on alias.