[PATCH] D72982: [Clang] Un-break scan-build after integrated-cc1 change

Gábor Horváth via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jan 21 10:39:24 PST 2020


xazax.hun added a comment.

In D72982#1831817 <https://reviews.llvm.org/D72982#1831817>, @hans wrote:

> In D72982#1831648 <https://reviews.llvm.org/D72982#1831648>, @xazax.hun wrote:
>
> > In D72982#1831595 <https://reviews.llvm.org/D72982#1831595>, @hans wrote:
> >
> > > Wait, do we really want the "(in-process)" marker to be written to a separate line? I'm not sure that we do.
> >
> >
> > Since the `-###` command had this property of emitting copy pastable `-cc1` invocations I would be surprised if `scan-build` would be the only tool/script to rely on this. Whatever fix we come up with I think it would be great to maintain this property.
>
>
> The way I see it, the purpose of -### was only ever for debugging and testing. If tools are parsing it, they need to deal with changes to the format. The cc1 interface is also not stable, so such tools should probably be used to adapting.
>
> I think in this case, it would be better to fix scan-build to handle the prefix. Also, doesn't it need to do that anyway if it's printed on a separate line?


Due to some unfortunate historical reasons fixing scan-build means fixing 3 separate code bases. We have the original scan-build written in perl, a python rewrite both checked-in in the LLVM repository, and on github. And the two versions are not the same as the author lost interest upstreaming it halfway through. Since the github version is available in pip (and it has a relatively large number of downloads), we are likely to have customers from all three sources. That being said it is not unreasonable to fix all of them it is just a bit more complicated than committing one more patch to the LLVM repository.

In case it is printed on a separate line the current parsing happens to work in all versions of scan-build and this seemed to be an easier way forward because of the reasons I described above (no need to push patches to 3rd party github repository to keep users happy).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D72982/new/

https://reviews.llvm.org/D72982





More information about the cfe-commits mailing list