<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 - [AMDGPU][MC] Assembler produces multiple error messages for a single error"
   href="https://bugs.llvm.org/show_bug.cgi?id=46907">46907</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[AMDGPU][MC] Assembler produces multiple error messages for a single error
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </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>enhancement
          </td>
        </tr>

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

        <tr>
          <th>Component</th>
          <td>Backend: AMDGPU
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>dpreobrazhensky@luxoft.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>There are many cases when assembler produces 2 or even 3 error messages when an
error occurs. For example, the code shown below

    s_waitcnt vmcnt(0) & expcnt(0) x(0)

result in the following plethora of messages:

    _test.s:1:32: error: invalid counter name x
    s_waitcnt vmcnt(0) & expcnt(0) x(0)
                                   ^
    _test.s:1:35: error: unknown token in expression
    s_waitcnt vmcnt(0) & expcnt(0) x(0)
                                      ^
    _test.s:1:35: error: failed parsing operand.
    s_waitcnt vmcnt(0) & expcnt(0) x(0)
                                      ^

The first message is the most specific while second and third messages are
rather generic and do not help in understanding of error reason.

Moreover, having several error messages per instruction may lead to subtle
issues in lit tests where errors generated for one instruction interfere with
testing of subsequent instructions and may result in some failures being
hidden.

In summary, cases with multiple error messages should be analyzed and corrected
to produce just one most specific message.</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>