<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 - Parser stuck in loop after commit 5ad15f4d1c6"
   href="https://bugs.llvm.org/show_bug.cgi?id=49966">49966</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Parser stuck in loop after commit 5ad15f4d1c6
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>new-bugs
          </td>
        </tr>

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

        <tr>
          <th>Hardware</th>
          <td>PC
          </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>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>douglas_yung@playstation.sony.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>htmldeveloper@gmail.com, llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>One of our internal tests hit an issue where the compiler was running for hours
on a test that should compile and give an error in under a second. Judging from
the error messages that the compiler emits, it appears that it is getting stuck
in an infinite loop while parsing.

Consider the following code:

/* test4a.cpp */
[[deprecated([""])]]

Compiled with a good compiler, we expect the following error messages:

$ ~/src/upstream/eb31540066736658a71d7fc1154be8432e553a11-linux/bin/clang -c
test4a.cpp
test4a.cpp:1:15: error: expected variable name or 'this' in lambda capture list
[[deprecated([""])]]
              ^
test4a.cpp:1:21: error: expected ']'
[[deprecated([""])]]
                    ^
                    ]
test4a.cpp:1:21: error: expected ']'
[[deprecated([""])]]
                    ^
                    ]
test4a.cpp:1:21: error: expected external declaration
4 errors generated.

But when built with a compiler built from
5ad15f4d1c6f56d25904265023d123a7d0b9d59d, we end up with the following output:

$ ~/src/upstream/5ad15f4d1c6f56d25904265023d123a7d0b9d59d-linux/bin/clang -c
test4a.cpp
test4a.cpp:1:15: error: expected variable name or 'this' in lambda capture list
[[deprecated([""])]] 
              ^      
test4a.cpp:1:21: error: expected ','
[[deprecated([""])]]
                    ^
                    ,
test4a.cpp:1:21: error: expected ','
[[deprecated([""])]]
                    ^
                    ,
...
<same error is repeated many times>
...
fatal error: too many errors emitted, stopping now [-ferror-limit=]

Ultimately I have to kill the compiler as it just keeps running indefinitely.</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>