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

Reply via email to