<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </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 - Fails to detect redefinition of struct when nesting in C11 program."
   href="https://bugs.llvm.org/show_bug.cgi?id=39928">39928</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Fails to detect redefinition of struct when nesting in C11 program.
          </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>-New Bugs
          </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>htmldeveloper@gmail.com, llvm-bugs@lists.llvm.org, neeilans@live.com, richard-llvm@metafoo.co.uk
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Consider the following C11 program (prog.c):

  int main()
  { 
    struct S { struct S { int a; } b; };
  }

It was compiled with the following command line:

  clang prog.c -std=c11 -pedantic-errors "-w"

The expected behaviour was to get an error about redefinition of the struct S,
but no errors are given. The two struct definitions are in the same scope
(block scope) so they should conflict. There are no struct scopes in C11.

Note that gcc gives the expected error.

Online compiler link: <a href="https://wandbox.org/permlink/JeT9d5XpZLOxJLuj">https://wandbox.org/permlink/JeT9d5XpZLOxJLuj</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>