<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 16 March 2015 at 18:06, Justin Bogner <span dir="ltr"><<a href="mailto:mail@justinbogner.com" target="_blank">mail@justinbogner.com</a>></span> wrote:<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"><span class="">David Blaikie <<a href="mailto:dblaikie@gmail.com">dblaikie@gmail.com</a>> writes:<br>
> On Mar 16, 2015 4:57 PM, "Justin Bogner" <<a href="mailto:mail@justinbogner.com">mail@justinbogner.com</a>> wrote:<br>
>><br>
>> Author: bogner<br>
>> Date: Mon Mar 16 18:52:21 2015<br>
>> New Revision: 232439<br>
>><br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=232439&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=232439&view=rev</a><br>
>> Log:<br>
>> GCOV: Expose the -coverage-exit-block-before-body flag in clang -cc1<br>
>><br>
>> This exposes the optional exit block placement logic from r232438 as a<br>
>> clang -cc1 option. There is a test on the llvm side, but there isn't<br>
>> really a way to inspect the gcov options from clang to test it here as<br>
>> well.<br>
><br>
> I'm missing something probably - what's the benefit of that over just using<br>
> -mllvm to pass this flag to llvm directly? (If I'm remembering how this stuff<br>
> works)<br>
<br>
</span>I'm not sure - I was matching the -coverage-cfg-checksum and<br>
-coverage-no-function-names-in-data CC1 options here. Maybe Nick has<br>
thoughts?<br></blockquote><div><br></div><div>LLVM flags are global state which will carry from one TU to the next. Suppose you want to use clang as a library, and you want to pass flags for one TU, then parse another TU with different flags. It is an error to set the same LLVM flag twice, so that will terminate your program. In general the -mllvm flags are bad news and we should get rid of all of them and certainly not add new ones.</div><div><br></div><div>Nick</div></div></div></div>