[PATCH] D68554: [clang-format] Proposal for clang-format to give compiler style warnings

MyDeveloperDay via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Oct 13 03:50:33 PDT 2019


MyDeveloperDay added a comment.

> I've reverted this for now to green up the bots.
> 
> For the reland, did y'all consider the impact of this on clang-format build time (it now depends on Frontend and hence on Driver and Sema, and Sema is slow to build) and binary size (it's now basically impossible to ever get the diagnostics tables in clang-format gc'd by the linker)?
> 
> It might make sense to instead use LLVM's diag stuff (instead of clang's) since all the actual diags will be disjoint.

Thanks for doing this, I am struggling to find the MacOS bot log that failed, are any available via Buildbot? (I notice the log looks like your own machine)

I did a quick test, with the backed out change and it's ~200KB bigger with this revision on windows. (that's probably an assertion, debug build) as the last one in the LLVM snapshot builds is only 3,518,976 bytes

  -rwxr-xr-x 1 None 15369728 Oct 12 17:36 clang-format-diags.exe
  -rwxr-xr-x 1 None 15080960 Oct 13 10:44 clang-format.exe

on my machine, the current release size is just 2,708,480 bytes (I'm using VS2017) - (not sure why its smaller)

`-rwxr-xr-x 1 None 2708480 Oct 13 11:00 clang-format.exe`

`make clang-format` build speed with reverted change is 4m12.504s  (Release build from clean)

`-rwxr-xr-x 1 None 2817024 Oct 13 11:22 clang-format.exe (117KB larger)`

`make clang-format` build speed with unreverted change is 4m51.504s  (Release build from clean)

Rebuilding when nothing to rebuild goes from from 5 seconds to 6.7

So as you said it will be a little slower to build clang-format, however, I do notice that all the other clang/tools are pretty much are all building with Frontend. so anyone building a larger range of clang tools probably has everything already built.

I think the main build failure was just the lit tests, I think i would prefer to fix those and reland this as-is, then look for a better diags solution if @klimek thinks this is something I should be concerned about. I really wanted to be able to use a standard Diagnostic front end with all the support for console coloring etc...I'll have to take a look at LLVM's diagnostics to see how that is done.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D68554





More information about the cfe-commits mailing list