<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 --- - With integrated assembler enabled, fail to fetch version string of assembler" href="https://urldefense.proofpoint.com/v2/url?u=https-3A__llvm.org_bugs_show-5Fbug.cgi-3Fid-3D24200&d=AwMBaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=pF93YEPyB-J_PERP4DUZOJDzFVX5ZQ57vQk33wu0vio&m=NUWdoXvADAlEvrBillDi1YORYjIBCKQ54dVfqG4Tv_c&s=DmkhouFYsHQnPrhmyQ-2iuq5q7naeJWi9Tnhxofxclc&e=">24200</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>With integrated assembler enabled, fail to fetch version string of assembler
          </td>
        </tr>

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

        <tr>
          <th>Version</th>
          <td>3.6
          </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>Driver
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>noloader@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>We have a GNU makefile that mostly configures itself on the fly. The makefile
has tests like:

   GAS219_OR_LATER := $(shell $(CXX) -xc -c /dev/null -Wa,-v -o/dev/null 2>&1 |
$(EGREP) -i -c "GNU assembler version (2\.19|2\.[2-9]|[3-9])")

Later, if `GAS219_OR_LATER` is defined, then code paths that utilize SSE, SSE2,
SSE3, double-quad word multiply, AES-NI, etc are utilized.

However, clang does not return a version in response to the query. Rather, it
just errors out:

    $ clang++ -xc -c /dev/null -Wa,-v -o/dev/null 2>&1
    clang: error: unsupported argument '-v' to option 'Wa,'

This is how the assembler is supposed to react (give or take) when running it
through the GCC compiler driver:

    $ g++ -xc -c /dev/null -Wa,-v -o/dev/null 2>&1
    GNU assembler version 2.24 (x86_64-linux-gnu) using BFD version (GNU
Binutils for Ubuntu) 2.

Determining the assembler and its version is critical to us due to  issues like
<a class="bz_bug_link 
          bz_status_REOPENED " title="REOPENED --- - don't err on &quot;.att_syntax prefix&quot;" href="show_bug.cgi?id=18916">https://llvm.org/bugs/show_bug.cgi?id=18916</a>.

Please consume `-Wa,-v`, and please return a string to identify the integrated
assembler.</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>