@@ -1178,7 +1178,7 @@ static bool isSignedCharDefault(const llvm::Triple &Triple) {
11781178 case llvm::Triple::armeb:
11791179 case llvm::Triple::thumb:
11801180 case llvm::Triple::thumbeb:
1181- if (Triple.isOSDarwin () || Triple.isOSWindows ())
1181+ if (Triple.isOSDarwin () || Triple.isOSWindows () || Triple. isUEFI () )
11821182 return true ;
11831183 return false ;
11841184
@@ -7044,7 +7044,7 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
70447044 if (!Args.hasFlag (
70457045 options::OPT_fuse_cxa_atexit, options::OPT_fno_use_cxa_atexit,
70467046 !RawTriple.isOSAIX () &&
7047- (!RawTriple.isOSWindows () ||
7047+ (( !RawTriple.isOSWindows () && !RawTriple. isUEFI () ) ||
70487048 RawTriple.isWindowsCygwinEnvironment ()) &&
70497049 ((RawTriple.getVendor () != llvm::Triple::MipsTechnologies) ||
70507050 RawTriple.hasEnvironment ())) ||
@@ -7079,10 +7079,25 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
70797079 CmdArgs.push_back (" -fkeep-system-includes" );
70807080 }
70817081
7082+ if (IsUEFI) {
7083+ llvm::outs () << " IsUEFI true;\n " ;
7084+ } else {
7085+ llvm::outs () << " IsUEFI false;\n " ;
7086+ }
7087+ if (IsWindowsMSVC) {
7088+ llvm::outs () << " IsWindowsMSVC true;\n " ;
7089+ } else {
7090+ llvm::outs () << " IsWindowsMSVC false;\n " ;
7091+ }
7092+
70827093 // -fms-extensions=0 is default.
70837094 if (Args.hasFlag (options::OPT_fms_extensions, options::OPT_fno_ms_extensions,
7084- IsWindowsMSVC || IsUEFI))
7095+ IsWindowsMSVC || IsUEFI)) {
7096+ llvm::outs () << " set OPT_fms_extensions\n " ;
70857097 CmdArgs.push_back (" -fms-extensions" );
7098+ } else {
7099+ llvm::outs () << " DONT SET OPT_fms_extensions\n " ;
7100+ }
70867101
70877102 // -fms-compatibility=0 is default.
70887103 bool IsMSVCCompat = Args.hasFlag (
0 commit comments