Index: clang/lib/Frontend/CompilerInvocation.cpp
--- clang/lib/Frontend/CompilerInvocation.cpp.orig
+++ clang/lib/Frontend/CompilerInvocation.cpp
@@ -1619,6 +1619,10 @@ void CompilerInvocationBase::GenerateCodeGenArgs(const
                 F.Filename);
   }
 
+  if (Opts.ReturnProtector) {
+    GenerateArg(Consumer, OPT_ret_protector);
+  }
+
   if (Opts.EmulatedTLS)
     GenerateArg(Consumer, OPT_femulated_tls);
 
@@ -1974,6 +1978,8 @@ bool CompilerInvocation::ParseCodeGenArgs(CodeGenOptio
     }
     Opts.LinkBitcodeFiles.push_back(F);
   }
+
+  Opts.ReturnProtector = Args.hasArg(OPT_ret_protector);
 
   if (Arg *A = Args.getLastArg(OPT_ftlsmodel_EQ)) {
     if (T.isOSAIX()) {
