<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body>
    <div class="moz-cite-prefix">Ahhh, now I see.<br>
      It seems your patch is missing tests for MS compatibility mode
      (both Sema and CodeGen). If you need to check something on Windows
      I can help you with it.<br>
      <pre class="moz-signature" cols="72">Best regards,
Alexey Bataev
=============
Software Engineer
Intel Compiler Team
Intel Corp. </pre>
      12.02.2015 21:57, Ben Langmuir пишет:<br>
    </div>
    <blockquote
      cite="mid:E6AE2F66-6A8E-4593-8A5E-015AB7A9CCB9@apple.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <div class="">I tried to replicate the way the existing ‘missing
        typename’ diagnostic behaved for MSVC compatibility.  Is there
        something more that needs to be done here?  I’m not sure how I
        can verify that the resulting IR is correct on Windows,
        though...</div>
      <div class=""><br class="">
      </div>
      <div class="">
        <blockquote type="cite" class="">
          <div class="">+void
            Sema::diagnoseMissingTypename(IdentifierInfo *II,
            SourceLocation IILoc,</div>
          <div class="">+                                   Scope *S,
            CXXScopeSpec *SS) {</div>
          <div class="">+  unsigned DiagID = diag::err_typename_missing;</div>
          <div class="">+  if (getLangOpts().MSVCCompat &&
            isMicrosoftMissingTypename(SS, S))</div>
          <div class="">+    DiagID = diag::ext_typename_missing;</div>
        </blockquote>
        <br class="">
      </div>
      <div class="">Ben</div>
      <div class=""><br class="">
      </div>
      <div>
        <blockquote type="cite" class="">
          <div class="">On Feb 11, 2015, at 7:34 PM, Bataev, Alexey <<a
              moz-do-not-send="true" href="mailto:a.bataev@gmx.com"
              class="">a.bataev@gmx.com</a>> wrote:</div>
          <br class="Apple-interchange-newline">
          <div class="">
            <meta content="text/html; charset=UTF-8"
              http-equiv="Content-Type" class="">
            <div bgcolor="#FFFFFF" text="#000000" class="">
              <div class="moz-cite-prefix">Hi Ben,<br class="">
                I don't think your patch is compatible with MSVC. MSVC
                accepts this code and clang should accept it and
                generate proper LLVM IR. Actually, you can run into
                similar code in MSVC system headers. That's the main
                problem<br class="">
                <pre class="moz-signature" cols="72">Best regards,
Alexey Bataev
=============
Software Engineer
Intel Compiler Team
Intel Corp. </pre>
                11.02.2015 20:37, Ben Langmuir пишет:<br class="">
              </div>
              <blockquote
                cite="mid:%3CD464E701-0272-419E-8AB6-A23596A58CFA@apple.com%3E"
                type="cite" class="">
                <meta http-equiv="Content-Type" content="text/html;
                  charset=UTF-8" class="">
                Ping
                <div class=""><br class="">
                  <div class="">
                    <blockquote type="cite" class="">
                      <div class="">On Jan 26, 2015, at 9:08 AM, Ben
                        Langmuir <<a moz-do-not-send="true"
                          href="mailto:blangmuir@apple.com" class="">blangmuir@apple.com</a>>
                        wrote:</div>
                      <br class="Apple-interchange-newline">
                      <div class="">
                        <meta http-equiv="Content-Type"
                          content="text/html; charset=UTF-8" class="">
                        <div style="word-wrap: break-word;
                          -webkit-nbsp-mode: space; -webkit-line-break:
                          after-white-space;" class="">This patch
                          diagnoses a missing ‘typename’ keyword on
                          nested template types like
                          A<T>::B<U>, to fix <a
                            moz-do-not-send="true"
                            href="http://llvm.org/pr16909" class="">llvm.org/pr16909</a>.
                          In addition to fixing an accepts-invalid, in
                          C++11 such types would cause assertion
                          failures and/or invalid LLVM IR when used with
                          ‘auto’.
                          <div class=""><br class="">
                          </div>
                          <div class="">I’m not 100% sure if the changes
                            to
                            test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.cpp
                            are desirable, or if we should suppress the
                            missing ‘typename’ diagnostic when we’re
                            already recovering on
                            X<T>::X<T>.  I’m open to
                            suggestions :-)</div>
                          <div class=""><br class="">
                          </div>
                          <div class="">Ben</div>
                          <div class=""><br class="">
                          </div>
                        </div>
                        <span
                          id="cid:F07AC0C3-0C93-4BAC-9DA0-7121ACA68F5D@apple.com"
                          class=""><pr16909.patch></span>
                        <meta http-equiv="Content-Type"
                          content="text/html; charset=UTF-8" class="">
                      </div>
                    </blockquote>
                  </div>
                  <br class="">
                </div>
              </blockquote>
              <br class="">
            </div>
          </div>
        </blockquote>
      </div>
      <br class="">
    </blockquote>
    <br>
  </body>
</html>