diff options
| -rw-r--r-- | clang/lib/Driver/Tools.cpp | 5 | ||||
| -rw-r--r-- | clang/test/Driver/cl-fallback.c | 6 | 
2 files changed, 9 insertions, 2 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 2307713db7c..49d73f678fc 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -7364,6 +7364,11 @@ Command *visualstudio::Compile::GetCommand(Compilation &C, const JobAction &JA,    if (Arg *A = Args.getLastArg(options::OPT_frtti, options::OPT_fno_rtti))      CmdArgs.push_back(A->getOption().getID() == options::OPT_frtti ? "/GR"                                                                     : "/GR-"); +  if (Arg *A = Args.getLastArg(options::OPT_ffunction_sections, +                               options::OPT_fno_function_sections)) +    CmdArgs.push_back(A->getOption().getID() == options::OPT_ffunction_sections +                          ? "/Gy" +                          : "/Gy-");    if (Args.hasArg(options::OPT_fsyntax_only))      CmdArgs.push_back("/Zs");    if (Args.hasArg(options::OPT_g_Flag, options::OPT_gline_tables_only)) diff --git a/clang/test/Driver/cl-fallback.c b/clang/test/Driver/cl-fallback.c index 62a71e9835d..d90e5fa4964 100644 --- a/clang/test/Driver/cl-fallback.c +++ b/clang/test/Driver/cl-fallback.c @@ -4,8 +4,9 @@  // Note: %s must be preceded by --, otherwise it may be interpreted as a  // command-line option, e.g. on Mac where %s is commonly under /Users. -// RUN: %clang_cl /fallback /Dfoo=bar /Ubaz /Ifoo /O0 /Ox /GR /GR- /LD /LDd \ -// RUN:     /MD /MDd /MTd /MT /FImyheader.h /Zi -### -- %s 2>&1 | FileCheck %s +// RUN: %clang_cl /fallback /Dfoo=bar /Ubaz /Ifoo /O0 /Ox /GR /GR- /Gy /Gy- \ +// RUN:   /LD /LDd /MD /MDd /MTd /MT /FImyheader.h /Zi -### -- %s 2>&1 \ +// RUN:   | FileCheck %s  // CHECK: "-fdiagnostics-format" "msvc-fallback"  // CHECK: ||  // CHECK: cl.exe @@ -17,6 +18,7 @@  // CHECK: "-I" "foo"  // CHECK: "/Ox"  // CHECK: "/GR-" +// CHECK: "/Gy-"  // CHECK: "/Z7"  // CHECK: "/FImyheader.h"  // CHECK: "/LD"  | 

