martell added inline comments.
================ Comment at: lib/Driver/ToolChain.cpp:458 + if (Triple.getArch() == llvm::Triple::x86) + return llvm::ExceptionHandling::DwarfCFI; + else ---------------- mstorsjo wrote: > I'd suggest braces around the outer if statement. > > But is there any point to this default fallback here at all? Dwarf isn't > right for x86 for MSVC, and we set the right defaults for all the MinGW cases > in that driver in any case. So isn't it enough to just return None always > here, or possibly WinEH for all windows cases? Won't need braces with the change I am about to make. The previous check was `getArch() == llvm::Triple::x86_64` then use seh. This didn't take into account arm or aarch64 so I flipped this. I read the wrong llvm class for `llvm::Triple::x86` `X86MCAsmInfoGNUCOFF` It should have been `X86MCAsmInfoMicrosoft` I looked at. ``` if (Triple.getArch() == Triple::x86_64) { PrivateGlobalPrefix = ".L"; PrivateLabelPrefix = ".L"; CodePointerSize = 8; WinEHEncodingType = WinEH::EncodingType::Itanium; } else { // 32-bit X86 doesn't use CFI, so this isn't a real encoding type. It's just // a place holder that the Windows EHStreamer looks for to suppress CFI // output. In particular, usesWindowsCFI() returns false. WinEHEncodingType = WinEH::EncodingType::X86; } ExceptionsType = ExceptionHandling::WinEH; ``` I think None in the case of x86 is the behavior that was present previously so I am going to revert from dwarf to none. https://www.google.com/patents/US5628016 That borland patent has long since expired now and seh is the default in llvm for x86 so we can do seh on x86 for clang but I will leave that to a different patch. Repository: rL LLVM https://reviews.llvm.org/D39673 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits