r229950 - Add -fno-sized-deallocation option for completeness of fix in r229241 in documentation in r229818.

Larisse Voufo lvoufo at google.com
Fri Feb 20 09:10:23 PST 2015


I am not sure how this could have happened since I did not mess with
-fsized-deallocation at all, and it passed all the regression tests...
Strange if you're observing that. I'll take a look.




On Thu, Feb 19, 2015 at 7:03 PM, Richard Smith <richard at metafoo.co.uk>
wrote:

> On Thu, Feb 19, 2015 at 6:07 PM, Larisse Voufo <lvoufo at google.com> wrote:
>
>> Author: lvoufo
>> Date: Thu Feb 19 20:07:22 2015
>> New Revision: 229950
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=229950&view=rev
>> Log:
>> Add -fno-sized-deallocation option for completeness of fix in r229241 in
>> documentation in r229818.
>>
>
> This seems really strange; the driver now has a -fno-sized-deallocation
> but no -fsized-deallocation, and the frontend now has both but they don't
> override each other in the usual way. I don't think this is the right
> design. Can you revert this for now until we finish discussing what
> command-line interface we want here?
>
>
>> Modified:
>>     cfe/trunk/include/clang/Driver/Options.td
>>     cfe/trunk/lib/Driver/Tools.cpp
>>     cfe/trunk/lib/Frontend/CompilerInvocation.cpp
>>     cfe/trunk/test/CodeGenCXX/cxx1y-sized-deallocation.cpp
>>     cfe/trunk/test/CodeGenCXX/implicit-allocation-functions.cpp
>>     cfe/trunk/test/CodeGenCXX/pr21754.cpp
>>
>> Modified: cfe/trunk/include/clang/Driver/Options.td
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=229950&r1=229949&r2=229950&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/include/clang/Driver/Options.td (original)
>> +++ cfe/trunk/include/clang/Driver/Options.td Thu Feb 19 20:07:22 2015
>> @@ -394,8 +394,10 @@ def fasm_blocks : Flag<["-"], "fasm-bloc
>>  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
>> function">, Flags<[CC1Option]>;
>> +  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>;
>>
>> Modified: cfe/trunk/lib/Driver/Tools.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=229950&r1=229949&r2=229950&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/lib/Driver/Tools.cpp (original)
>> +++ cfe/trunk/lib/Driver/Tools.cpp Thu Feb 19 20:07:22 2015
>> @@ -4213,6 +4213,10 @@ void Clang::ConstructJob(Compilation &C,
>>                      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))
>>
>> Modified: cfe/trunk/lib/Frontend/CompilerInvocation.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=229950&r1=229949&r2=229950&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/lib/Frontend/CompilerInvocation.cpp (original)
>> +++ cfe/trunk/lib/Frontend/CompilerInvocation.cpp Thu Feb 19 20:07:22 2015
>> @@ -1522,6 +1522,7 @@ static void ParseLangArgs(LangOptions &O
>>    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);
>>
>> Modified: cfe/trunk/test/CodeGenCXX/cxx1y-sized-deallocation.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/cxx1y-sized-deallocation.cpp?rev=229950&r1=229949&r2=229950&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/test/CodeGenCXX/cxx1y-sized-deallocation.cpp (original)
>> +++ cfe/trunk/test/CodeGenCXX/cxx1y-sized-deallocation.cpp Thu Feb 19
>> 20:07:22 2015
>> @@ -3,6 +3,7 @@
>>  // RUN: %clang_cc1 -std=c++11 -fsized-deallocation %s -emit-llvm -triple
>> x86_64-linux-gnu -o - | FileCheck %s --check-prefix=CHECK
>> --check-prefix=CHECKUND
>>  // RUN: %clang_cc1 -std=c++11 -fsized-deallocation
>> -fdefine-sized-deallocation %s -emit-llvm -triple x86_64-linux-gnu -o - |
>> FileCheck %s --check-prefix=CHECK --check-prefix=CHECKDEF
>>  // RUN: %clang_cc1 -std=c++11 %s -emit-llvm -triple x86_64-linux-gnu -o
>> - | FileCheck %s --check-prefix=CHECK-UNSIZED
>> +// RUN: %clang_cc1 -std=c++1y %s -emit-llvm -triple x86_64-linux-gnu
>> -fno-sized-deallocation -o - | FileCheck %s --check-prefix=CHECK-UNSIZED
>>
>>  // CHECK-UNSIZED-NOT: _ZdlPvm
>>  // CHECK-UNSIZED-NOT: _ZdaPvm
>>
>> Modified: cfe/trunk/test/CodeGenCXX/implicit-allocation-functions.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/implicit-allocation-functions.cpp?rev=229950&r1=229949&r2=229950&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/test/CodeGenCXX/implicit-allocation-functions.cpp (original)
>> +++ cfe/trunk/test/CodeGenCXX/implicit-allocation-functions.cpp Thu Feb
>> 19 20:07:22 2015
>> @@ -1,5 +1,6 @@
>>  // RUN: %clang_cc1 -emit-llvm -triple x86_64-unknown-unknown -o -
>> -std=c++11 %s 2>&1 | FileCheck %s -check-prefix=CHECKDEF
>> -check-prefix=CHECK11
>>  // RUN: %clang_cc1 -emit-llvm -triple x86_64-unknown-unknown -o -
>> -std=c++11 -fvisibility hidden %s 2>&1 | FileCheck %s
>> -check-prefix=CHECKHID -check-prefix=CHECK11
>> +// RUN: %clang_cc1 -emit-llvm -triple x86_64-unknown-unknown -o -
>> -std=c++14 -fno-sized-deallocation %s 2>&1 | FileCheck %s
>> -check-prefix=CHECKDEF -check-prefix=CHECK11
>>  // RUN: %clang_cc1 -emit-llvm -triple x86_64-unknown-unknown -o -
>> -std=c++14 %s 2>&1 | FileCheck %s -check-prefix=CHECKDEF
>> -check-prefix=CHECK14 -check-prefix=CHECK14UND
>>  // RUN: %clang_cc1 -emit-llvm -triple x86_64-unknown-unknown -o -
>> -std=c++14 -fvisibility hidden %s 2>&1 | FileCheck %s
>> -check-prefix=CHECKHID -check-prefix=CHECK14 -check-prefix=CHECK14UND
>>  // RUN: %clang_cc1 -emit-llvm -triple x86_64-unknown-unknown -o -
>> -std=c++14 -fdefine-sized-deallocation %s 2>&1 | FileCheck %s
>> -check-prefix=CHECKDEF -check-prefix=CHECK14 -check-prefix=CHECK14DEFCOMDAT
>>
>> Modified: cfe/trunk/test/CodeGenCXX/pr21754.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/pr21754.cpp?rev=229950&r1=229949&r2=229950&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/test/CodeGenCXX/pr21754.cpp (original)
>> +++ cfe/trunk/test/CodeGenCXX/pr21754.cpp Thu Feb 19 20:07:22 2015
>> @@ -1,12 +1,10 @@
>>  // RUN: %clang -cc1 -emit-llvm -triple x86_64-unknown-unknown -std=c++1y
>> -o - %s 2>&1 | FileCheck %s
>>  // RUN: %clang -cc1 -emit-llvm -triple x86_64-unknown-unknown -std=c++1y
>> -fdefine-sized-deallocation -o - %s 2>&1 | FileCheck %s
>> +// RUN: %clang -cc1 -emit-llvm -triple x86_64-unknown-unknown -std=c++1y
>> -fno-sized-deallocation -o - %s 2>&1 | FileCheck %s
>>  // RUN: %clang -cc1 -emit-llvm -triple x86_64-unknown-unknown -std=c++11
>> -fsized-deallocation -o - %s 2>&1 | FileCheck %s
>>  // RUN: %clang -cc1 -emit-llvm -triple x86_64-unknown-unknown -std=c++11
>> -fsized-deallocation -fdefine-sized-deallocation -o - %s 2>&1 | FileCheck %s
>>  // RUN: %clang -cc1 -emit-llvm -triple x86_64-unknown-unknown -std=c++11
>> -o - %s 2>&1 | FileCheck %s
>>
>> -// CHECK-UNSIZED-NOT: _ZdlPvm
>> -// CHECK-UNSIZED-NOT: _ZdaPvm
>> -
>>  void operator delete(void*, unsigned long) throw()
>> __attribute__((alias("foo")));
>>  extern "C" void foo(void*, unsigned long) {}
>>
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150220/8b536cf2/attachment.html>


More information about the cfe-commits mailing list