[libcxx-commits] [PATCH] D96786: Including <ciso646> should result in an #error since C++17

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Mar 2 12:34:34 PST 2021

ldionne requested changes to this revision.
ldionne added a comment.
This revision now requires changes to proceed.

Honestly I'm pretty wary of doing this. The benefit is very small (being pedantic and forcing users to migrate away from those headers), but the potential for breakage exists.

In general, we don't really like erroring out in headers like that because it defeats the expectation that users can test for whether a header can be included with `__has_include`. Yes, I know, they're wrong to think that `__has_include(<HEADER>)` means that `<HEADER>` can be meaningfully included, but people do that.

As much as I like being pedantic, I think this is not worth doing right now. Maybe if we can get some buy-in from other implementations, then it would make more sense. Otherwise, we're just going to be a nuisance for the ecosystem.

  rG LLVM Github Monorepo



More information about the libcxx-commits mailing list