From 3205dbb3f1f96e77e106f964dcf1b5f69fba4ecc Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Thu, 21 Mar 2019 20:07:24 +0000 Subject: [PATCH] [Driver] Pass -malign-double from the driver to the cc1 command line -malign-double is currently only implemented in the -cc1 interface. But its declared in Options.td so it is a driver option too. But you try to use it with the driver you'll get a message about the option being unused. This patch teaches the driver to pass the option through to cc1 so it won't be unused. The Options.td says the option is x86 only but I didn't see any x86 specific code in its impementation in cc1 so not sure if the documentation is wrong or if I should only pass this option through the driver on x86 targets. Differential Revision: https://reviews.llvm.org/D59624 llvm-svn: 356706 --- clang/lib/Driver/ToolChains/Clang.cpp | 1 + clang/test/Driver/malign_double.c | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 clang/test/Driver/malign_double.c diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index bf9ab9dd1074e..20f55dff5abc0 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -4547,6 +4547,7 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, Args.AddLastArg(CmdArgs, options::OPT_fdiagnostics_parseable_fixits); Args.AddLastArg(CmdArgs, options::OPT_ftime_report); Args.AddLastArg(CmdArgs, options::OPT_ftrapv); + Args.AddLastArg(CmdArgs, options::OPT_malign_double); if (Arg *A = Args.getLastArg(options::OPT_ftrapv_handler_EQ)) { CmdArgs.push_back("-ftrapv-handler"); diff --git a/clang/test/Driver/malign_double.c b/clang/test/Driver/malign_double.c new file mode 100644 index 0000000000000..2c5cc35ea1941 --- /dev/null +++ b/clang/test/Driver/malign_double.c @@ -0,0 +1,5 @@ +// RUN: %clang -### -malign-double %s 2>&1 | FileCheck %s + +// Make sure -malign-double is passed through the driver. + +// CHECK: "-malign-double"