<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 01/03/2018 11:25 AM, James Y Knight
      via llvm-dev wrote:<br>
    </div>
    <blockquote
cite="mid:CAA2zVHoPrSj_4dNRxWLXzExUiUqzkSBq6E0zo2-4YVKdFONUpw@mail.gmail.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">On Wed, Jan 3, 2018 at 12:24 PM,
            James Y Knight <span dir="ltr"><<a
                moz-do-not-send="true" href="mailto:jyknight@google.com"
                target="_blank">jyknight@google.com</a>></span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div dir="ltr">I'd like to propose that trunk always have
                a version number which is in between versions used by
                the previous release branch, and before the versions
                used in the next release branch.</div>
            </blockquote>
            <div><br>
            </div>
            <div>Oops, I misphrased that -- I meant to say "which is <i>after</i> versions
              used by the previous release branch, and before the
              versions used in the next release branch."<br>
              <br class="gmail-Apple-interchange-newline">
            </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div dir="ltr">
                <div><br>
                </div>
                <div>Right now, trunk is sharing the 7.0.0 number, which
                  will also be used by the next release 4 months from
                  now. Since some people use and release snapshots of
                  clang from trunk (e.g. the Android NDK), it'd be
                  helpful to be able to more reliably distinguish this.
                  <div>
                    <div><br>
                    </div>
                    <div>This is both confusing in general, and means
                      that if you're writing an #if checking the version
                      (which of course ought to be avoided when
                      possible, but is sometimes the best answer), it is
                      more difficult than it needs to be to do the right
                      thing.<br>
                    </div>
                    <div><br>
                    </div>
                    <div>E.g., a check like this will erroneously think
                      that trunk, now, is Clang 7, and has fixed this
                      hypothetical bug.</div>
                    <div>#if __clang_major__ >= 7</div>
                    <div>// Do something which was buggy before Clang 7.</div>
                    <div>#endif</div>
                    <div><br>
                    </div>
                    <div>
                      <div>I see a couple alternatives for improving
                        this:</div>
                      <div><br>
                      </div>
                      <div>1. Change the way we version trunk.</div>
                      <div><br>
                      </div>
                      <div>After creating release branch for X.0, change
                        trunk to version X.99 instead of (X+1).0. Thus,
                        trunk would always have a .99 minor release. The
                        release branch would be incremented from X.99 to
                        (X+1).0 upon creation.</div>
                      <div><br>
                      </div>
                      <div><span style="font-family:monospace,monospace">6.99.0-------7.99.0-----------<wbr>-----8.99.0------...</span><br>
                      </div>
                      <div><font face="monospace, monospace">         
                           \-7.0.0----7.0.1      \-8.0.0----8.0.1</font></div>
                      <div><br>
                      </div>
                      <div>2. Change the minor version of the first
                        release.</div>
                      <div><br>
                      </div>
                      <div>Leave trunk as X.0 as now, but on the release
                        branch, increment the version to X.1.</div>
                    </div>
                    <div><br>
                    </div>
                    <div>
                      <div
style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><span
                          style="font-family:monospace,monospace">7.0.0--------8.0.0------------<wbr>-----9.0.0------...</span><br>
                      </div>
                      <div
style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><font
                          face="monospace, monospace">         
                           \-7.1.0----7.1.1      \-8.1.0----8.1.1</font></div>
                    </div>
                  </div>
                  <div><br>
                  </div>
                </div>
                <div><span
style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">I'd
                    marginally favor #2, because that's similar to how
                    GCC is doing it now, but what do others think?</span><br>
                </div>
              </div>
            </blockquote>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    I'm in favor of doing one of these two things. I have a slight
    preference for (1), because I think that will be less confusing to
    users, and prevents us from having to talk about "something point
    one", instead of just "something", as the release version.<br>
    <br>
     -Hal<br>
    <br>
    <blockquote
cite="mid:CAA2zVHoPrSj_4dNRxWLXzExUiUqzkSBq6E0zo2-4YVKdFONUpw@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <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 dir="ltr">
                <div><br>
                </div>
              </div>
            </blockquote>
          </div>
          <br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre>
  </body>
</html>