Open werdahias opened 1 year ago
Please include the following information in your issue:
units
Building 2.3.3 with gcc-12 (32-bit) fails to compile:
/builds/werdahias/units/debian/output/source_dir/include/units.h:2161:179: in 'constexpr' expansion of 'units::convert<unit<std::ratio<60>, unit<std::ratio<60>, unit<std::ratio<1>, base_unit<std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<1> > > > >, unit<std::ratio<1, 1000000000>, base_unit<std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<1> > >, double>(((const units::unit_t<units::unit<std::ratio<60>, units::unit<std::ratio<60>, units::unit<std::ratio<1>, units::base_unit<std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<1> > > > > >*)this)->units::unit_t<units::unit<std::ratio<60>, units::unit<std::ratio<60>, units::unit<std::ratio<1>, units::base_unit<std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<1> > > > > >::<anonymous>.units::linear_scale<double>::operator()())' /builds/werdahias/units/debian/output/source_dir/include/units.h:1571:72: error: narrowing conversion of '3600000000000' from 'intmax_t' {aka 'long long int'} to 'unsigned int' [-Wnarrowing] /builds/werdahias/units/debian/output/source_dir/include/units.h: In instantiation of 'constexpr T units::detail::convert(const T&, std::false_type, std::false_type, std::false_type) [with Ratio = std::ratio<21071715921, 2441406250000>; PiRatio = std::ratio<0, 1>; Translation = std::ratio<0, 1>; T = double; std::false_type = std::integral_constant<bool, false>]': /builds/werdahias/units/debian/output/source_dir/include/units.h:1651:4: required from 'constexpr T units::convert(const T&) [with UnitFrom = unit<std::ratio<21071715921, 2441406250000>, base_unit<std::ratio<4>, std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<0, 1> >, std::ratio<0, 1>, std::ratio<0, 1> >; UnitTo = unit<std::ratio<1>, base_unit<std::ratio<4>, std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<0, 1> >, std::ratio<0, 1>, std::ratio<0, 1> >; T = double]' /builds/werdahias/units/debian/output/source_dir/include/units.h:2213:34: required from 'std::ostream& units::operator<<(std::ostream&, const unit_t<Units, T, NonLinearScale>&) [with Units = unit<std::ratio<21071715921, 2441406250000>, base_unit<std::ratio<4>, std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<0, 1>, std::ratio<0, 1> >, std::ratio<0, 1>, std::ratio<0, 1> >; T = double; NonLinearScale = linear_scale; std::ostream = std::basic_ostream<char>]' /builds/werdahias/units/debian/output/source_dir/unitTests/main.cpp:1370:69: required from here /builds/werdahias/units/debian/output/source_dir/include/units.h:1571:72: error: narrowing conversion of '21071715921' from 'intmax_t' {aka 'long long int'} to 'unsigned int' [-Wnarrowing] /builds/werdahias/units/debian/output/source_dir/include/units.h:1571:72: error: narrowing conversion of '2441406250000' from 'intmax_t' {aka 'long long int'} to 'unsigned int' [-Wnarrowing] Elapsed time: 10 s. (time), 0.001163 s. (clock) make[3]: *** [unitTests/CMakeFiles/unitLibTest.dir/build.make:79: unitTests/CMakeFiles/unitLibTest.dir/main.cpp.o] Error 1
Full log: error.txt
Please include the following information in your issue:
units
you are using 2.3.3Building 2.3.3 with gcc-12 (32-bit) fails to compile:
Full log: error.txt