<div dir="ltr"><div><div>>><span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:13px"> The assembly parser does not parse the ARM-ELF directives.</span></div></div><span style="font-family:arial,sans-serif;font-size:13px">> Is this for inline asm?</span><br>

<div style><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div style><span style="font-family:arial,sans-serif;font-size:13px">Yep</span></div><div style><span style="font-family:arial,sans-serif;font-size:13px"><br>

</span></div><div style><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div style><div class="im" style="font-family:arial,sans-serif;font-size:13px"><div>>> $ echo "void a(){}" | clang -target arm-none-linux-gnueabi -mllvm -arm-enable-ehabi -integrated-as -c -xc -<br>

>>Not implemented yet</div><div>> <span style="color:rgb(34,34,34)">Seems to work for me... ;)</span></div></div></div><div style><font face="arial, sans-serif"><br></font></div><div style><font face="arial, sans-serif">I see this just recently changed.  I just confirmed the issue is in the 'release_32' branch, but not in 'master'.</font></div>

<div style><div class="im" style="font-family:arial,sans-serif;font-size:13px"><div><br></div><div> <br>>> There are -Wa options that the integrated assembler does not recognize.</div><div>> <span style="color:rgb(34,34,34)">That's not really a problem and will *always* be that way.</span></div>

<div><span style="color:rgb(34,34,34)"><br></span></div></div></div><div style><font face="arial, sans-serif">What I'd prefer to see is if the integrated-as doesn't recognize the option, clang should report a warning and switch to the 'no-integrated-as' path.  Thoughts?</font></div>

<div style><font face="arial, sans-serif"><br></font></div><div style><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div style><span style="font-family:arial,sans-serif;font-size:13px">> I think the key question </span><span style="font-family:arial,sans-serif;font-size:13px">is over the directives LLVM itself decides to generate as a result of</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">Clang invocations</span><font face="arial, sans-serif"><br></font></div><div style><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div style>

<span style="font-family:arial,sans-serif;font-size:13px">I agree that's the more important question, but shouldn't we be able to throw hand-written assembly files at clang too?</span></div><div style><span style="font-family:arial,sans-serif;font-size:13px"><br>

</span></div><div style><font face="arial, sans-serif">It'd be nice to assert that clang can consume its own generated assembly.  </font><span style="font-family:arial,sans-serif">Check this out (for brevity, assumes arm target is the default):</span></div>

<div style><font face="arial, sans-serif"><br></font></div><div style><span style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:13px">$ echo "void a(){}" | clang -x c -S - -o - | clang -x assembler -c - -integrated-as</span></div>

<div style><stdin>:2:2: error: unknown directive</div><div style>.eabi_attribute 6, 2</div><div style><br></div><div style><br></div><div style><span style="font-family:arial,sans-serif;font-size:13px">> Does anyone know of actual </span><span style="font-family:arial,sans-serif;font-size:13px">clang regressions that would be triggered?</span><span style="font-family:arial,sans-serif;font-size:13px"><br>

</span></div><div style><br></div><div style>I haven't seen any serious issues.  Just little things like getting "unsupported argument" if you throw it: "<span style="font-family:arial,sans-serif">-Wa,-mimplicit-it=always".</span></div>

<div style><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div style><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div style><span style="font-family:arial,sans-serif;font-size:13px">> I'd like to see integrated-as enabled as soon as it </span><span style="font-family:arial,sans-serif;font-size:13px">reasonably can be</span><span style="font-family:arial,sans-serif;font-size:13px"><br>

</span></div><div style><font face="arial, sans-serif"><br></font></div><div style><font face="arial, sans-serif">I agree, but if you do it today, some builds will certainly choke at compile-time.  Chromium serves as a nice big workload that currently builds with a very recent version of Clang.  As is, that build will go down if you switched the default on them.</font></div>

<div style><br></div><div style>Thanks,</div><div style><font face="arial, sans-serif">Greg</font></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Feb 5, 2013 at 1:56 PM, Tim Northover <span dir="ltr"><<a href="mailto:t.p.northover@gmail.com" target="_blank">t.p.northover@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Greg,<br>
<br>
I'd also like to see the integrated assembler enabled, though I'm only<br>
very weakly connected to the 32-bit backend.<br>
<div class="im"><br>
> 1) The assembly parser does not parse the ARM-ELF directives.<br>
<br>
</div>Renato asked about inline assembly here, but I think the key question<br>
is over the directives LLVM itself decides to generate as a result of<br>
Clang invocations. I had a very brief encounter last year which<br>
suggested this path was in place.<br>
<br>
Is there anything you're aware of that's missing along that route? If<br>
there is, I think there's a good chance we can invest some time in<br>
fixing it.<br>
<br>
In general terms, I'd like to see integrated-as enabled as soon as it<br>
reasonably can be. Relying on gas is icky. Does anyone know of actual<br>
clang regressions that would be triggered?<br>
<br>
Cheers.<br>
<span class="HOEnZb"><font color="#888888"><br>
Tim<br>
</font></span></blockquote></div><br></div>