Clang warns about this, but GCC doesn't (see PR c++/102036).

Signed-off-by: Jonathan Wakely <jwak...@redhat.com>

libstdc++-v3/ChangeLog:

        * src/c++11/cxx11-shim_facets.cc: Fix mismatched class-key in
        explicit instantiation definitions.

Tested powerpc64le-linux. Committed to trunk.

commit d8b7282ea27e02f687272cb8ea5f66ca900f1582
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Tue Aug 24 12:31:06 2021

    libstdc++: Fix mismatched class-key tags
    
    Clang warns about this, but GCC doesn't (see PR c++/102036).
    
    Signed-off-by: Jonathan Wakely <jwak...@redhat.com>
    
    libstdc++-v3/ChangeLog:
    
            * src/c++11/cxx11-shim_facets.cc: Fix mismatched class-key in
            explicit instantiation definitions.

diff --git a/libstdc++-v3/src/c++11/cxx11-shim_facets.cc 
b/libstdc++-v3/src/c++11/cxx11-shim_facets.cc
index 3aa085b8aa7..ba87740d57e 100644
--- a/libstdc++-v3/src/c++11/cxx11-shim_facets.cc
+++ b/libstdc++-v3/src/c++11/cxx11-shim_facets.cc
@@ -469,21 +469,21 @@ namespace __facet_shims
        }
       };
 
-    template class numpunct_shim<char>;
-    template class collate_shim<char>;
-    template class moneypunct_shim<char, true>;
-    template class moneypunct_shim<char, false>;
-    template class money_get_shim<char>;
-    template class money_put_shim<char>;
-    template class messages_shim<char>;
+    template struct numpunct_shim<char>;
+    template struct collate_shim<char>;
+    template struct moneypunct_shim<char, true>;
+    template struct moneypunct_shim<char, false>;
+    template struct money_get_shim<char>;
+    template struct money_put_shim<char>;
+    template struct messages_shim<char>;
 #ifdef _GLIBCXX_USE_WCHAR_T
-    template class numpunct_shim<wchar_t>;
-    template class collate_shim<wchar_t>;
-    template class moneypunct_shim<wchar_t, true>;
-    template class moneypunct_shim<wchar_t, false>;
-    template class money_get_shim<wchar_t>;
-    template class money_put_shim<wchar_t>;
-    template class messages_shim<wchar_t>;
+    template struct numpunct_shim<wchar_t>;
+    template struct collate_shim<wchar_t>;
+    template struct moneypunct_shim<wchar_t, true>;
+    template struct moneypunct_shim<wchar_t, false>;
+    template struct money_get_shim<wchar_t>;
+    template struct money_put_shim<wchar_t>;
+    template struct messages_shim<wchar_t>;
 #endif
 
     template<typename C>

Reply via email to