Lines Matching defs:EH
340 bool EH = Args.hasFlag(options::OPT_fexceptions, options::OPT_fno_exceptions,
349 EH = true;
360 EH |= shouldUseExceptionTablesForObjCExceptions(objcRuntime, Triple);
364 // Disable C++ EH by default on XCore and PS4/PS5.
378 EH = true;
384 // So we do not set EH to false.
390 if (EH)
392 return EH;
7463 bool EH = false;
7465 EH = addExceptionArgs(Args, InputType, TC, KernelOrKext, Runtime, CmdArgs);
8101 (EH || UnwindTables || AsyncUnwindTables ||
8330 static bool maybeConsumeDash(const std::string &EH, size_t &I) {
8331 bool HaveDash = (I + 1 < EH.size() && EH[I + 1] == '-');
8344 /// /EH controls whether to run destructor cleanups when exceptions are
8353 EHFlags EH;
8361 EH.Asynch = maybeConsumeDash(EHVal, I);
8362 if (EH.Asynch) {
8365 EH.Asynch = false;
8369 EH.Synch = false;
8373 EH.NoUnwindC = maybeConsumeDash(EHVal, I);
8376 EH.Synch = maybeConsumeDash(EHVal, I);
8377 if (EH.Synch)
8378 EH.Asynch = false;
8383 D.Diag(clang::diag::err_drv_invalid_value) << "/EH" << EHVal;
8387 // The /GX, /GX- flags are only processed if there are not /EH flags.
8392 EH.Synch = true;
8393 EH.NoUnwindC = true;
8397 EH.Synch = false;
8398 EH.NoUnwindC = false;
8399 EH.Asynch = false;
8402 return EH;
8435 EHFlags EH = parseClangCLEHFlags(D, Args, IsWindowsMSVC);
8436 if (!isNVPTX && (EH.Synch || EH.Asynch)) {
8440 if (EH.Asynch)
8443 if (types::isCXX(InputType) && EH.Synch && EH.NoUnwindC)
8573 // Emit EH continuation table.