Nelson, Clark wrote: >> > Would it be fair to restate your questions as, why are we >> recommending >> > something like __has_attribute when we didn't recommend >> __has_feature? > > I was actually hoping someone would provide an answer to that question.
Can we ask the person who proposed it? > I myself am opposed -- weakly -- to the __has_attribute syntax, or some > variation thereof, for all the reasons we didn't go with __has_feature in > the first place, as I explained a couple of weeks ago. I favor consistency between the feature test and the attribute test. I weakly favor __has_foo() for these reasons: 1) For creating the consistency (at least from the users point of view) of all such tests now and in the future being __has_foo(). For example, __has_builtin(is_final) might solve the problem here: http://www.open-std.org/pipermail/features/2014-May/000176.html See http://thread.gmane.org/gmane.comp.compilers.clang.devel/34252 2) For making it harder for users to make mistakes such as #ifdef __cpp_foo #endif when they meant #if __cpp_foo #endif or #if __cpp_foo > 201404 #endif or #if __cpp_foo >= 201404 #endif I think __cpp_foo is fine because it might be easier to implement. However, I would request consistent prefixes/namespacing to allow for growth in the classes of tests recommended (eg builtins): http://thread.gmane.org/gmane.comp.lang.c++.isocpp.features/11 Thanks, Steve. _______________________________________________ Features mailing list [email protected] http://www.open-std.org/mailman/listinfo/features
