[all-commits] [llvm/llvm-project] ae9231: Reland - [Clang] Add the ability to map DLL storag...
bd1976bris via All-commits
all-commits at lists.llvm.org
Mon Nov 2 15:25:11 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: ae9231ca2a8125ce75fff3ff2539126610aa2eeb
https://github.com/llvm/llvm-project/commit/ae9231ca2a8125ce75fff3ff2539126610aa2eeb
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:
-----------
Reland - [Clang] Add the ability to map DLL storage class to visibility
415f7ee883 had LIT test failures on any build where the clang executable
was not called "clang". I have adjusted the LIT CHECKs to remove the
binary name to fix this.
Original commit message:
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