diff options
author | Jonathan Roelofs <jonathan@codesourcery.com> | 2014-10-03 21:57:44 +0000 |
---|---|---|
committer | Jonathan Roelofs <jonathan@codesourcery.com> | 2014-10-03 21:57:44 +0000 |
commit | b140a100a0479f9dfcb45c523f22dd64c41b68f0 (patch) | |
tree | 5c28a4c9a18528cf4ae78ca8a1a803d21fceeef8 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 0820e13e2a2676fd61500ec3cbe0a2c3d1902c43 (diff) | |
download | bcm5719-llvm-b140a100a0479f9dfcb45c523f22dd64c41b68f0.tar.gz bcm5719-llvm-b140a100a0479f9dfcb45c523f22dd64c41b68f0.zip |
CFE Knob for: Add a thread-model knob for lowering atomics on baremetal & single threaded systems
http://reviews.llvm.org/D4985
llvm-svn: 219027
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index 0dde41acf2e..043141ad673 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -440,6 +440,11 @@ static bool ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, InputKind IK, Args.hasArg(OPT_cl_fast_relaxed_math); Opts.UnwindTables = Args.hasArg(OPT_munwind_tables); Opts.RelocationModel = Args.getLastArgValue(OPT_mrelocation_model, "pic"); + Opts.ThreadModel = Args.getLastArgValue(OPT_mthread_model, "posix"); + if (Opts.ThreadModel != "posix" && Opts.ThreadModel != "single") + Diags.Report(diag::err_drv_invalid_value) + << Args.getLastArg(OPT_mthread_model)->getAsString(Args) + << Opts.ThreadModel; Opts.TrapFuncName = Args.getLastArgValue(OPT_ftrap_function_EQ); Opts.UseInitArray = Args.hasArg(OPT_fuse_init_array); |