aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objdump/llvm-objdump.cpp
diff options
context:
space:
mode:
authorbd1976bris <bd1976llvm@gmail.com>2024-01-19 21:57:40 +0000
committerGitHub <noreply@github.com>2024-01-19 21:57:40 +0000
commitcd05ade13a66d4fb2daff489b2c02ac1ae2070d1 (patch)
treea16f5f820997523329b3f7effa207a98dc9cffc8 /llvm/tools/llvm-objdump/llvm-objdump.cpp
parent2bfa5ca9277a7320358501c8fa0f1741c5134859 (diff)
downloadllvm-cd05ade13a66d4fb2daff489b2c02ac1ae2070d1.zip
llvm-cd05ade13a66d4fb2daff489b2c02ac1ae2070d1.tar.gz
llvm-cd05ade13a66d4fb2daff489b2c02ac1ae2070d1.tar.bz2
Add a "don't override" mapping for -fvisibility-from-dllstorageclass (#74629)
`-fvisibility-from-dllstorageclass` allows for overriding the visibility of globals from their DLL storage class. The visibility to apply can be customised for the different classes of globals via a set of dependent options that specify the mapping values: - `-fvisibility-dllexport=<value>` - `-fvisibility-nodllstorageclass=<value>` - `-fvisibility-externs-dllimport=<value>` - `-fvisibility-externs-nodllstorageclass=<value>` Currently, one of the existing LLVM visibilities, `hidden`, `protected`, `default`, can be used as a mapping value. This change adds a new mapping value: `keep`, which specifies that the visibility should not be overridden for that class of globals. The behaviour of `-fvisibility-from-dllstorageclass` is otherwise unchanged and existing uses of this set of options will be unaffected. The background to this change is that currently the PS4 and PS5 compilers effectively ignore visibility - dllimport/export is the supported method for export control in C/C++ source code. Now, we would like to support visibility attributes and options in our frontend, in addition to dllimport/export. To support this, we will override the visibility of globals with explicit dllimport/export annotations but use the `keep` setting for globals which do not have an explicit dllimport/export. There are also some minor improvements to the existing options: - Make the `LANGOPS` `BENIGN` as they don't involve the AST. - Correct/clarify the help text for the options.
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions