Set -fsjlj-exceptions for all 32-bit Windows compiles

Bug: http://b/116784799

Previously this was set only when stl was requested.  We can now pass
this for all C++ compilations.

Test: go/android-llvm-windows-testing
Change-Id: I43e635ff50d0f1a5e000f13021506aeece368b4a
This commit is contained in:
Pirama Arumuga Nainar 2020-09-09 17:54:32 -07:00
parent 74fe471e7a
commit af68337d36
2 changed files with 5 additions and 6 deletions

View File

@ -49,7 +49,11 @@ var (
windowsClangCppflags = []string{}
windowsX86ClangCppflags = []string{}
windowsX86ClangCppflags = []string{
// Use SjLj exceptions for 32-bit. libgcc_eh implements SjLj
// exception model for 32-bit.
"-fsjlj-exceptions",
}
windowsX8664ClangCppflags = []string{}

View File

@ -239,11 +239,6 @@ func (stl *stl) flags(ctx ModuleContext, flags Flags) Flags {
flags.Local.CppFlags = append(flags.Local.CppFlags, "-nostdinc++")
flags.extraLibFlags = append(flags.extraLibFlags, "-nostdlib++")
if ctx.Windows() {
// Use SjLj exceptions for 32-bit. libgcc_eh implements SjLj
// exception model for 32-bit.
if ctx.Arch().ArchType == android.X86 {
flags.Local.CppFlags = append(flags.Local.CppFlags, "-fsjlj-exceptions")
}
flags.Local.CppFlags = append(flags.Local.CppFlags,
// Disable visiblity annotations since we're using static
// libc++.