[all-commits] [llvm/llvm-project] 0066a0: [libc++] Give extern templates default visibility ...

Shoaib Meenai via All-commits all-commits at lists.llvm.org
Tue Jan 12 18:31:34 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0066a09579ca90f60cb1947691e5a441f9f57a5d
      https://github.com/llvm/llvm-project/commit/0066a09579ca90f60cb1947691e5a441f9f57a5d
  Author: Shoaib Meenai <smeenai at fb.com>
  Date:   2021-01-12 (Tue, 12 Jan 2021)

  Changed paths:
    M libcxx/docs/DesignDocs/VisibilityMacros.rst
    M libcxx/include/__config

  Log Message:
  -----------
  [libc++] Give extern templates default visibility on gcc

Contrary to the current visibility macro documentation, it appears that
gcc does handle visibility attribute on extern templates correctly, e.g.
https://godbolt.org/g/EejuV7. We need this so that extern template
instantiations of classes not marked _LIBCPP_TEMPLATE_VIS (e.g.
__vector_base_common) are correctly exported with gcc when building with
hidden visibility.

Reviewed By: ldionne

Differential Revision: https://reviews.llvm.org/D35388




More information about the All-commits mailing list