diff options
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index d625c0e..4aecf22 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -3737,6 +3737,17 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, getToolChain().getTriple().getArch() == llvm::Triple::aarch64_be) CmdArgs.push_back("-fallow-half-arguments-and-returns"); + // Translate -frandom-seed to seed the LLVM RNG + if (Args.hasArg(options::OPT_frandom_seed_EQ)) { + StringRef seed = Args.getLastArgValue(options::OPT_frandom_seed_EQ); + CmdArgs.push_back("-backend-option"); + CmdArgs.push_back(Args.MakeArgString("-rng-seed=" + seed)); + } + + if (Args.hasArg(options::OPT_fdiversify)) { + CmdArgs.push_back("-noop-insertion"); + } + if (Arg *A = Args.getLastArg(options::OPT_mrestrict_it, options::OPT_mno_restrict_it)) { if (A->getOption().matches(options::OPT_mrestrict_it)) { |