Bug 40369

Summary: missing 'typename' prior to dependent type name 'iterator_traits<iterator_t<_Base>>::iterator_category'
Product: Sisyphus Reporter: Денис Назаров <nenderus>
Component: libstdc++10-develAssignee: Gleb F-Malinovskiy <glebfm>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: critical    
Priority: P5 CC: glebfm, ldv
Version: unstable   
Hardware: x86_64   
OS: Linux   
URL: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100900
Attachments:
Description Flags
Ranges patch none

Description Денис Назаров 2021-07-04 18:48:48 MSK
Created attachment 9472 [details]
Ranges patch

Просьба собрать gcc 10.3.1 с приложенным патчем (alt-ranges.patch), т.к. после обновления gcc10 в Sisyphus до 10.3.1 перестал собираться rpcs3 с ошибкой

In file included from /usr/src/RPM/BUILD/rpcs3-0.0.17/3rdparty/yaml-cpp/src/convert.cpp:1:
In file included from /usr/bin/../lib64/gcc/x86_64-alt-linux/10/../../../../include/c++/10/algorithm:64:
In file included from /usr/bin/../lib64/gcc/x86_64-alt-linux/10/../../../../include/c++/10/bits/ranges_algo.h:35:
In file included from /usr/bin/../lib64/gcc/x86_64-alt-linux/10/../../../../include/c++/10/bits/ranges_algobase.h:38:
/usr/bin/../lib64/gcc/x86_64-alt-linux/10/../../../../include/c++/10/ranges:3528:19: error: missing 'typename' prior to dependent type name 'iterator_traits<iterator_t<_Base>>::iterator_category'
            using _Cat = iterator_traits<iterator_t<_Base>>::iterator_category;
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Ошибка в файле /usr/include/c++/10/ranges в строке 3258, отсутствует ключевое слово typename перед iterator_traits.

На то что это ошибка указывает то, что в 2 других местах в этом фале iterator_traits всегда присвается перемененой с ключевым словом typename, а так же в предыдущей версии gcc10 (10.2.1) у аналогичных конструкций так же всегда было это ключевое слово. Плюс текст ошибки при сборке rpcs3 прямо на это указывает.
Comment 1 Dmitry V. Levin 2021-07-04 19:04:16 MSK
master commit: 5e2e15f212e2458a1258b8c856895c755460bc6b
gcc-11 commit: 23fa1e7eab7680ae0488b4c8802b0bcd8f78425d
Comment 2 Денис Назаров 2021-07-04 21:10:52 MSK
Да, достаточно вприцнипе сделать
git cherry-pick -X subtree=gcc 5e2e15f212e2458a1258b8c856895c755460bc6b
в ветку alt/gcc10 без патчей
Comment 3 Repository Robot 2021-07-06 04:03:09 MSK
gcc10-10.3.1-alt2 -> sisyphus:

 Mon Jul 05 2021 Gleb F-Malinovskiy <glebfm@altlinux> 10.3.1-alt2
 - Backported upstream PR:
   + libstdc++/100900: add missing typename for dependent type in
   ranges::elements_view (ALT#40369).