Merge changes I34385c48,I1e48947c into main

* changes:
  disablePrebuilt: also clear sanitizer-dependent Srcs
  Define libc++ config macros to nothing
This commit is contained in:
Ryan Prichard
2024-02-29 20:51:48 +00:00
committed by Gerrit Code Review
2 changed files with 10 additions and 5 deletions

View File

@@ -260,6 +260,9 @@ func (p *prebuiltLibraryLinker) nativeCoverage() bool {
func (p *prebuiltLibraryLinker) disablePrebuilt() {
p.properties.Srcs = nil
p.properties.Sanitized.None.Srcs = nil
p.properties.Sanitized.Address.Srcs = nil
p.properties.Sanitized.Hwaddress.Srcs = nil
}
// Implements versionedInterface

View File

@@ -205,12 +205,14 @@ func (stl *stl) flags(ctx ModuleContext, flags Flags) Flags {
flags.extraLibFlags = append(flags.extraLibFlags, "-nostdlib++")
if ctx.Windows() {
flags.Local.CppFlags = append(flags.Local.CppFlags,
// Disable visiblity annotations since we're using static
// libc++.
"-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS",
"-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
// These macros can also be defined by libc++'s __config
// or __config_site headers so define them the same way
// (i.e. to nothing). Disable visibility annotations since
// we're using static libc++.
"-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS=",
"-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS=",
// Use Win32 threads in libc++.
"-D_LIBCPP_HAS_THREAD_API_WIN32")
"-D_LIBCPP_HAS_THREAD_API_WIN32=")
}
}
case "libstdc++":