llvm/clang/docs
David Tenty 6a8673038b Reland [clang][AIX] add option mdefault-visibility-export-mapping
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.

This relands commit: 8c8a2679a2

with fixes for the compile time and assert problems that were reported
by:

* making shouldMapVisibilityToDLLExport inline and provide an early return
in the case where no mapping is in effect (aka non-AIX platforms)
* don't try to export RTTI types which we will give internal linkage to

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D126340
2022-06-13 13:43:46 -04:00
..
analyzer Update old mailing list link in the nullability doc 2022-06-03 14:23:41 +02:00
CommandGuide [docs] Update supported language standards list for C++ 2022-06-09 22:14:08 +09:00
DataFlowAnalysisIntroImages
tools [clang-format] Handle deprecated options in dump_format_style.py 2022-06-12 23:35:48 -07:00
AddressSanitizer.rst [asan] Enable detect_stack_use_after_return=1 by default on Linux 2022-04-28 21:08:16 -07:00
APINotes.rst [docs][clang] Fix a broken link on the APINotes doc 2022-06-12 22:53:32 +09:00
AutomaticReferenceCounting.rst
Block-ABI-Apple.rst
BlockLanguageSpec.rst
ClangCheck.rst
ClangCommandLineReference.rst [Clang] Introduce --offload-link option to perform offload device linking 2022-05-25 16:30:53 -04:00
ClangFormat.rst [clang-format] [doc] Add script to automatically update help output in ClangFormat.rst. 2022-03-23 13:17:50 +01:00
ClangFormatStyleOptions.rst [clang-format][docs] Fix incorrect 'clang-format 9' option marker 2022-04-26 16:22:04 +02:00
ClangFormattedStatus.rst [clang-format] NFC update LLVM overall clang-formatted status 2022-03-06 20:03:27 +00:00
ClangLinkerWrapper.rst
ClangNvlinkWrapper.rst
ClangOffloadBundler.rst
ClangOffloadPackager.rst [docs][clang] Minor typo fix 2022-06-08 17:41:04 +00:00
ClangOffloadWrapper.rst
ClangPlugins.rst [docs] Add note about interaction between clang plugins and -clear-ast-before-backend 2022-02-28 12:53:09 -08:00
ClangStaticAnalyzer.rst
ClangTools.rst
ClangTransformerTutorial.rst
CMakeLists.txt
conf.py
ConstantInterpreter.rst
ControlFlowIntegrity.rst
ControlFlowIntegrityDesign.rst
CrossCompilation.rst
DataFlowAnalysisIntro.md [analyzer][NFC] Merge similar conditional paths 2022-03-07 22:05:27 +05:30
DataFlowSanitizer.rst
DataFlowSanitizerDesign.rst
doxygen-mainpage.dox
doxygen.cfg.in
DriverArchitecture.png
DriverInternals.rst
ExternalClangExamples.rst
FAQ.rst
HardwareAssistedAddressSanitizerDesign.rst
HLSLSupport.rst [Clang] [Docs] Add HLSLSupport page 2022-04-08 12:17:45 -05:00
HowToSetupToolingForLLVM.rst [tooling] Explain how to create a compilation database on Windows [NFC] 2022-03-04 13:06:08 -07:00
index.rst Fix the Clang sphinx build 2022-05-11 12:09:21 -04:00
InternalsManual.rst
IntroductionToTheClangAST.rst
ItaniumMangleAbiTags.rst
JSONCompilationDatabase.rst
LanguageExtensions.rst [clang][docs] Fix typo in code-block declaration 2022-06-11 09:28:38 +01:00
LeakSanitizer.rst
LibASTImporter.rst
LibASTMatchers.rst
LibASTMatchersReference.html [Clang][[OpenMP5.1] Initial parser/sema for default(private) clause 2022-05-19 12:43:13 -07:00
LibASTMatchersTutorial.rst [Documentation] Fixed typos in LibASTMatchers tutorial 2022-06-10 10:22:36 +02:00
LibFormat.rst
LibTooling.rst
LTOVisibility.rst
make.bat
MatrixTypes.rst Fix "the the" typo in documentation and user facing strings 2022-05-05 17:52:08 +02:00
MemorySanitizer.rst [msan] Update Use-after-destruction documentation 2022-04-21 14:02:02 -07:00
MisExpect.rst [misexpect] Re-implement MisExpect Diagnostics 2022-04-19 21:23:48 +00:00
Modules.rst
MSVCCompatibility.rst
ObjectiveCLiterals.rst
OffloadingDesign.rst [docs][clang] Fixing minor typo 2022-06-08 23:35:11 +00:00
OpenCLSupport.rst [Doc][OpenCL] Misc wording improvements for SPIR-V 2022-05-27 11:13:06 +01:00
OpenMPSupport.rst [NFC][Doc] Finish atomic compare 2022-06-02 21:50:07 -04:00
PCHInternals.rst
PCHLayout.graffle
PCHLayout.png
RAVFrontendAction.rst
README.txt
RefactoringEngine.rst
ReleaseNotes.rst [clang][tablegen] adds human documentation to WarningOption 2022-06-10 17:23:00 +00:00
SafeStack.rst [Clang][Doc][SafeStack] Fix deadlink (NFC) 2022-06-11 10:59:51 -04:00
SanitizerCoverage.rst
SanitizerSpecialCaseList.rst
SanitizerStats.rst
ShadowCallStack.rst
SourceBasedCodeCoverage.rst
SYCLSupport.rst
ThinLTO.rst
ThreadSafetyAnalysis.rst
ThreadSanitizer.rst
Toolchain.rst
Tooling.rst
UndefinedBehaviorSanitizer.rst Fix "the the" typo in documentation and user facing strings 2022-05-05 17:52:08 +02:00
UsersManual.rst Reland [clang][AIX] add option mdefault-visibility-export-mapping 2022-06-13 13:43:46 -04:00

See llvm/docs/README.txt