forked from OSchip/llvm-project
821b38f526
When the global new and delete operators aren't declared, Clang provides and implicit declaration, but this declaration currently always uses the default visibility. This is a problem when the C++ library itself is being built with non-default visibility because the implicit declaration will force the new and delete operators to have the default visibility unlike the rest of the library. The existing workaround is to use assembly to enforce the visiblity: https://fuchsia.googlesource.com/zircon/+/master/system/ulib/zxcpp/new.cpp#108 but that solution is not always available, e.g. in the case of of libFuzzer which is using an internal version of libc++ that's also built with -fvisibility=hidden where the existing behavior is causing issues. This change introduces a new option -fvisibility-global-new-delete-hidden which makes the implicit declaration of the global new and delete operators hidden. Differential Revision: https://reviews.llvm.org/D53787 llvm-svn: 348234 |
||
---|---|---|
.. | ||
Rewrite | ||
ASTConsumers.cpp | ||
ASTMerge.cpp | ||
ASTUnit.cpp | ||
CMakeLists.txt | ||
CacheTokens.cpp | ||
ChainedDiagnosticConsumer.cpp | ||
ChainedIncludesSource.cpp | ||
CodeGenOptions.cpp | ||
CompilerInstance.cpp | ||
CompilerInvocation.cpp | ||
CreateInvocationFromCommandLine.cpp | ||
DependencyFile.cpp | ||
DependencyGraph.cpp | ||
DiagnosticRenderer.cpp | ||
FrontendAction.cpp | ||
FrontendActions.cpp | ||
FrontendOptions.cpp | ||
FrontendTiming.cpp | ||
HeaderIncludeGen.cpp | ||
InitHeaderSearch.cpp | ||
InitPreprocessor.cpp | ||
LangStandards.cpp | ||
LayoutOverrideSource.cpp | ||
LogDiagnosticPrinter.cpp | ||
ModuleDependencyCollector.cpp | ||
MultiplexConsumer.cpp | ||
PCHContainerOperations.cpp | ||
PrecompiledPreamble.cpp | ||
PrintPreprocessedOutput.cpp | ||
SerializedDiagnosticPrinter.cpp | ||
SerializedDiagnosticReader.cpp | ||
TestModuleFileExtension.cpp | ||
TestModuleFileExtension.h | ||
TextDiagnostic.cpp | ||
TextDiagnosticBuffer.cpp | ||
TextDiagnosticPrinter.cpp | ||
VerifyDiagnosticConsumer.cpp |