https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78360

            Bug ID: 78360
           Summary: missing throw()s in explicit instantiation
                    declarations for has_facet()
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: trippels at gcc dot gnu.org
  Target Milestone: ---

clang complains:

markus@x4 tmp % echo "#include<iostream>" | clang++ -std=c++1z -x c++ -c -

In file included from <stdin>:1:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/iostream:39:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/ostream:38:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/ios:42:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/ios_base.h:41:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_classes.h:850:
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_classes.tcc:279:5:
error: explicit instantiation of 'has_facet' does not refer to a function
template, variable
      template, member function, member class, or static data member
    has_facet<collate<char> >(const locale&);
    ^
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_classes.tcc:104:5:
note: candidate template ignored: could not match 'bool (const std::locale &)
throw()' against
      'bool (const std::locale &)'
    has_facet(const locale& __loc) throw()
    ^
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_classes.tcc:291:5:
error: explicit instantiation of 'has_facet' does not refer to a function
template, variable
      template, member function, member class, or static data member
    has_facet<collate<wchar_t> >(const locale&);
    ^
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_classes.tcc:104:5:
note: candidate template ignored: could not match 'bool (const std::locale &)
throw()' against
      'bool (const std::locale &)'
    has_facet(const locale& __loc) throw()
    ^
In file included from <stdin>:1:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/iostream:39:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/ostream:38:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/ios:44:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/basic_ios.h:37:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_facets.h:2651:
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_facets.tcc:1319:5:
error: explicit instantiation of 'has_facet' does not refer to a function
template, variable
      template, member function, member class, or static data member
    has_facet<ctype<char> >(const locale&);
    ^
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_classes.tcc:104:5:
note: candidate template ignored: could not match 'bool (const std::locale &)
throw()' against
      'bool (const std::locale &)'
    has_facet(const locale& __loc) throw()
    ^
In file included from <stdin>:1:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/iostream:39:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/ostream:38:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/ios:44:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/basic_ios.h:37:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_facets.h:2651:
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_facets.tcc:1323:5:
error: explicit instantiation of 'has_facet' does not refer to a function
template, variable
      template, member function, member class, or static data member
    has_facet<numpunct<char> >(const locale&);
    ^
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_classes.tcc:104:5:
note: candidate template ignored: could not match 'bool (const std::locale &)
throw()' against
      'bool (const std::locale &)'
    has_facet(const locale& __loc) throw()
    ^
In file included from <stdin>:1:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/iostream:39:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/ostream:38:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/ios:44:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/basic_ios.h:37:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_facets.h:2651:
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_facets.tcc:1327:5:
error: explicit instantiation of 'has_facet' does not refer to a function
template, variable
      template, member function, member class, or static data member
    has_facet<num_put<char> >(const locale&);
    ^
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_classes.tcc:104:5:
note: candidate template ignored: could not match 'bool (const std::locale &)
throw()' against
      'bool (const std::locale &)'
    has_facet(const locale& __loc) throw()
    ^
In file included from <stdin>:1:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/iostream:39:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/ostream:38:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/ios:44:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/basic_ios.h:37:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_facets.h:2651:
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_facets.tcc:1331:5:
error: explicit instantiation of 'has_facet' does not refer to a function
template, variable
      template, member function, member class, or static data member
    has_facet<num_get<char> >(const locale&);
    ^
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_classes.tcc:104:5:
note: candidate template ignored: could not match 'bool (const std::locale &)
throw()' against
      'bool (const std::locale &)'
    has_facet(const locale& __loc) throw()
    ^
In file included from <stdin>:1:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/iostream:39:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/ostream:38:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/ios:44:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/basic_ios.h:37:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_facets.h:2651:
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_facets.tcc:1358:5:
error: explicit instantiation of 'has_facet' does not refer to a function
template, variable
      template, member function, member class, or static data member
    has_facet<ctype<wchar_t> >(const locale&);
    ^
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_classes.tcc:104:5:
note: candidate template ignored: could not match 'bool (const std::locale &)
throw()' against
      'bool (const std::locale &)'
    has_facet(const locale& __loc) throw()
    ^
In file included from <stdin>:1:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/iostream:39:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/ostream:38:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/ios:44:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/basic_ios.h:37:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_facets.h:2651:
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_facets.tcc:1362:5:
error: explicit instantiation of 'has_facet' does not refer to a function
template, variable
      template, member function, member class, or static data member
    has_facet<numpunct<wchar_t> >(const locale&);
    ^
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_classes.tcc:104:5:
note: candidate template ignored: could not match 'bool (const std::locale &)
throw()' against
      'bool (const std::locale &)'
    has_facet(const locale& __loc) throw()
    ^
In file included from <stdin>:1:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/iostream:39:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/ostream:38:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/ios:44:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/basic_ios.h:37:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_facets.h:2651:
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_facets.tcc:1366:5:
error: explicit instantiation of 'has_facet' does not refer to a function
template, variable
      template, member function, member class, or static data member
    has_facet<num_put<wchar_t> >(const locale&);
    ^
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_classes.tcc:104:5:
note: candidate template ignored: could not match 'bool (const std::locale &)
throw()' against
      'bool (const std::locale &)'
    has_facet(const locale& __loc) throw()
    ^
In file included from <stdin>:1:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/iostream:39:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/ostream:38:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/ios:44:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/basic_ios.h:37:
In file included from
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_facets.h:2651:
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_facets.tcc:1370:5:
error: explicit instantiation of 'has_facet' does not refer to a function
template, variable
      template, member function, member class, or static data member
    has_facet<num_get<wchar_t> >(const locale&);
    ^
/usr/lib/gcc/x86_64-pc-linux-gnu/7.0.0/include/g++-v7/bits/locale_classes.tcc:104:5:
note: candidate template ignored: could not match 'bool (const std::locale &)
throw()' against
      'bool (const std::locale &)'
    has_facet(const locale& __loc) throw()
    ^
10 errors generated.

Reply via email to