<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div class="h5">
On Nov 5, 2011, at 6:53 PM, David Blaikie wrote:<br>
<br>
> Author: dblaikie<br>
> Date: Sat Nov  5 20:53:39 2011<br>
> New Revision: 143856<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=143856&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=143856&view=rev</a><br>
> Log:<br>
> Fixing -g break caused by a dead reference to a temporary introduced in r143732.<br>
><br>
> Modified:<br>
>    cfe/trunk/lib/Driver/Tools.cpp<br>
><br>
> Modified: cfe/trunk/lib/Driver/Tools.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=143856&r1=143855&r2=143856&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=143856&r1=143855&r2=143856&view=diff</a><br>

> ==============================================================================<br>
> --- cfe/trunk/lib/Driver/Tools.cpp (original)<br>
> +++ cfe/trunk/lib/Driver/Tools.cpp Sat Nov  5 20:53:39 2011<br>
> @@ -1459,7 +1459,7 @@<br>
>   Args.ClaimAllArgs(options::OPT_g_Group);<br>
>   if (Arg *A = Args.getLastArg(options::OPT_g_Group))<br>
>     if (!A->getOption().matches(options::OPT_g0)) {<br>
> -      StringRef ArgString = A->getAsString(Args);<br>
> +      const std::string &ArgString = A->getAsString(Args);<br>
>       bool Valid_g = llvm::StringSwitch<bool>(ArgString)<br>
>         .Case("-g", true)<br>
>         .Case("-g3", true)<br>
><br>
><br>
</div></div></blockquote></div><br>Hi David,<br><br>Since getAsString returns a  std::string  and not a reference, I think the code would be more explicit if you were to shed the  &  as it just introduces a binding to a temporary.<br>
<br>--Matthieu<br>