On Mon, Oct 31, 2016 at 01:25:19PM -0700, Richard Smith wrote:
> We could alternatively control the language features based only on the
> selected language mode, and only use version detection to power a warning
> for the (currently fairly common, but becoming less so) case where the
> selected runtime library isn't new enough to implement the requested
> features. That would cause a bunch of scenarios to break when upgrading to
> clang 4.0, but at least the fix would be pretty clear.

Let's split this slightly. Ultimately, we need to have codegen flags to
control individual features that require support from the ABI
implementation or even just from the STL implementation. I can think of
three different ways to provide the default values:
(1) Language mode selection
(2) Driver logic based on the target
(3) Source controls like #pragma

The third option would serve mostly the same purpose as feature
detection based on some magic __version file, but it also would allow
non-libc++ implementations or -nostdinc use cases to get the same
behavior.

Joerg
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to