id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 5724,"""0 + 0"" and ""0 - 0"" lead to a compile time error",iorate ,viboes,"The following code causes a compilication error under GCC 4.5, 4.6 and VC 10. {{{ #define BOOST_RATIO_EXTENSIONS #include using namespace boost; typedef ratio_add, ratio<0> >::type zero_plus_zero; typedef ratio_subtract, ratio<0> >::type zero_minus_zero; }}} Error messages (GCC 4.6.0): {{{ In file included from C:/Opt/boost/boost/ratio/ratio.hpp:48:0, from C:/Opt/boost/boost/ratio/include.hpp:11, from C:/Opt/boost/boost/ratio.hpp:12, from test.cpp:2: C:/Opt/boost/boost/ratio/detail/overflow_helpers.hpp: In instantiation of 'boost::ratio_detail::ratio_add, boost::ratio<0ll> >': C:/Opt/boost/boost/ratio/ratio.hpp:136:8: instantiated from 'boost::ratio_add, boost::ratio<0ll> >' test.cpp:5:39: instantiated from here C:/Opt/boost/boost/ratio/detail/overflow_helpers.hpp:243:18: error: '(0ll / 0ll)' is not a constant expression C:/Opt/boost/boost/ratio/detail/overflow_helpers.hpp:243:18: note: in template argument for type 'long long int' test.cpp:5:9: error: 'type' in class 'boost::ratio_add, boost::ratio<0ll> >' does not name a type In file included from C:/Opt/boost/boost/ratio/ratio.hpp:48:0, from C:/Opt/boost/boost/ratio/include.hpp:11, from C:/Opt/boost/boost/ratio.hpp:12, from test.cpp:2: C:/Opt/boost/boost/ratio/detail/overflow_helpers.hpp: In instantiation of 'boost::ratio_detail::ratio_subtract, boost::ratio<0ll> >': C:/Opt/boost/boost/ratio/ratio.hpp:142:8: instantiated from 'boost::ratio_subtract, boost::ratio<0ll> >' test.cpp:6:44: instantiated from here C:/Opt/boost/boost/ratio/detail/overflow_helpers.hpp:269:18: error: '(0ll / 0ll)' is not a constant expression C:/Opt/boost/boost/ratio/detail/overflow_helpers.hpp:269:18: note: in template argument for type 'long long int' test.cpp:6:9: error: 'type' in class 'boost::ratio_subtract, boost::ratio<0ll> >' does not name a type",Bugs,closed,To Be Determined,ratio,Boost 1.47.0,Problem,fixed,,