diff --git a/cc/config/x86_windows_host.go b/cc/config/x86_windows_host.go index cd0a50837..b5b555322 100644 --- a/cc/config/x86_windows_host.go +++ b/cc/config/x86_windows_host.go @@ -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{} diff --git a/cc/stl.go b/cc/stl.go index 4e74c7fb0..e18fe9547 100644 --- a/cc/stl.go +++ b/cc/stl.go @@ -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++.