<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Thanks!<br>
      --Vassil<br>
      On 22/01/16 20:07, Yaron Keren wrote:<br>
    </div>
    <blockquote
cite="mid:CANa4zJrABSno269Hi9P7hEiAv5ZOs+S_MUjhDGLVYgf4iqAV0Q@mail.gmail.com"
      type="cite">
      <div dir="rtl">
        <div dir="ltr">Committed revision 258524.<br>
        </div>
        <div dir="ltr"><br>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">
          <div dir="ltr">2016-01-21 19:33 GMT+02:00 Vassil Vassilev via
            cfe-commits <span dir="ltr"><<a moz-do-not-send="true"
                href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>></span>:</div>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000">
              <div>ping... (perhaps someone else with commit rights can
                check it it...)<span class="HOEnZb"><font
                    color="#888888"><br>
                    --Vassil</font></span>
                <div>
                  <div class="h5"><br>
                    On 18/01/16 22:07, Vassil Vassilev wrote:<br>
                  </div>
                </div>
              </div>
              <div>
                <div class="h5">
                  <blockquote type="cite">
                    <div>Thanks! Could you check it in?<br>
                      -- Vassil<br>
                      On 18/01/16 21:38, Richard Smith via cfe-commits
                      wrote:<br>
                    </div>
                    <blockquote type="cite">
                      <p dir="ltr">LGTM</p>
                      <div class="gmail_quote">On Jan 18, 2016 12:06 PM,
                        "Vassil Vassilev" <<a moz-do-not-send="true"
                          href="mailto:vvasilev@cern.ch" target="_blank">vvasilev@cern.ch</a>>

                        wrote:<br type="attribution">
                        <blockquote class="gmail_quote" style="margin:0
                          0 0 .8ex;border-left:1px #ccc
                          solid;padding-left:1ex">
                          <div bgcolor="#FFFFFF" text="#000000">
                            <div>Attaching v3 of the patch. Added your
                              case to the current test and fixed my
                              silly non-array mistake.<br>
                              -- Vassil<br>
                              On 18/01/16 20:38, Richard Smith wrote:<br>
                            </div>
                            <blockquote type="cite">
                              <p dir="ltr">Please also add a test case
                                that your old patch would have failed
                                on, such as:</p>
                              <p dir="ltr">m1.h:<br>
                                extern int a[];</p>
                              <p dir="ltr">m2.h:<br>
                                extern int a[5];</p>
                              <p dir="ltr">x.cc:<br>
                                #include "m1.h"<br>
                                #include "m2.h"<br>
                                int *p = a;</p>
                              <div class="gmail_quote">On Jan 18, 2016
                                9:28 AM, "Vassil Vassilev" <<a
                                  moz-do-not-send="true"
                                  href="mailto:vvasilev@cern.ch"
                                  target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:vvasilev@cern.ch">vvasilev@cern.ch</a></a>>


                                wrote:<br type="attribution">
                                <blockquote class="gmail_quote"
                                  style="margin:0 0 0
                                  .8ex;border-left:1px #ccc
                                  solid;padding-left:1ex">On 17/01/16
                                  06:34, Douglas Gregor wrote:<br>
                                  <blockquote class="gmail_quote"
                                    style="margin:0 0 0
                                    .8ex;border-left:1px #ccc
                                    solid;padding-left:1ex">
                                    <blockquote class="gmail_quote"
                                      style="margin:0 0 0
                                      .8ex;border-left:1px #ccc
                                      solid;padding-left:1ex"> On Jan
                                      16, 2016, at 3:41 PM, Vassil
                                      Vassilev <<a
                                        moz-do-not-send="true"
                                        href="mailto:vvasilev@cern.ch"
                                        target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:vvasilev@cern.ch">vvasilev@cern.ch</a></a>>


                                      wrote:<br>
                                      <br>
                                      Hi,<br>
                                        Could somebody review the
                                      attached patch. It fixes <a
                                        moz-do-not-send="true"
                                        href="https://llvm.org/bugs/show_bug.cgi?id=26179"
                                        target="_blank"><a class="moz-txt-link-freetext" href="https://llvm.org/bugs/show_bug.cgi?id=26179">https://llvm.org/bugs/show_bug.cgi?id=26179</a></a><br>
                                      Many thanks!<br>
                                      Vassil<br>
<0001-modules-Teach-clang-to-how-to-merge-variable-redecls.patch><br>
                                    </blockquote>
                                    <br>
                                    +      // We can get decls with
                                    different types on the redecl chain.
                                    Eg.<br>
                                    +      // template <typename
                                    T> struct S { static T Var[]; };
                                    // #1<br>
                                    +      // template <typename
                                    T> T S<T>::Var[sizeof(T)];
                                    // #2<br>
                                    +      // Trying to compare #1 and
                                    #2 should go through their canonical
                                    decls.<br>
                                    +      QualType VarXTy =
                                    VarX->getCanonicalDecl()->getType();<br>
                                    +      QualType VarYTy =
                                    VarY->getCanonicalDecl()->getType();<br>
                                    +      if
                                    (Context.hasSameType(VarXTy,
                                    VarYTy))<br>
                                    +        return true;<br>
                                    <br>
                                    Completing an incomplete array is (I
                                    think) the only case in which this
                                    can happen. How about checking for
                                    that case specifically (i.e., it’s
                                    okay to have one be an incomplete
                                    array and the other to be any other
                                    kind of array with the same element
                                    type), rather than a blanket check
                                    on the canonical declaration types?<br>
                                    <br>
                                            - Doug<br>
                                    <br>
                                  </blockquote>
                                  Thanks for the comments. Patch v2
                                  attached.<br>
                                  -- Vassil<br>
                                </blockquote>
                              </div>
                            </blockquote>
                            <br>
                          </div>
                        </blockquote>
                      </div>
                      <br>
                      <fieldset></fieldset>
                      <br>
                      <pre>_______________________________________________
cfe-commits mailing list
<a moz-do-not-send="true" href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>
<a moz-do-not-send="true" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a>
</pre>
                    </blockquote>
                    <br>
                  </blockquote>
                  <br>
                </div>
              </div>
            </div>
            <br>
            _______________________________________________<br>
            cfe-commits mailing list<br>
            <a moz-do-not-send="true"
              href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
            <a moz-do-not-send="true"
              href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits"
              rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>