[all-commits] [llvm/llvm-project] 415f7e: [Clang] Add the ability to map DLL storage class t...

bd1976bris via All-commits all-commits at lists.llvm.org
Mon Nov 2 09:08:45 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 415f7ee8836944942d8beb70e982e95a312866a7
      https://github.com/llvm/llvm-project/commit/415f7ee8836944942d8beb70e982e95a312866a7
  Author: Ben Dunbobbin <Ben.Dunbobbin at sony.com>
  Date:   2020-11-02 (Mon, 02 Nov 2020)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    A clang/test/CodeGenCXX/visibility-dllstorageclass.cpp
    A clang/test/Driver/ps4-visibility-dllstorageclass.c
    A clang/test/Driver/visibility-dllstorageclass.c

  Log Message:
  -----------
  [Clang] Add the ability to map DLL storage class to visibility

For PlayStation we offer source code compatibility with
Microsoft's dllimport/export annotations; however, our file
format is based on ELF.

To support this we translate from DLL storage class to ELF
visibility at the end of codegen in Clang.

Other toolchains have used similar strategies (e.g. see the
documentation for this ARM toolchain:

https://developer.arm.com/documentation/dui0530/i/migrating-from-rvct-v3-1-to-rvct-v4-0/changes-to-symbol-visibility-between-rvct-v3-1-and-rvct-v4-0)

This patch adds the ability to perform this translation. Options
are provided to support customizing the mapping behaviour.

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




More information about the All-commits mailing list