[gcc r16-2076] libstdc++: Use template keyword in __mapping_of alias template

Jonathan Wakely redi@gcc.gnu.org
Mon Jul 7 20:51:07 GMT 2025


https://gcc.gnu.org/g:9450fb705caca3df0f968e66768eec6e38458a9f

commit r16-2076-g9450fb705caca3df0f968e66768eec6e38458a9f
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Mon Jul 7 11:32:48 2025 +0100

    libstdc++: Use template keyword in __mapping_of alias template
    
    This is needed to fix an error with Clang 19:
    
    include/c++/16.0.0/mdspan:512:30: error: use 'template' keyword to treat 'mapping' as a dependent template name
     512 |         is_same_v<typename _Layout::mapping<typename _Mapping::extents_type>,
         |                                     ^
    
    libstdc++-v3/ChangeLog:
    
            * include/std/mdspan (__mapping_of): Add template keyword.

Diff:
---
 libstdc++-v3/include/std/mdspan | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libstdc++-v3/include/std/mdspan b/libstdc++-v3/include/std/mdspan
index c72a64094b73..4a06fb2d3a86 100644
--- a/libstdc++-v3/include/std/mdspan
+++ b/libstdc++-v3/include/std/mdspan
@@ -509,7 +509,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
     template<typename _Layout, typename _Mapping>
       concept __mapping_of =
-	is_same_v<typename _Layout::mapping<typename _Mapping::extents_type>,
+	is_same_v<typename _Layout::template mapping<typename _Mapping::extents_type>,
 		  _Mapping>;
 
     template<typename _Mapping>


More information about the Libstdc++-cvs mailing list