[all-commits] [llvm/llvm-project] d9c1d3: [clang][AIX] Don't ignore XCOFF visibility by default

David Tenty via All-commits all-commits at lists.llvm.org
Wed May 11 10:28:35 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d9c1d3cbcb9751a6a82cc5e4ada0533cbbc79a1a
      https://github.com/llvm/llvm-project/commit/d9c1d3cbcb9751a6a82cc5e4ada0533cbbc79a1a
  Author: David Tenty <daltenty at ibm.com>
  Date:   2022-05-11 (Wed, 11 May 2022)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/CodeGen/PowerPC/aix-ignore-xcoff-visibility.cpp
    M clang/test/CodeGen/PowerPC/aix-visibility-inlines-hidden.cpp

  Log Message:
  -----------
  [clang][AIX] Don't ignore XCOFF visibility by default

D87451 added -mignore-xcoff-visibility for AIX targets and made it the default (which mimicked the behaviour of the XL 16.1 compiler on AIX).

However, ignoring hidden visibility has unwanted side effects and some libraries depend on visibility to hide non-ABI facing entities from user headers and
reserve the right to change these implementation details based on this (https://libcxx.llvm.org/DesignDocs/VisibilityMacros.html). This forces us to use
internal linkage fallbacks for these cases on AIX and creates an unwanted divergence in implementations on the plaform.

For these reasons, it's preferable to not add -mignore-xcoff-visibility by default, which is what this patch does.

Reviewed By: DiggerLin

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




More information about the All-commits mailing list