<div style="font-family: arial, helvetica, sans-serif; font-size: 10pt"><div dir="ltr"><div class="gmail_default" style>On Tue, Dec 18, 2012 at 11:51 PM, Kostya Serebryany <span dir="ltr"><<a href="mailto:kcc@google.com" target="_blank" class="cremed">kcc@google.com</a>></span> wrote:<br>
</div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="font-family:arial,helvetica,sans-serif;font-size:10pt">
<br><br><div class="gmail_quote"><div><div class="h5">On Wed, Dec 19, 2012 at 11:45 AM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank" class="cremed">dblaikie@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>On Tue, Dec 18, 2012 at 11:39 PM, Kostya Serebryany <<a href="mailto:kcc@google.com" target="_blank" class="cremed">kcc@google.com</a>> wrote:<br>


><br>
><br>
> On Wed, Dec 19, 2012 at 11:31 AM, David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank" class="cremed">dblaikie@gmail.com</a>> wrote:<br>
>><br>
>> On Tue, Dec 18, 2012 at 11:26 PM, Dmitry Vyukov <<a href="mailto:dvyukov@google.com" target="_blank" class="cremed">dvyukov@google.com</a>><br>
>> wrote:<br>
>> > On Wed, Dec 19, 2012 at 11:05 AM, David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank" class="cremed">dblaikie@gmail.com</a>><br>
>> > wrote:<br>
>> >><br>
>> >> On Tue, Dec 18, 2012 at 11:03 PM, Dmitry Vyukov <<a href="mailto:dvyukov@google.com" target="_blank" class="cremed">dvyukov@google.com</a>><br>
>> >> wrote:<br>
>> >> > Hi,<br>
>> >> ><br>
>> >> > I've fixed the -Wgnu warnings and added -Wgnu to our presubmit<br>
>> >> > checks:<br>
>> >><br>
>> >> Thanks - though, I'm confused, why would you need to add -Wgnu<br>
>> >> anywhere? I was already seeing these warnings (as errors) with Clang<br>
>> >> ToT.<br>
>> >><br>
>> ><br>
>> > Normal build does not do all the checks we need (e.g. check for large<br>
>> > stack<br>
>> > frames, build with both gcc and clang, build Go runtime syso file, check<br>
>> > lint warnings, check parameters of generated machine code, etc).<br>
>><br>
>> Rather than adding things incrementally to your custom build - perhaps<br>
>> it'd be best to invoke the actual build from your custom build to<br>
>> verify that it's still clean? (granted I run the CMake + Ninja build,<br>
>> and as with the rest of the LLVM project, it's not expected that<br>
>> developers verify both kinds of builds at all times, but both the<br>
>> CMake and configure+make builds are kept in sync by their maintainers<br>
>> to the best of their ability so keeping one clean should keep the<br>
>> other clean assuming you're not directly touching the build files - so<br>
>> running at least one of these in your build validation pipeline would<br>
>> be rather helpful, rather than trying to replicate the specific flag<br>
>> set, etc, there)<br>
><br>
><br>
> Alexey is going to add a clang self-hosting build to our bots (post-commit<br>
> checking).<br>
> Our scripts in tsan-rt do tsan-specific pre-commit checking for tsan-rt<br>
> only.<br>
<br>
</div></div>Sorry, I'm still a bit confused/missing something. Essentially what<br>
I'm trying to understand/correct is:<br>
<br>
what did I do to build compiler-rt that's different from what you guys<br>
are doing?<br>
<br>
My assumption is it's just that I'm selfhosting Clang and you aren't.<br></blockquote><div><br></div></div></div><div>Correct. We mostly used the default build settings which imply using gcc as the host compiler. </div>
<div>
If we start using clang as the host compiler, we may break the gcc-based build as easily. </div><div>If we start using both it will slowdown the local testing time. Still possible. </div><div>Does anyone else use both gcc and clang before commits?</div>
</div></div></blockquote><div><br></div><div style>The overwhelming majority of developers on both Clang and LLVM use Clang exclusively for development, and rely on build bots to catch regressions with GCC.</div><div style>
<br></div><div style>We try to add warnings to Clang (or turn warnings off in GCC) to minimize the space where this happens, and so far it's been a fairly successful pattern. The number of GCC breakages is maybe 2 or 3 times per week for all of LLVM and Clang, so easily under 1% of commits.</div>
<div style><br></div><div style>-Chandler</div></div></div></div></div>