On Thu, 12 Mar 2020 at 15:14, Romain GEISSLER via cfe-users < cfe-users@lists.llvm.org> wrote:
> Hi, > > It looks like the working of C++20 introduced some breaking > compatibilities with some C++17 accepted patterns. From what I read in > https://reviews.llvm.org/rL375306 these incompatibilities weren’t really > intented by the initial C++20 proposal, and thus broken patterns were still > allowed as an extension, but would warn with -Wambiguous-reversed-operator > enabled by default. Richard Smith had some hope that the C++20 standard > would be fixed before being final. > > C++20 is not fully finalized yet, but this date is approaching. What’s the > state of the standard now ? Have the comparison issues been fixed ? No, we still don't have a resolution from the C++ committee, but it's being discussed by various implementers, and we hope to present to the committee a suggested set of changes to minimize the pain to users as soon as we can. I expect we will change /something/ as a DR fix against C++20, but the exact details are unclear. If not, what do you suggest to users ? Fix the code (when it’s actually > possible and make sense), or compile with -Wno-ambiguous-reversed-operator > ? I am asking this question in the particular case of boost date_time: > https://github.com/boostorg/date_time/issues/132 where I am actually > unsure this is a good idea to change the existing code. > If you can change the code in a way that's compatible with the C++20 rules, that will give you the best portability across compilers in the short term. If Boost is prepared to wait until this is fixed before supporting -std=c++20, then that would seem reasonable too.
_______________________________________________ cfe-users mailing list cfe-users@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users