Hi James,<br><br>Your fix is working for me. Thanks a lot. The new issue is that now clang displays following message:<br>$ ./clang++ ~/q.cpp -o ~/q<br>clang-2: warning: unknown platform, assuming -mfloat-abi=soft<br>'+soft-float' is not a recognized feature for this target (ignoring feature)<br>
<br>I would assume that if soft-float is not recognized for this target (ie. sparc) a hardware floating point operations should be used in first place and we shouldn't even try to use soft-float. Do you know what is the status of sparc target support? Does it support floating point operations or not?<br>
<br>Cheers!<br>Witek<br><br><br><div class="gmail_quote">2011/5/25 James Molloy <span dir="ltr"><<a href="mailto:james@jamesmolloy.co.uk">james@jamesmolloy.co.uk</a>></span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div>Hi Witold,</div><div><br></div><div>This appears to be a bug in Clang. The offending code is in lib/Driver/Tools.cpp:</div><div><br></div><blockquote style="margin: 0pt 0pt 0pt 40px; border: medium none; padding: 0px;">

<div>  if (FloatABI == "soft") {</div><div>    // Floating point operations and argument passing are soft.</div><div>    //</div><div>    // FIXME: This changes CPP defines, we need -target-soft-float.</div><div>

    CmdArgs.push_back("-msoft-float");</div><div>    CmdArgs.push_back("soft");</div><div>    CmdArgs.push_back("-target-feature");</div><div>    CmdArgs.push_back("+soft-float");</div>

<div>  } else {</div></blockquote><div><br></div><div>but –msoft-float is defined in CC1Options.td  as:</div><div><br></div><blockquote style="margin: 0pt 0pt 0pt 40px; border: medium none; padding: 0px;">
<div>def msoft_float : Flag<"-msoft-float">,</div><div>  HelpText<"Use software floating point">;</div></blockquote><div><br></div><div>i.e. it doesn’t take an argument. So Clang (as cc1) is interpreting the extra ‘soft’ argument as an input file.</div>

<div><br></div><div>Fix is to remove the line “CmdArgs.push_back("soft");” as far as I can tell?</div><div><br></div><div>Cheers,</div><div><br></div><font color="#888888"><div>James</div><div><br></div>
</font></blockquote></div><br>