rnk accepted this revision. rnk added inline comments. This revision is now accepted and ready to land.
================ Comment at: lib/CodeGen/CGException.cpp:134-135 const llvm::Triple &T = Target.getTriple(); + if (T.isWindowsMSVCEnvironment()) + return EHPersonality::MSVC_CxxFrameHandler3; + ---------------- smeenai wrote: > rnk wrote: > > I guess previously we carefully arranged to go to whatever the regular objc > > personality would be, but we're not doing that now with funclet windows eh. > > Maybe we could drastically simplify this by checking for an msvc > > environment and seh before checking each language? > I gave this a shot. EHPersonality::get already has code to make SEH functions > always get the SEH personality (line 223 below), so I added another condition > below to make an MSVC triple always get the MSVC personality, and then > removed all those conditionals from the individual get*Personality functions. > Unfortunately, there's also code below (in SimplifyPersonality) that calls > getCXXPersonality directly, so we still need to leave the MSVC check in > there, and having the check in there but not any of the other get*Personality > functions seems really ugly. The other option is to adjust > SimplifyPersonality instead, which ends up looking like P8086; do you think > that's worth it? Or did you mean something else entirely? That's what I meant, but I see how it ends up inconsistent. Let's go with this. Repository: rC Clang https://reviews.llvm.org/D47862 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits