summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorLarisse Voufo <lvoufo@google.com>2015-02-20 02:07:22 +0000
committerLarisse Voufo <lvoufo@google.com>2015-02-20 02:07:22 +0000
commit89088232b20f77fd240ebe5b709274c109aca3e1 (patch)
tree426e39b472b0f393e64948004c9668aacbe20536 /clang/lib
parentc75a932df31e4c04e37afb26ef386c7cf6aae004 (diff)
downloadbcm5719-llvm-89088232b20f77fd240ebe5b709274c109aca3e1.tar.gz
bcm5719-llvm-89088232b20f77fd240ebe5b709274c109aca3e1.zip
Add -fno-sized-deallocation option for completeness of fix in r229241 in documentation in r229818.
llvm-svn: 229950
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Driver/Tools.cpp4
-rw-r--r--clang/lib/Frontend/CompilerInvocation.cpp1
2 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index f47a92b7c39..fc6773d21c5 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -4213,6 +4213,10 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
options::OPT_fno_assume_sane_operator_new))
CmdArgs.push_back("-fno-assume-sane-operator-new");
+ // -fno-sized-deallocation: disable sized delete.
+ if (Args.hasArg(options::OPT_fno_sized_deallocation))
+ CmdArgs.push_back("-fno-sized-deallocation");
+
// -fdefine-sized-deallocation: default implementation of sized delete as a
// weak definition.
if (Args.hasArg(options::OPT_fdefine_sized_deallocation))
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
index edfee213994..4c1ac0a148a 100644
--- a/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/clang/lib/Frontend/CompilerInvocation.cpp
@@ -1522,6 +1522,7 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK,
Opts.NoMathBuiltin = Args.hasArg(OPT_fno_math_builtin);
Opts.AssumeSaneOperatorNew = !Args.hasArg(OPT_fno_assume_sane_operator_new);
Opts.SizedDeallocation |= Args.hasArg(OPT_fsized_deallocation);
+ Opts.SizedDeallocation &= !Args.hasArg(OPT_fno_sized_deallocation);
Opts.DefineSizedDeallocation = Opts.SizedDeallocation &&
Args.hasArg(OPT_fdefine_sized_deallocation);
Opts.HeinousExtensions = Args.hasArg(OPT_fheinous_gnu_extensions);
OpenPOWER on IntegriCloud