<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW " title="NEW --- - Program with chaining of using-declarations - Missing diagnostic message" href="https://urldefense.proofpoint.com/v2/url?u=https-3A__llvm.org_bugs_show-5Fbug.cgi-3Fid-3D24029&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=pF93YEPyB-J_PERP4DUZOJDzFVX5ZQ57vQk33wu0vio&m=tR2wWzQPVits0BjB5qffK-_PUX4hbPgf9wAxHgZEjtI&s=vtQVkAI2LEpo9aizQ4Xw9NSEqjVcBdfJz8yRp7RiD-Q&e=">24029</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Program with chaining of using-declarations - Missing diagnostic message
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>clang
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>C++
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedclangbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>anders.granlund.0@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>dgregor@apple.com, llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>The following program should produce a diagnostic message when trying to
compile it: 

  namespace X { int i; }

  namespace Y { using X::i; }

  int main() { using X::i; using Y::i; }

This because it violates ยง7.3.3/10 of the c++ standard:

  <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__eel.is_c-2B-2Bdraft_basic.namespace-23namespace.udecl-2D10&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=pF93YEPyB-J_PERP4DUZOJDzFVX5ZQ57vQk33wu0vio&m=tR2wWzQPVits0BjB5qffK-_PUX4hbPgf9wAxHgZEjtI&s=g6ijwZfFq3hFa2bHa45NFGZPxth2j5zLDT1t2e3knkI&e=">http://eel.is/c++draft/basic.namespace#namespace.udecl-10</a>.

The diagnostic message is missing. GCC gives a diagnostic message for this
program, but clang does not.

Stack overflow post confirming the bug:

 
<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__stackoverflow.com_questions_31224886_program-2Dwith-2Dchaining-2Dof-2Dusing-2Ddeclarations-2Dcompiles-2Don-2Dmsvs-2Dand-2Dclang-2Dbut-2Dnot-2Do&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=pF93YEPyB-J_PERP4DUZOJDzFVX5ZQ57vQk33wu0vio&m=tR2wWzQPVits0BjB5qffK-_PUX4hbPgf9wAxHgZEjtI&s=C6FfJIiU-cSbTv7kDkXrFlkEgo4BOn1RndnO0-IceG0&e=">http://stackoverflow.com/questions/31224886/program-with-chaining-of-using-declarations-compiles-on-msvs-and-clang-but-not-o</a></pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>