[devel] Обновление protobuf

Vitaly Chikunov vt на altlinux.org
Сб Фев 22 23:40:50 MSK 2025


On Sat, Feb 22, 2025 at 11:32:01PM +0300, Paul Wolneykien wrote:
> В Sat, 22 Feb 2025 00:44:31 +0300
> Vitaly Chikunov <vt на altlinux.org> пишет:
> 
> > Paul,
> > 
> > On Fri, Feb 21, 2025 at 11:56:25PM +0300, Paul Wolneykien wrote:
> > > В Fri, 21 Feb 2025 22:13:55 +0300
> > > скрылевъ малъ <majioa на yandex.ru> пишет:
> > >   
> > > >  
> > > >  
> > > > ----------------
> > > > Кому: devel на lists.altlinux.org (devel на lists.altlinux.org);
> > > > Тема: [devel] Обновление protobuf;
> > > > 21.02.2025, 12:44, "Anton Farygin" <rider на basealt.ru>:
> > > >   
> > > > > On 20.02.2025 19:37, Paul Wolneykien wrote:    За прошедшее время я несколько раз перезапускал задание по причине  
> > > > >>  нового libabseil и ещё некоторых сложностей. Сегодня удалось обновить
> > > > >>  и запатчить fcitx5-mozc. Других существенных изменений не произошло.  
> > > > > 
> > > > > 
> > > > > Непонятно что делать с grpc  
> > > > А что съ нимъ дѣлать? Я его обновлять хотѣлъ, только для него 29й нуженъ protobuf....  
> > > 
> > >   Не, у меня с 25 собрался (3.25.5) с минорными послаблениями. Но тут
> > > ещё один товарищ вызвался в рассылке, поэтому я пока уступил.
> > > 
> > >   Вот, почти рабочий вариант (собирается с заданием, если сделать
> > > -Wno-error=return-type):
> > > 
> > >     https://git.altlinux.org/people/manowar/packages/?p=grpc.git;a=shortlog;h=refs/heads/master
> > > 
> > > /usr/src/RPM/BUILD/grpc-1.70.1/src/core/lib/transport/call_state.h: In static member function 'static const char* grpc_core::CallState::ClientToServerPullStateString(ClientToServerPullState)
> > > ':
> > > /usr/src/RPM/BUILD/grpc-1.70.1/src/core/lib/transport/call_state.h:157:3: error: control reaches end of non-void function [-Werror=return-type]
> > >   157 |   }
> > > 
> > >   При этом по смыслу ошибка должна быть "switch", потому что там switch
> > > в этой функции, и всё. Однако впрямую он не говорит, мол, не все кейсы
> > > у вас тут перечислены. Ну а ежели все перечислены, то почему тогда
> > > return не хватает? Загадка.  
> > 
> > -Wswitch не включен по умолчанию.
> > 
> >   $ gcc -O -Q --help=warning | grep swit
> >     -Wswitch                              [disabled]
> >     -Wswitch-bool                         [enabled]
> >     -Wswitch-default                      [disabled]
> >     -Wswitch-enum                         [disabled]
> >     -Wswitch-outside-range                [enabled]
> >     -Wswitch-unreachable                  [enabled]
> 
>   Там ситуация следующая: есть enum и функция константа -> в строку
> через switch:
> 
> https://git.altlinux.org/people/manowar/packages/?p=grpc.git;a=blob;f=src/core/lib/transport/call_state.h;h=27d5b8517aca81cb893e03afa1d7f465f3bfc0f7;hb=a6364bdb126e0e5fd969bc66c58319c781b39501#l127
> 
>   Так вот, если убрать один из кейсов, то будет ошибка вида
> -Werror=switch, а если добавить "default", то пропадает ошибка
> -Werror=return-type (control reaches end of non-void function).
> Что имеет в виду компилятор? Что несмотря на перечисление всех
> определённых для enum вариантов остаётся вероятность того, что
> в функцию прилетит произвольное число и поэтому нужен default?

https://gcc.gnu.org/wiki/VerboseDiagnostics#enum_switch


> А как тогда собирают в апстриме? \(oo)/
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel


Подробная информация о списке рассылки Devel