<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Sep 13, 2019, 7:02 AM Martin Storsjö via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
In my setups with clang, I'm using a thin frontend wrapper which passes a <br>
bunch of custom defaults (allowing using any stock clang executable, <br>
without requiring it to be built with CLANG_DEFAULT_* set to my desired <br>
state). The main set of flags I currently use is this:<br>
<br>
-target $TARGET -rtlib=compiler-rt -stdlib=libc++ -fuse-ld=lld <br>
-fuse-cxa-atexit<br>
<br>
<br>
Many of them are silent (like -fuse-ld=lld despite only compiling, not <br>
linking), but e.g. -stdlib=libc++ is considered unused if compiling C <br>
code. (Just looking at the driver name, clang vs clang++, isn't enough for <br>
deciding to omit it; it could also be "clang -x c++" etc, and I'd prefer <br>
not to try to deduce that in the wrapper.)<br>
<br>
In some cases it also adds a few -D and -Wl,-l<lib>, where the -Wl,-l also <br>
warns while compiling.<br>
<br>
To mitigate this, I'm also adding -Qunused-arguments, which works fine, <br>
but is a bit too overreaching.<br>
<br>
Would it make sense to add some mechanism to flag these arguments as <br>
default ones that clang shouldn't warn about being unused?<br>
<br>
That could be something like --start-no-unused-arguments <args> <br>
--end-no-unused-arguments.<br>
<br>
I know about the clang config files, which also allows setting default <br>
flags, which are exempt from unused warnings, and I've tried that, but for <br>
various reasons I'm still more comfortable with setting them via a <br>
wrapper. (E.g. on windows, the config file setup would require having N <br>
copies of clang.exe, one for each triple combination, while I currently <br>
can do with just copies of the wrapper and one single clang.exe.)<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">Why not just have the wrapper script use a config file? E.g. have it call `clang --config whatever.conf`?</div><div dir="auto"><br></div></div>