Move -fdefine-sized-deallocation and -fno-sized-deallocation options from driver into CC1 for now.

llvm-svn: 230112
This commit is contained in:
Larisse Voufo 2015-02-21 01:03:48 +00:00
parent 70ab3d2af6
commit dcc0eddd18
4 changed files with 11 additions and 19 deletions

View File

@ -518,6 +518,10 @@ def fno_deprecated_macro : Flag<["-"], "fno-deprecated-macro">,
HelpText<"Undefines the __DEPRECATED macro">;
def fsized_deallocation : Flag<["-"], "fsized-deallocation">,
HelpText<"Enable C++14 sized global deallocation functions">;
def fno_sized_deallocation: Flag<["-"], "fno-sized-deallocation">,
HelpText<"Disable sized deallocation functions">;
def fdefine_sized_deallocation: Flag<["-"], "fdefine-sized-deallocation">,
HelpText<"Allow compiler-generated definition of sized deallocation functions">;
def fobjc_subscripting_legacy_runtime : Flag<["-"], "fobjc-subscripting-legacy-runtime">,
HelpText<"Allow Objective-C array and dictionary subscripting in legacy runtime">;
def vtordisp_mode_EQ : Joined<["-"], "vtordisp-mode=">,

View File

@ -394,10 +394,6 @@ def fasm_blocks : Flag<["-"], "fasm-blocks">, Group<f_Group>, Flags<[CC1Option]>
def fno_asm_blocks : Flag<["-"], "fno-asm-blocks">, Group<f_Group>;
def fassume_sane_operator_new : Flag<["-"], "fassume-sane-operator-new">, Group<f_Group>;
def fno_sized_deallocation: Flag<["-"], "fno-sized-deallocation">, Group<f_Group>,
HelpText<"Disable sized deallocation functions">, Flags<[CC1Option]>;
def fdefine_sized_deallocation: Flag<["-"], "fdefine-sized-deallocation">, Group<f_Group>,
HelpText<"Allow compiler-generated definition of sized deallocation functions">, Flags<[CC1Option]>;
def fastcp : Flag<["-"], "fastcp">, Group<f_Group>;
def fastf : Flag<["-"], "fastf">, Group<f_Group>;
def fast : Flag<["-"], "fast">, Group<f_Group>;

View File

@ -4223,15 +4223,6 @@ 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))
CmdArgs.push_back("-fdefine-sized-deallocation");
// -fconstant-cfstrings is default, and may be subject to argument translation
// on Darwin.
if (!Args.hasFlag(options::OPT_fconstant_cfstrings,

View File

@ -505,12 +505,13 @@ Clang version in which each feature became available.</p>
</tr>
</table>
<p>
<span id="n3778">(6): As of Clang 3.7, using sized deallocation in C++14 mode requires linking either
<span id="n3778">(6): In Clang SVN, using sized deallocation in C++14 mode requires linking either
libc++ 3.7 or later, or libstdc++ 5 or later. Alternatively, you can use the
<code>-fdefine-sized-deallocation</code> compiler option to enable the implementation under
<code>-Xclang -fdefine-sized-deallocation</code> compiler option to enable the implementation from
Clang 3.4 through Clang 3.6, where weak definitions of sized deallocation functions are implicitly
generated (by the compiler). You can also use the <code>-fno-sized-deallocation</code> option
to disable sized deallocation.
generated (by the compiler). You can also use the <code>-Xclang -fno-sized-deallocation</code> option
to disable sized deallocation. Note that both of these flags arw temporary provisions and may go away
soon.
</span>
</p>