Skip to content

g++ 13.3.0 (Ubuntu 24.04.1 LTS): compile error (-Werror=maybe-uninitialized) #16

@tjanas

Description

@tjanas
Making all in tests
make[2]: Entering directory '/tmp/cpuaff-1.0.6/tests'
g++ -DHAVE_CONFIG_H -I. -I..     -g -O2 -Wall -Werror -pedantic -MT test.o -MD -MP -MF .deps/test.Tpo -c -o test.o test.cpp
In file included from /usr/include/c++/13/map:62,
                 from catch.hpp:5474,
                 from test.cpp:32:
In member function ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_lower_bound(_Const_Link_type, _Const_Base_ptr, const _Key&) const [with _Key = cpuaff::impl::linux_impl::cpu_identifier_wrapper; _Val = std::pair<const cpuaff::impl::linux_impl::cpu_identifier_wrapper, cpuaff::impl::basic_cpu<cpuaff::basic_traits<cpuaff::impl::linux_impl::traits, cpuaff::impl::linux_impl::traits> > >; _KeyOfValue = std::_Select1st<std::pair<const cpuaff::impl::linux_impl::cpu_identifier_wrapper, cpuaff::impl::basic_cpu<cpuaff::basic_traits<cpuaff::impl::linux_impl::traits, cpuaff::impl::linux_impl::traits> > > >; _Compare = std::less<cpuaff::impl::linux_impl::cpu_identifier_wrapper>; _Alloc = std::allocator<std::pair<const cpuaff::impl::linux_impl::cpu_identifier_wrapper, cpuaff::impl::basic_cpu<cpuaff::basic_traits<cpuaff::impl::linux_impl::traits, cpuaff::impl::linux_impl::traits> > > >]’,
    inlined from ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::find(const _Key&) const [with _Key = cpuaff::impl::linux_impl::cpu_identifier_wrapper; _Val = std::pair<const cpuaff::impl::linux_impl::cpu_identifier_wrapper, cpuaff::impl::basic_cpu<cpuaff::basic_traits<cpuaff::impl::linux_impl::traits, cpuaff::impl::linux_impl::traits> > >; _KeyOfValue = std::_Select1st<std::pair<const cpuaff::impl::linux_impl::cpu_identifier_wrapper, cpuaff::impl::basic_cpu<cpuaff::basic_traits<cpuaff::impl::linux_impl::traits, cpuaff::impl::linux_impl::traits> > > >; _Compare = std::less<cpuaff::impl::linux_impl::cpu_identifier_wrapper>; _Alloc = std::allocator<std::pair<const cpuaff::impl::linux_impl::cpu_identifier_wrapper, cpuaff::impl::basic_cpu<cpuaff::basic_traits<cpuaff::impl::linux_impl::traits, cpuaff::impl::linux_impl::traits> > > >]’ at /usr/include/c++/13/bits/stl_tree.h:2545:42,
    inlined from ‘std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator std::map<_Key, _Tp, _Compare, _Alloc>::find(const key_type&) const [with _Key = cpuaff::impl::linux_impl::cpu_identifier_wrapper; _Tp = cpuaff::impl::basic_cpu<cpuaff::basic_traits<cpuaff::impl::linux_impl::traits, cpuaff::impl::linux_impl::traits> >; _Compare = std::less<cpuaff::impl::linux_impl::cpu_identifier_wrapper>; _Alloc = std::allocator<std::pair<const cpuaff::impl::linux_impl::cpu_identifier_wrapper, cpuaff::impl::basic_cpu<cpuaff::basic_traits<cpuaff::impl::linux_impl::traits, cpuaff::impl::linux_impl::traits> > > >]’ at /usr/include/c++/13/bits/stl_map.h:1245:25,
    inlined from ‘bool cpuaff::impl::basic_native_cpu_mapper<TRAITS>::get_cpu_from_native(cpu_type&, const native_cpu_wrapper_type&) const [with TRAITS = cpuaff::basic_traits<cpuaff::impl::linux_impl::traits, cpuaff::impl::linux_impl::traits>]’ at ../include/cpuaff/impl/basic_native_cpu_mapper.hpp:145:36,
    inlined from ‘void C_A_T_C_H_T_E_S_T_11()’ at test.cpp:373:13:
/usr/include/c++/13/bits/stl_tree.h:1968:9: error: ‘native.cpuaff::impl::linux_impl::cpu_identifier_wrapper::id_’ may be used uninitialized [-Werror=maybe-uninitialized]
 1968 |         if (!_M_impl._M_key_compare(_S_key(__x), __k))
      |         ^~
test.cpp: In function ‘void C_A_T_C_H_T_E_S_T_11()’:
test.cpp:369:64: note: ‘native.cpuaff::impl::linux_impl::cpu_identifier_wrapper::id_’ was declared here
  369 |             cpuaff::native_cpu_mapper::native_cpu_wrapper_type native;
      |                                                                ^~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [Makefile:331: test.o] Error 1
make[2]: Leaving directory '/tmp/cpuaff-1.0.6/tests'
make[1]: *** [Makefile:572: all-recursive] Error 1
make[1]: Leaving directory '/tmp/cpuaff-1.0.6'
make: *** [Makefile:512: all] Error 2
tjanas@ubuntu24vm:~$ g++ --version
g++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
tjanas@ubuntu24vm:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 24.04.1 LTS
Release:        24.04
Codename:       noble

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions