Lines Matching defs:EH
348 bool EH = Args.hasFlag(options::OPT_fexceptions, options::OPT_fno_exceptions,
357 EH = true;
368 EH |= shouldUseExceptionTablesForObjCExceptions(objcRuntime, Triple);
372 // Disable C++ EH by default on XCore and PS4/PS5.
386 EH = true;
392 // So we do not set EH to false.
398 if (EH)
400 return EH;
7266 bool EH = false;
7268 EH = addExceptionArgs(Args, InputType, TC, KernelOrKext, Runtime, CmdArgs);
7921 (EH || UnwindTables || AsyncUnwindTables ||
8150 static bool maybeConsumeDash(const std::string &EH, size_t &I) {
8151 bool HaveDash = (I + 1 < EH.size() && EH[I + 1] == '-');
8164 /// /EH controls whether to run destructor cleanups when exceptions are
8173 EHFlags EH;
8181 EH.Asynch = maybeConsumeDash(EHVal, I);
8182 if (EH.Asynch) {
8185 EH.Asynch = false;
8189 EH.Synch = false;
8193 EH.NoUnwindC = maybeConsumeDash(EHVal, I);
8196 EH.Synch = maybeConsumeDash(EHVal, I);
8197 if (EH.Synch)
8198 EH.Asynch = false;
8203 D.Diag(clang::diag::err_drv_invalid_value) << "/EH" << EHVal;
8207 // The /GX, /GX- flags are only processed if there are not /EH flags.
8212 EH.Synch = true;
8213 EH.NoUnwindC = true;
8217 EH.Synch = false;
8218 EH.NoUnwindC = false;
8219 EH.Asynch = false;
8222 return EH;
8255 EHFlags EH = parseClangCLEHFlags(D, Args, IsWindowsMSVC);
8256 if (!isNVPTX && (EH.Synch || EH.Asynch)) {
8260 if (EH.Asynch)
8263 if (types::isCXX(InputType) && EH.Synch && EH.NoUnwindC)
8393 // Emit EH continuation table.