wlei-llvm wrote: > > Internally, we discovered that this patch breaks Boost as used by MySQL. I > > don't have a full external reproducer at the moment and I don't know > > whether the code is valid or not, but I wanted to give a heads up that we > > may need to revisit this. This seems like the kind of incompatibility that > > would get reported during release testing later on. > > +1, this also breaks our internal Boost which is on 1.77.0. I'm checking out > the latest Boost to verify if there is already a fix. > > @rnk Do you know yet if it also breaks the latest Boost? > > I found some related fixes in Boost that may help: > [boostorg/numeric_conversion@50a1eae](https://github.com/boostorg/numeric_conversion/commit/50a1eae942effb0a9b90724323ef8f2a67e7984a) > > [percona/percona-server-mongodb@8e1167e](https://github.com/percona/percona-server-mongodb/commit/8e1167e3389f8df77e8794dcb8d4dece9e5d674d)
JFYI, backporting https://github.com/boostorg/numeric_conversion/commit/50a1eae942effb0a9b90724323ef8f2a67e7984a?fbclid=IwY2xjawK9JA1leHRuA2FlbQIxMQBicmlkETFwWjFtb3JJaWRrNWNSYlZXAR5AdfRqNL1nDOUfpxRcrFyszDejF-qEjXb_H0f82unnsTPFqOYsRiDlItWLRw_aem_dNRSalHTNq6FUW_hRNhJrQ fixes our issue. we got the same repro: ``` enum int_float_mixture_enum { integral_to_integral, }; template <typename T, T N> struct integral_c { static const T value = N; static const T prior_value = T((N - 1)); typedef integral_c<T, prior_value> prior; }; integral_c<int_float_mixture_enum, integral_to_integral> a; ``` https://github.com/llvm/llvm-project/pull/143034 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits