smeenai added a subscriber: smeenai. ================ Comment at: docs/DesignDocs/VisibilityMacros.rst:33 @@ +32,3 @@ + Mark a type's typeinfo and vtable as having default visibility. + `_LIBCPP_TYPE_VIS`. This macro has no effect on the visibility of the + type's member functions. This attribute cannot be used on class templates. ---------------- The `_LIBCPP_TYPE_VIS` at the start of this line seems out of place?
================ Comment at: include/__config:605 @@ +604,3 @@ +# if __has_attribute(__type_visibility__) +# define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __attribute__ ((__visibility__("default"))) +# else ---------------- Do you think it's worth adding a comment in the code to this effect, or even just a comment pointing to the visibility macros design doc? It's a bit confusing. Alternatively, maybe define a `_LIBCPP_OVERRIDE_TYPE_VIS` inside the `__has_attribute(__type_visibility__)` case of `_LIBCPP_TYPE_VIS` and use that macro here instead of repeating the type visibility attribute check, to make this self documenting. https://reviews.llvm.org/D24602 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits