Index: clang/include/clang/Driver/Options.td =================================================================== --- clang/include/clang/Driver/Options.td +++ clang/include/clang/Driver/Options.td @@ -2378,6 +2378,7 @@ NegFlag, PosFlag>, ShouldParseIf; def fsplit_stack : Flag<["-"], "fsplit-stack">, Group; +def fno_split_stack : Flag<["-"], "fno-split-stack">, Group; def fstack_protector_all : Flag<["-"], "fstack-protector-all">, Group, HelpText<"Enable stack protectors for all functions">; defm stack_clash_protection : BoolFOption<"stack-clash-protection", Index: clang/lib/Driver/ToolChains/Clang.cpp =================================================================== --- clang/lib/Driver/ToolChains/Clang.cpp +++ clang/lib/Driver/ToolChains/Clang.cpp @@ -4872,7 +4872,8 @@ options::OPT_fno_experimental_relative_cxx_abi_vtables); // Handle segmented stacks. - if (Args.hasArg(options::OPT_fsplit_stack)) + if (Args.hasFlag(options::OPT_fsplit_stack, options::OPT_fno_split_stack, + false)) CmdArgs.push_back("-split-stacks"); RenderFloatingPointOptions(TC, D, OFastEnabled, Args, CmdArgs, JA);