[clang] [clang-tools-extra] [libcxx] [clang] Enable sized deallocation by default in C++14 onwards (PR #83774)

Fangrui Song via cfe-commits cfe-commits at lists.llvm.org
Thu Mar 7 01:00:15 PST 2024


================
@@ -7105,10 +7105,15 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
   Args.addOptInFlag(CmdArgs, options::OPT_frelaxed_template_template_args,
                     options::OPT_fno_relaxed_template_template_args);
 
-  // -fsized-deallocation is off by default, as it is an ABI-breaking change for
-  // most platforms.
-  Args.addOptInFlag(CmdArgs, options::OPT_fsized_deallocation,
-                    options::OPT_fno_sized_deallocation);
+  // -fsized-deallocation is on by default in C++14 onwards and otherwise off
+  // by default.
+  if (Arg *A = Args.getLastArg(options::OPT_fsized_deallocation,
----------------
MaskRay wrote:

We only need `-fno-sized-deallocation` for CC1Option. When neither option is specified, assume implicit `-fsized-deallocation`.

The code change in Darwin.cpp should be changed to a function that decides whether the default is yes or no.

https://github.com/llvm/llvm-project/pull/83774


More information about the cfe-commits mailing list