Skip to content

bench_dtoa, bench_strtod fail to compile: error: 'JenkinsRandom random' redeclared as different kind of entity #18

@barracuda156

Description

@barracuda156
[ 91%] Building CXX object bench/CMakeFiles/bench_dtoa.dir/bench_dtoa.cc.o
cd /opt/local/var/macports/build/drachennest-6176763e/work/build/bench && /opt/local/bin/g++-mp-14  -I/opt/local/var/macports/build/drachennest-6176763e/work/Drachennest-e6714a39ad331b4489d0b6aaf3968635bff4eb5e/ext -I/opt/local/var/macports/build/drachennest-6176763e/work/Drachennest-e6714a39ad331b4489d0b6aaf3968635bff4eb5e/src -I/opt/local/var/macports/build/drachennest-6176763e/work/Drachennest-e6714a39ad331b4489d0b6aaf3968635bff4eb5e/ext/google_benchmark/include -I/opt/local/var/macports/build/drachennest-6176763e/work/Drachennest-e6714a39ad331b4489d0b6aaf3968635bff4eb5e/ext/google_double_conversion -I/opt/local/var/macports/build/drachennest-6176763e/work/Drachennest-e6714a39ad331b4489d0b6aaf3968635bff4eb5e/ext/ryu -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -mmacosx-version-min=10.6 -MD -MT bench/CMakeFiles/bench_dtoa.dir/bench_dtoa.cc.o -MF CMakeFiles/bench_dtoa.dir/bench_dtoa.cc.o.d -o CMakeFiles/bench_dtoa.dir/bench_dtoa.cc.o -c /opt/local/var/macports/build/drachennest-6176763e/work/Drachennest-e6714a39ad331b4489d0b6aaf3968635bff4eb5e/bench/bench_dtoa.cc
/opt/local/var/macports/build/drachennest-6176763e/work/Drachennest-e6714a39ad331b4489d0b6aaf3968635bff4eb5e/bench/bench_dtoa.cc:177:22: error: 'JenkinsRandom random' redeclared as different kind of entity
  177 | static JenkinsRandom random;
      |                      ^~~~~~
In file included from /opt/local/include/gcc14/c++/cstdlib:79,
                 from /opt/local/include/gcc14/c++/bits/stl_algo.h:71,
                 from /opt/local/include/gcc14/c++/algorithm:61,
                 from /opt/local/var/macports/build/drachennest-6176763e/work/Drachennest-e6714a39ad331b4489d0b6aaf3968635bff4eb5e/ext/google_benchmark/include/benchmark/benchmark.h:172,
                 from /opt/local/var/macports/build/drachennest-6176763e/work/Drachennest-e6714a39ad331b4489d0b6aaf3968635bff4eb5e/bench/bench_dtoa.cc:1:
/usr/include/stdlib.h:224:10: note: previous declaration 'long int random()'
  224 | long     random(void);
      |          ^~~~~~
In file included from /opt/local/include/gcc14/c++/bits/stl_algo.h:65:
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h: In instantiation of 'std::uniform_int_distribution<_IntType>::result_type std::uniform_int_distribution<_IntType>::operator()(_UniformRandomBitGenerator&, const param_type&) [with _UniformRandomBitGenerator = long int(); _IntType = long long unsigned int; result_type = long long unsigned int]':
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:204:34:   required from 'std::uniform_int_distribution<_IntType>::result_type std::uniform_int_distribution<_IntType>::operator()(_UniformRandomBitGenerator&) [with _UniformRandomBitGenerator = long int(); _IntType = long long unsigned int; result_type = long long unsigned int]'
  204 |         { return this->operator()(__urng, _M_param); }
      |                  ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/drachennest-6176763e/work/Drachennest-e6714a39ad331b4489d0b6aaf3968635bff4eb5e/bench/bench_dtoa.cc:262:91:   required from here
  262 |     std::generate(numbers.begin(), numbers.end(), [&] { return ReinterpretBits<double>(gen(random)); });
      |                                                                                        ~~~^~~~~~~~
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:291:66: error: 'long int()' is not a class, struct, or union type
  291 |         typedef typename _UniformRandomBitGenerator::result_type _Gresult_type;
      |                                                                  ^~~~~~~~~~~~~
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:293:68: error: 'long int()' is not a class, struct, or union type
  293 |         typedef typename common_type<_Gresult_type, __utype>::type __uctype;
      |                                                                    ^~~~~~~~
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:295:71: error: 'min' is not a member of 'long int()'
  295 |         constexpr __uctype __urngmin = _UniformRandomBitGenerator::min();
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:296:71: error: 'max' is not a member of 'long int()'
  296 |         constexpr __uctype __urngmax = _UniformRandomBitGenerator::max();
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h: In instantiation of 'std::uniform_int_distribution<_IntType>::result_type std::uniform_int_distribution<_IntType>::operator()(_UniformRandomBitGenerator&, const param_type&) [with _UniformRandomBitGenerator = long int(); _IntType = unsigned int; result_type = unsigned int]':
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:204:34:   required from 'std::uniform_int_distribution<_IntType>::result_type std::uniform_int_distribution<_IntType>::operator()(_UniformRandomBitGenerator&) [with _UniformRandomBitGenerator = long int(); _IntType = unsigned int; result_type = unsigned int]'
  204 |         { return this->operator()(__urng, _M_param); }
      |                  ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/drachennest-6176763e/work/Drachennest-e6714a39ad331b4489d0b6aaf3968635bff4eb5e/bench/bench_dtoa.cc:272:90:   required from here
  272 |     std::generate(numbers.begin(), numbers.end(), [&] { return ReinterpretBits<float>(gen(random)); });
      |                                                                                       ~~~^~~~~~~~
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:291:66: error: 'long int()' is not a class, struct, or union type
  291 |         typedef typename _UniformRandomBitGenerator::result_type _Gresult_type;
      |                                                                  ^~~~~~~~~~~~~
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:293:68: error: 'long int()' is not a class, struct, or union type
  293 |         typedef typename common_type<_Gresult_type, __utype>::type __uctype;
      |                                                                    ^~~~~~~~
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:295:71: error: 'min' is not a member of 'long int()'
  295 |         constexpr __uctype __urngmin = _UniformRandomBitGenerator::min();
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:296:71: error: 'max' is not a member of 'long int()'
  296 |         constexpr __uctype __urngmax = _UniformRandomBitGenerator::max();
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h: In instantiation of 'std::uniform_int_distribution<_IntType>::result_type std::uniform_int_distribution<_IntType>::operator()(_UniformRandomBitGenerator&, const param_type&) [with _UniformRandomBitGenerator = long int(); _IntType = long long int; result_type = long long int]':
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:204:34:   required from 'std::uniform_int_distribution<_IntType>::result_type std::uniform_int_distribution<_IntType>::operator()(_UniformRandomBitGenerator&) [with _UniformRandomBitGenerator = long int(); _IntType = long long int; result_type = long long int]'
  204 |         { return this->operator()(__urng, _M_param); }
      |                  ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/drachennest-6176763e/work/Drachennest-e6714a39ad331b4489d0b6aaf3968635bff4eb5e/bench/bench_dtoa.cc:328:24:   required from here
  328 |         int64_t n = gen(random);
      |                     ~~~^~~~~~~~
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:291:66: error: 'long int()' is not a class, struct, or union type
  291 |         typedef typename _UniformRandomBitGenerator::result_type _Gresult_type;
      |                                                                  ^~~~~~~~~~~~~
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:293:68: error: 'long int()' is not a class, struct, or union type
  293 |         typedef typename common_type<_Gresult_type, __utype>::type __uctype;
      |                                                                    ^~~~~~~~
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:295:71: error: 'min' is not a member of 'long int()'
  295 |         constexpr __uctype __urngmin = _UniformRandomBitGenerator::min();
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:296:71: error: 'max' is not a member of 'long int()'
  296 |         constexpr __uctype __urngmax = _UniformRandomBitGenerator::max();
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h: In instantiation of 'std::uniform_int_distribution<_IntType>::result_type std::uniform_int_distribution<_IntType>::operator()(_UniformRandomBitGenerator&, const param_type&) [with _UniformRandomBitGenerator = long int(); _IntType = int; result_type = int]':
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:204:34:   required from 'std::uniform_int_distribution<_IntType>::result_type std::uniform_int_distribution<_IntType>::operator()(_UniformRandomBitGenerator&) [with _UniformRandomBitGenerator = long int(); _IntType = int; result_type = int]'
  204 |         { return this->operator()(__urng, _M_param); }
      |                  ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/drachennest-6176763e/work/Drachennest-e6714a39ad331b4489d0b6aaf3968635bff4eb5e/bench/bench_dtoa.cc:372:24:   required from here
  372 |         int32_t n = gen(random);
      |                     ~~~^~~~~~~~
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:291:66: error: 'long int()' is not a class, struct, or union type
  291 |         typedef typename _UniformRandomBitGenerator::result_type _Gresult_type;
      |                                                                  ^~~~~~~~~~~~~
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:293:68: error: 'long int()' is not a class, struct, or union type
  293 |         typedef typename common_type<_Gresult_type, __utype>::type __uctype;
      |                                                                    ^~~~~~~~
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:295:71: error: 'min' is not a member of 'long int()'
  295 |         constexpr __uctype __urngmin = _UniformRandomBitGenerator::min();
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/opt/local/include/gcc14/c++/bits/uniform_int_dist.h:296:71: error: 'max' is not a member of 'long int()'
  296 |         constexpr __uctype __urngmax = _UniformRandomBitGenerator::max();
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /opt/local/include/gcc14/c++/random:50,
                 from /opt/local/var/macports/build/drachennest-6176763e/work/Drachennest-e6714a39ad331b4489d0b6aaf3968635bff4eb5e/bench/bench_dtoa.cc:14:
/opt/local/include/gcc14/c++/bits/random.tcc: In instantiation of '_RealType std::generate_canonical(_UniformRandomNumberGenerator&) [with _RealType = double; long unsigned int __bits = 53; _UniformRandomNumberGenerator = long int()]':
/opt/local/include/gcc14/c++/bits/random.h:295:38:   required from '_DInputType std::__detail::_Adaptor<_Engine, _DInputType>::operator()() [with _Engine = long int(); _DInputType = double]'
  293 |           return std::generate_canonical<_DInputType,
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  294 |                                     std::numeric_limits<_DInputType>::digits,
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  295 |                                     _Engine>(_M_g);
      |                                     ~~~~~~~~^~~~~~
/opt/local/include/gcc14/c++/bits/random.h:2011:19:   required from 'std::uniform_real_distribution<_RealType>::result_type std::uniform_real_distribution<_RealType>::operator()(_UniformRandomNumberGenerator&, const param_type&) [with _UniformRandomNumberGenerator = long int(); _RealType = double; result_type = double]'
 2011 |           return (__aurng() * (__p.b() - __p.a())) + __p.a();
      |                   ~~~~~~~^~
/opt/local/include/gcc14/c++/bits/random.h:2002:34:   required from 'std::uniform_real_distribution<_RealType>::result_type std::uniform_real_distribution<_RealType>::operator()(_UniformRandomNumberGenerator&) [with _UniformRandomNumberGenerator = long int(); _RealType = double; result_type = double]'
 2002 |         { return this->operator()(__urng, _M_param); }
      |                  ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/drachennest-6176763e/work/Drachennest-e6714a39ad331b4489d0b6aaf3968635bff4eb5e/bench/bench_dtoa.cc:404:29:   required from here
  404 |         const double d = gen(random);
      |                          ~~~^~~~~~~~
/opt/local/include/gcc14/c++/bits/random.tcc:3357:63: error: request for member 'max' in '__urng', which is of non-class type 'long int()'
 3357 |       const long double __r = static_cast<long double>(__urng.max())
      |                                                        ~~~~~~~^~~
/opt/local/include/gcc14/c++/bits/random.tcc:3358:63: error: request for member 'min' in '__urng', which is of non-class type 'long int()'
 3358 |                             - static_cast<long double>(__urng.min()) + 1.0L;
      |                                                        ~~~~~~~^~~
/opt/local/include/gcc14/c++/bits/random.tcc:3367:48: error: request for member 'min' in '__urng', which is of non-class type 'long int()'
 3367 |           __sum += _RealType(__urng() - __urng.min()) * __tmp;
      |                                         ~~~~~~~^~~
/opt/local/include/gcc14/c++/bits/random.tcc: In instantiation of '_RealType std::generate_canonical(_UniformRandomNumberGenerator&) [with _RealType = float; long unsigned int __bits = 24; _UniformRandomNumberGenerator = long int()]':
/opt/local/include/gcc14/c++/bits/random.h:295:38:   required from '_DInputType std::__detail::_Adaptor<_Engine, _DInputType>::operator()() [with _Engine = long int(); _DInputType = float]'
  293 |           return std::generate_canonical<_DInputType,
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  294 |                                     std::numeric_limits<_DInputType>::digits,
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  295 |                                     _Engine>(_M_g);
      |                                     ~~~~~~~~^~~~~~
/opt/local/include/gcc14/c++/bits/random.h:2011:19:   required from 'std::uniform_real_distribution<_RealType>::result_type std::uniform_real_distribution<_RealType>::operator()(_UniformRandomNumberGenerator&, const param_type&) [with _UniformRandomNumberGenerator = long int(); _RealType = float; result_type = float]'
 2011 |           return (__aurng() * (__p.b() - __p.a())) + __p.a();
      |                   ~~~~~~~^~
/opt/local/include/gcc14/c++/bits/random.h:2002:34:   required from 'std::uniform_real_distribution<_RealType>::result_type std::uniform_real_distribution<_RealType>::operator()(_UniformRandomNumberGenerator&) [with _UniformRandomNumberGenerator = long int(); _RealType = float; result_type = float]'
 2002 |         { return this->operator()(__urng, _M_param); }
      |                  ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/drachennest-6176763e/work/Drachennest-e6714a39ad331b4489d0b6aaf3968635bff4eb5e/bench/bench_dtoa.cc:430:28:   required from here
  430 |         const float d = gen(random);
      |                         ~~~^~~~~~~~
/opt/local/include/gcc14/c++/bits/random.tcc:3357:63: error: request for member 'max' in '__urng', which is of non-class type 'long int()'
 3357 |       const long double __r = static_cast<long double>(__urng.max())
      |                                                        ~~~~~~~^~~
/opt/local/include/gcc14/c++/bits/random.tcc:3358:63: error: request for member 'min' in '__urng', which is of non-class type 'long int()'
 3358 |                             - static_cast<long double>(__urng.min()) + 1.0L;
      |                                                        ~~~~~~~^~~
/opt/local/include/gcc14/c++/bits/random.tcc:3367:48: error: request for member 'min' in '__urng', which is of non-class type 'long int()'
 3367 |           __sum += _RealType(__urng() - __urng.min()) * __tmp;
      |                                         ~~~~~~~^~~
make[2]: *** [bench/CMakeFiles/bench_dtoa.dir/bench_dtoa.cc.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/drachennest-6176763e/work/build'
make[1]: *** [bench/CMakeFiles/bench_dtoa.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 93%] Linking CXX executable test_all
cd /opt/local/var/macports/build/drachennest-6176763e/work/build/test && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/test_all.dir/link.txt --verbose=ON
/opt/local/bin/g++-mp-14 -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -mmacosx-version-min=10.6 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names CMakeFiles/test_all.dir/catch_main.cc.o CMakeFiles/test_all.dir/test_dtoa.cc.o CMakeFiles/test_all.dir/test_strtod.cc.o -o test_all  -Wl,-rpath,/opt/local/lib ../src/libdrachennest.a ../ext/google_double_conversion/libgoogle_double_conversion.a
make[2]: Leaving directory `/opt/local/var/macports/build/drachennest-6176763e/work/build'
[ 93%] Built target test_all
make[1]: Leaving directory `/opt/local/var/macports/build/drachennest-6176763e/work/build'
make: *** [all] Error 2

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