<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2013/9/3 Rafael Espíndola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank" class="cremed">rafael.espindola@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Is that a test in check-clang? I am building with msvc right now. What<br>
do I have to do to reproduce it?</blockquote><div><br></div><div>clang-cl -fsanitize=address -Fehello.exe hello.cpp</div><div>or even</div><div>clang-cl -Fehello.exe hello.cpp<br></div><div>should do the trick.</div><div>
<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class=""><div class="h5">
On 3 September 2013 10:04, Timur Iskhodzhanov <<a href="mailto:timurrrr@google.com" class="cremed">timurrrr@google.com</a>> wrote:<br>
> Hi Rafael,<br>
><br>
> I believe this has broken clang-cl:<br>
><br>
> clang-cl.exe: warning: argument unused during compilation:<br>
> '--driver-mode=cl'<br>
> clang-cl.exe: warning: argument unused during compilation:<br>
> '-fsanitize=address'<br>
> clang-cl.exe: warning: argument unused during compilation:<br>
> '-Ferealloc_left_oob_crash_test.exe'<br>
><br>
> Please fix or revert.<br>
><br>
><br>
> 2013/9/3 Rafael Espindola <<a href="mailto:rafael.espindola@gmail.com" class="cremed">rafael.espindola@gmail.com</a>><br>
>><br>
>> Author: rafael<br>
>> Date: Tue Sep 3 08:26:49 2013<br>
>> New Revision: 189802<br>
>><br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=189802&view=rev" target="_blank" class="cremed">http://llvm.org/viewvc/llvm-project?rev=189802&view=rev</a><br>
>> Log:<br>
>> Use -### instead of -ccc-print-options.<br>
>><br>
>> Convert the last few tests using -ccc-print-options to -### and remove<br>
>> -ccc-print-options.<br>
>><br>
>> Removed:<br>
>> cfe/trunk/test/Driver/parsing.c<br>
>> Modified:<br>
>> cfe/trunk/include/clang/Driver/Driver.h<br>
>> cfe/trunk/include/clang/Driver/Options.td<br>
>> cfe/trunk/lib/Driver/Driver.cpp<br>
>> cfe/trunk/test/Driver/option-aliases.c<br>
>> cfe/trunk/test/Driver/qa_override.c<br>
>> cfe/trunk/test/Driver/working-directory.c<br>
>><br>
>> Modified: cfe/trunk/include/clang/Driver/Driver.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Driver.h?rev=189802&r1=189801&r2=189802&view=diff" target="_blank" class="cremed">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Driver.h?rev=189802&r1=189801&r2=189802&view=diff</a><br>
>><br>
>> ==============================================================================<br>
>> --- cfe/trunk/include/clang/Driver/Driver.h (original)<br>
>> +++ cfe/trunk/include/clang/Driver/Driver.h Tue Sep 3 08:26:49 2013<br>
>> @@ -318,9 +318,6 @@ public:<br>
>> /// \param ShowHidden - Show hidden options.<br>
>> void PrintHelp(bool ShowHidden) const;<br>
>><br>
>> - /// PrintOptions - Print the list of arguments.<br>
>> - void PrintOptions(const llvm::opt::ArgList &Args) const;<br>
>> -<br>
>> /// PrintVersion - Print the driver version.<br>
>> void PrintVersion(const Compilation &C, raw_ostream &OS) const;<br>
>><br>
>><br>
>> Modified: cfe/trunk/include/clang/Driver/Options.td<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=189802&r1=189801&r2=189802&view=diff" target="_blank" class="cremed">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=189802&r1=189801&r2=189802&view=diff</a><br>
>><br>
>> ==============================================================================<br>
>> --- cfe/trunk/include/clang/Driver/Options.td (original)<br>
>> +++ cfe/trunk/include/clang/Driver/Options.td Tue Sep 3 08:26:49 2013<br>
>> @@ -137,8 +137,6 @@ class InternalDebugOpt : Group<internal_<br>
>> Flags<[DriverOption, HelpHidden]>;<br>
>> def ccc_install_dir : Separate<["-"], "ccc-install-dir">,<br>
>> InternalDebugOpt,<br>
>> HelpText<"Simulate installation in the given directory">;<br>
>> -def ccc_print_options : Flag<["-"], "ccc-print-options">,<br>
>> InternalDebugOpt,<br>
>> - HelpText<"Dump parsed command line arguments">;<br>
>> def ccc_print_phases : Flag<["-"], "ccc-print-phases">, InternalDebugOpt,<br>
>> HelpText<"Dump list of actions to perform">;<br>
>> def ccc_print_bindings : Flag<["-"], "ccc-print-bindings">,<br>
>> InternalDebugOpt,<br>
>><br>
>> Modified: cfe/trunk/lib/Driver/Driver.cpp<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Driver.cpp?rev=189802&r1=189801&r2=189802&view=diff" target="_blank" class="cremed">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Driver.cpp?rev=189802&r1=189801&r2=189802&view=diff</a><br>
>><br>
>> ==============================================================================<br>
>> --- cfe/trunk/lib/Driver/Driver.cpp (original)<br>
>> +++ cfe/trunk/lib/Driver/Driver.cpp Tue Sep 3 08:26:49 2013<br>
>> @@ -58,7 +58,7 @@ Driver::Driver(StringRef ClangExecutable<br>
>> CCPrintOptionsFilename(0), CCPrintHeadersFilename(0),<br>
>> CCLogDiagnosticsFilename(0),<br>
>> CCCPrintBindings(false),<br>
>> - CCPrintOptions(false), CCPrintHeaders(false),<br>
>> CCLogDiagnostics(false),<br>
>> + CCPrintHeaders(false), CCLogDiagnostics(false),<br>
>> CCGenDiagnostics(false), CCCGenericGCCName(""),<br>
>> CheckInputsExist(true),<br>
>> CCCUsePCH(true), SuppressMissingInputWarning(false) {<br>
>><br>
>> @@ -327,7 +327,7 @@ Compilation *Driver::BuildCompilation(Ar<br>
>> // FIXME: What are we going to do with -V and -b?<br>
>><br>
>> // FIXME: This stuff needs to go into the Compilation, not the driver.<br>
>> - bool CCCPrintOptions, CCCPrintActions;<br>
>> + bool CCCPrintActions;<br>
>><br>
>> InputArgList *Args = ParseArgStrings(ArgList.slice(1));<br>
>><br>
>> @@ -343,7 +343,6 @@ Compilation *Driver::BuildCompilation(Ar<br>
>> // should be outside in the client; the parts that aren't should have<br>
>> proper<br>
>> // options, either by introducing new ones or by overloading gcc ones<br>
>> like -V<br>
>> // or -b.<br>
>> - CCCPrintOptions = Args->hasArg(options::OPT_ccc_print_options);<br>
>> CCCPrintActions = Args->hasArg(options::OPT_ccc_print_phases);<br>
>> CCCPrintBindings = Args->hasArg(options::OPT_ccc_print_bindings);<br>
>> if (const Arg *A = Args->getLastArg(options::OPT_ccc_gcc_name))<br>
>> @@ -387,12 +386,6 @@ Compilation *Driver::BuildCompilation(Ar<br>
>> // The compilation takes ownership of Args.<br>
>> Compilation *C = new Compilation(*this, TC, Args, TranslatedArgs);<br>
>><br>
>> - // FIXME: This behavior shouldn't be here.<br>
>> - if (CCCPrintOptions) {<br>
>> - PrintOptions(C->getInputArgs());<br>
>> - return C;<br>
>> - }<br>
>> -<br>
>> if (!HandleImmediateArgs(*C))<br>
>> return C;<br>
>><br>
>> @@ -641,23 +634,6 @@ int Driver::ExecuteCompilation(const Com<br>
>> return 0;<br>
>> }<br>
>><br>
>> -void Driver::PrintOptions(const ArgList &Args) const {<br>
>> - unsigned i = 0;<br>
>> - for (ArgList::const_iterator it = Args.begin(), ie = Args.end();<br>
>> - it != ie; ++it, ++i) {<br>
>> - Arg *A = *it;<br>
>> - llvm::errs() << "Option " << i << " - "<br>
>> - << "Name: \"" << A->getOption().getPrefixedName() <<<br>
>> "\", "<br>
>> - << "Values: {";<br>
>> - for (unsigned j = 0; j < A->getNumValues(); ++j) {<br>
>> - if (j)<br>
>> - llvm::errs() << ", ";<br>
>> - llvm::errs() << '"' << A->getValue(j) << '"';<br>
>> - }<br>
>> - llvm::errs() << "}\n";<br>
>> - }<br>
>> -}<br>
>> -<br>
>> void Driver::PrintHelp(bool ShowHidden) const {<br>
>> unsigned IncludedFlagsBitmask;<br>
>> unsigned ExcludedFlagsBitmask;<br>
>><br>
>> Modified: cfe/trunk/test/Driver/option-aliases.c<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/option-aliases.c?rev=189802&r1=189801&r2=189802&view=diff" target="_blank" class="cremed">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/option-aliases.c?rev=189802&r1=189801&r2=189802&view=diff</a><br>
>><br>
>> ==============================================================================<br>
>> --- cfe/trunk/test/Driver/option-aliases.c (original)<br>
>> +++ cfe/trunk/test/Driver/option-aliases.c Tue Sep 3 08:26:49 2013<br>
>> @@ -1,11 +1,14 @@<br>
>> -// RUN: %clang -ccc-print-options \<br>
>> -// RUN: --save-temps --undefine-macro=FOO --undefine-macro FOO \<br>
>> -// RUN: --param=FOO --output=FOO 2> %t<br>
>> -// RUN: FileCheck --check-prefix=CHECK-OPTIONS < %t %s<br>
>> +// RUN: %clang -### -S \<br>
>> +// RUN: --save-temps --undefine-macro=FOO --undefine-macro BAR \<br>
>> +// RUN: --param=FOO --output=FOO %s 2>&1 | \<br>
>> +// RUN: FileCheck %s<br>
>><br>
>> -// CHECK-OPTIONS: Option 0 - Name: "-ccc-print-options", Values: {}<br>
>> -// CHECK-OPTIONS: Option 1 - Name: "-save-temps", Values: {}<br>
>> -// CHECK-OPTIONS: Option 2 - Name: "-U", Values: {"FOO"}<br>
>> -// CHECK-OPTIONS: Option 3 - Name: "-U", Values: {"FOO"}<br>
>> -// CHECK-OPTIONS: Option 4 - Name: "--param", Values: {"FOO"}<br>
>> -// CHECK-OPTIONS: Option 5 - Name: "-o", Values: {"FOO"}<br>
>> +// CHECK: "-cc1"<br>
>> +// CHECK: "-E"<br>
>> +// CHECK: "-U" "FOO"<br>
>> +// CHECK: "-U" "BAR"<br>
>> +// CHECK: "-o" "option-aliases.i"<br>
>> +<br>
>> +// CHECK-NEXT: "-cc1"<br>
>> +// CHECK: "-S"<br>
>> +// CHECK: "-o" "FOO"<br>
>><br>
>> Removed: cfe/trunk/test/Driver/parsing.c<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/parsing.c?rev=189801&view=auto" target="_blank" class="cremed">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/parsing.c?rev=189801&view=auto</a><br>
>><br>
>> ==============================================================================<br>
>> --- cfe/trunk/test/Driver/parsing.c (original)<br>
>> +++ cfe/trunk/test/Driver/parsing.c (removed)<br>
>> @@ -1,22 +0,0 @@<br>
>> -// RUN: %clang -ccc-print-options input -Yunknown -m32 -arch ppc -djoined<br>
>> -A separate -Ajoined -Wp,one,two -Xarch_joined AndSeparate -sectalign 1 2 3<br>
>> 2> %t<br>
>> -// RUN: grep 'Option 0 - Name: "-ccc-print-options", Values: {}' %t<br>
>> -// RUN: grep 'Option 1 - Name: "<input>", Values: {"input"}' %t<br>
>> -// RUN: grep 'Option 2 - Name: "<unknown>", Values: {"-Yunknown"}' %t<br>
>> -// RUN: grep 'Option 3 - Name: "-m32", Values: {}' %t<br>
>> -// RUN: grep 'Option 4 - Name: "-arch", Values: {"ppc"}' %t<br>
>> -// RUN: grep 'Option 5 - Name: "-d", Values: {"joined"}' %t<br>
>> -// RUN: grep 'Option 6 - Name: "-A", Values: {"separate"}' %t<br>
>> -// RUN: grep 'Option 7 - Name: "-A", Values: {"joined"}' %t<br>
>> -// RUN: grep 'Option 8 - Name: "-Wp,", Values: {"one", "two"}' %t<br>
>> -// RUN: grep 'Option 9 - Name: "-Xarch_", Values: {"joined",<br>
>> "AndSeparate"}' %t<br>
>> -// RUN: grep 'Option 10 - Name: "-sectalign", Values: {"1", "2", "3"}' %t<br>
>> -<br>
>> -// RUN: not %clang -V 2> %t<br>
>> -// RUN: grep "error: argument to '-V' is missing (expected 1 value)" %t<br>
>> -// RUN: not %clang -sectalign 1 2 2> %t<br>
>> -// RUN: grep "error: argument to '-sectalign' is missing (expected 3<br>
>> values)" %t<br>
>> -<br>
>> -// Verify that search continues after find the first option.<br>
>> -// RUN: %clang -ccc-print-options -Wally 2> %t<br>
>> -// RUN: grep 'Option 0 - Name: "-ccc-print-options", Values: {}' %t<br>
>> -// RUN: grep 'Option 1 - Name: "-W", Values: {"ally"}' %t<br>
>><br>
>> Modified: cfe/trunk/test/Driver/qa_override.c<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/qa_override.c?rev=189802&r1=189801&r2=189802&view=diff" target="_blank" class="cremed">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/qa_override.c?rev=189802&r1=189801&r2=189802&view=diff</a><br>
>><br>
>> ==============================================================================<br>
>> --- cfe/trunk/test/Driver/qa_override.c (original)<br>
>> +++ cfe/trunk/test/Driver/qa_override.c Tue Sep 3 08:26:49 2013<br>
>> @@ -1,14 +1,10 @@<br>
>> -// RUN: env QA_OVERRIDE_GCC3_OPTIONS="#+-Os +-Oz +-O +-O3 +-Oignore +a +b<br>
>> +c xb Xa Omagic ^-ccc-print-options " %clang x -O2 b -O3 2>&1 | FileCheck<br>
>> %s<br>
>> +// RUN: env QA_OVERRIDE_GCC3_OPTIONS="#+-Os +-Oz +-O +-O3 +-Oignore +a +b<br>
>> +c xb Xa Omagic ^-### " %clang %s -O2 b -O3 2>&1 | FileCheck %s<br>
>> // RUN: env QA_OVERRIDE_GCC3_OPTIONS="x-Werror +-mfoo" %clang -Werror %s<br>
>> -c -### 2>&1 | FileCheck %s -check-prefix=RM-WERROR<br>
>><br>
>> -// FIXME: It seems doesn't work with gcc-driver.<br>
>> -// REQUIRES: clang-driver<br>
>> -<br>
>> -// CHECK-NOT: ###<br>
>> -// CHECK: Option 0 - Name: "-ccc-print-options", Values: {}<br>
>> -// CHECK-NEXT: Option 1 - Name: "<input>", Values: {"x"}<br>
>> -// CHECK-NEXT: Option 2 - Name: "-O", Values: {"ignore"}<br>
>> -// CHECK-NEXT: Option 3 - Name: "-O", Values: {"magic"}<br>
>> +// CHECK: "-cc1"<br>
>> +// CHECK-NOT: "-Oignore"<br>
>> +// CHECK: "-Omagic"<br>
>> +// CHECK-NOT: "-Oignore"<br>
>><br>
>> // RM-WERROR: ### QA_OVERRIDE_GCC3_OPTIONS: x-Werror +-mfoo<br>
>> // RM-WERROR-NEXT: ### Deleting argument -Werror<br>
>><br>
>> Modified: cfe/trunk/test/Driver/working-directory.c<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/working-directory.c?rev=189802&r1=189801&r2=189802&view=diff" target="_blank" class="cremed">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/working-directory.c?rev=189802&r1=189801&r2=189802&view=diff</a><br>
>><br>
>> ==============================================================================<br>
>> --- cfe/trunk/test/Driver/working-directory.c (original)<br>
>> +++ cfe/trunk/test/Driver/working-directory.c Tue Sep 3 08:26:49 2013<br>
>> @@ -1,4 +1,3 @@<br>
>> -// RUN: %clang -ccc-print-options -working-directory "C:\Test" input 2>&1<br>
>> | FileCheck %s<br>
>> -// CHECK: Option 0 - Name: "-ccc-print-options", Values: {}<br>
>> -// CHECK: Option 1 - Name: "-working-directory", Values: {"C:\Test"}<br>
>> -// CHECK: Option 2 - Name: "<input>", Values: {"input"}<br>
>> +// RUN: %clang -### -working-directory /no/such/dir/ input 2>&1 |<br>
>> FileCheck %s<br>
>> +<br>
>> +//CHECK: no such file or directory: '/no/such/dir/input'<br>
>><br>
>><br>
>> _______________________________________________<br>
>> cfe-commits mailing list<br>
>> <a href="mailto:cfe-commits@cs.uiuc.edu" class="cremed">cfe-commits@cs.uiuc.edu</a><br>
>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank" class="cremed">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
><br>
><br>
</div></div></blockquote></div><br></div></div>