[all-commits] [llvm/llvm-project] d42fe9: Revert "[clang][AIX] add option mdefault-visibilit...

Hans via All-commits all-commits at lists.llvm.org
Thu Jun 2 06:16:13 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d42fe9aa84203a8f51b43a901d72fdc39eea69f7
      https://github.com/llvm/llvm-project/commit/d42fe9aa84203a8f51b43a901d72fdc39eea69f7
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2022-06-02 (Thu, 02 Jun 2022)

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    R clang/test/CodeGen/mdefault-visibility-export-mapping.c
    R clang/test/CodeGenCXX/mdefault-visibility-export-mapping-alias.cpp
    R clang/test/CodeGenCXX/mdefault-visibility-export-mapping-rtti.cpp
    R clang/test/CodeGenCXX/mdefault-visibility-export-mapping.cpp

  Log Message:
  -----------
  Revert "[clang][AIX] add option mdefault-visibility-export-mapping"

This caused assertions, see comment on the code review:

llvm/clang/lib/AST/Decl.cpp:1510:
clang::LinkageInfo clang::LinkageComputer::getLVForDecl(const clang::NamedDecl *, clang::LVComputationKind):
Assertion `D->getCachedLinkage() == LV.getLinkage()' failed.

> The option mdefault-visibility-export-mapping is created to allow
> mapping default visibility to an explicit shared library export
> (e.g. dllexport). Exactly how and if this is manifested is target
> dependent (since it depends on how they map dllexport in the IR).
>
> Three values are provided for the option:
>
> * none: the default and behavior without the option, no additional export linkage information is created.
> * explicit: add the export for entities with explict default visibility from the source, including RTTI
> * all: add the export for all entities with default visibility
>
> This option is useful for targets which do not export symbols as part of
> their usual default linkage behaviour (e.g. AIX), such targets
> traditionally specified such information in external files (e.g. export
> lists), but this mapping allows them to use the visibility information
> typically used for this purpose on other (e.g. ELF) platforms.
>
> Reviewed By: MaskRay
>
> Differential Revision: https://reviews.llvm.org/D126340

This reverts commit 8c8a2679a20f621994fa904bcfc68775e7345edc.




More information about the All-commits mailing list