llvm-project/clang/lib/Driver
Petr Hosek 821b38f526 [Sema] Provide -fvisibility-global-new-delete-hidden option
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
2018-12-04 03:25:25 +00:00
..
ToolChains [Sema] Provide -fvisibility-global-new-delete-hidden option 2018-12-04 03:25:25 +00:00
Action.cpp [modules] Driver support for precompiling a collection of files as a single 2018-09-15 01:21:16 +00:00
CMakeLists.txt Add Hurd target to Clang driver (2/2) 2018-11-29 03:49:14 +00:00
Compilation.cpp Fix MSVC 2015 ambiguous symbol warning introduced by rL344337. NFCI. 2018-10-12 15:16:25 +00:00
Distro.cpp Add support of the next Ubuntu (Ubuntu 19.04 - Disco Dingo) 2018-11-04 17:41:41 +00:00
Driver.cpp Add Hurd target to Clang driver (2/2) 2018-11-29 03:49:14 +00:00
DriverOptions.cpp Revert "Revert r311552: [Bash-autocompletion] Add support for static analyzer flags" 2017-08-29 00:09:31 +00:00
InputInfo.h Add an Action* member to InputInfo. 2016-01-11 23:15:21 +00:00
Job.cpp Re-commit r344234 "clang-cl: Add /showFilenames option (PR31957)" 2018-10-13 19:13:14 +00:00
Multilib.cpp [Driver] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-03-20 21:08:59 +00:00
Phases.cpp
SanitizerArgs.cpp Driver: SCS is compatible with every other sanitizer. 2018-11-20 01:01:49 +00:00
Tool.cpp Rename the version of ConstructJob for multiple outputs to ConstructJobMultipleOutputs. 2016-11-03 15:41:50 +00:00
ToolChain.cpp [gcov/Darwin] Ensure external symbols are exported when using an export list 2018-12-03 20:53:58 +00:00
Types.cpp [modules] Driver support for precompiling a collection of files as a single 2018-09-15 01:21:16 +00:00
XRayArgs.cpp [Driver] Support XRay on Fuchsia 2018-11-22 02:36:47 +00:00