[PATCH] D18654: In C++11 it is undefined to shift into the sign bit

Richard Smith via cfe-commits cfe-commits at lists.llvm.org
Thu Mar 31 11:41:21 PDT 2016


rsmith added a comment.

In http://reviews.llvm.org/D18654#388419, @filcab wrote:

> That means that our C++11 mode will have some fixes, right?


Right. The standard's rules are often incoherent or unimplementable without the fixes in DRs, so it's not meaningful to implement ISO C++ as standardized. In order to avoid making judgement calls ourselves, we (and many other compiler vendors) enable *all* relevant DR fixes for each language mode.

> How can we call what out C++11 mode is?


It's ISO C++11, plus all relevant defect reports. (Incidentally, this is why C++98 and C++03 modes are identical across typical compilers -- the difference is only DRs.)

> Are there updated versions of the standard?


No. (As the C++ standard editor, I've been considering maintaining such an alternative standard, but it's a large amount of work, and it would give the false impression that the document containing the standard + DRs is in some way an official product of the ISO C++ committee.)

> Are there lists of defects that we have fixed and others we haven't?


clang.llvm.org/cxx_dr_status.html is has a complete list of core issues, along with an incomplete list of Clang's implementation status for them. If you want to get involved with that, there are tests in clang's test/CXX/drs/... for each such issue, containing special comments describing our implementation status (the HTML status page is then generated by scraping those comments); tests for more DRs would be appreciated!


http://reviews.llvm.org/D18654





More information about the cfe-commits mailing list