r232439 - GCOV: Expose the -coverage-exit-block-before-body flag in clang -cc1

Nick Lewycky nlewycky at google.com
Mon Mar 16 18:18:09 PDT 2015


On 16 March 2015 at 18:06, Justin Bogner <mail at justinbogner.com> wrote:

> David Blaikie <dblaikie at gmail.com> writes:
> > On Mar 16, 2015 4:57 PM, "Justin Bogner" <mail at justinbogner.com> wrote:
> >>
> >> Author: bogner
> >> Date: Mon Mar 16 18:52:21 2015
> >> New Revision: 232439
> >>
> >> URL: http://llvm.org/viewvc/llvm-project?rev=232439&view=rev
> >> Log:
> >> GCOV: Expose the -coverage-exit-block-before-body flag in clang -cc1
> >>
> >> This exposes the optional exit block placement logic from r232438 as a
> >> clang -cc1 option. There is a test on the llvm side, but there isn't
> >> really a way to inspect the gcov options from clang to test it here as
> >> well.
> >
> > I'm missing something probably - what's the benefit of that over just
> using
> > -mllvm to pass this flag to llvm directly? (If I'm remembering how this
> stuff
> > works)
>
> I'm not sure - I was matching the -coverage-cfg-checksum and
> -coverage-no-function-names-in-data CC1 options here. Maybe Nick has
> thoughts?
>

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.

Nick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150316/1941688f/attachment.html>


More information about the cfe-commits mailing list