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 <[email protected]> wrote: > On Thu, Feb 19, 2015 at 6:07 PM, Larisse Voufo <[email protected]> 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 >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >> > >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
