[llvm] r203990 - SampleProfile.cpp: Quick fix to r203976 about abuse of Twine. The life of Twine was too short.
David Blaikie
dblaikie at gmail.com
Fri Mar 14 18:11:23 PDT 2014
On Fri, Mar 14, 2014 at 5:10 PM, NAKAMURA Takumi <geek4civic at gmail.com> wrote:
> Author: chapuni
> Date: Fri Mar 14 19:10:12 2014
> New Revision: 203990
>
> URL: http://llvm.org/viewvc/llvm-project?rev=203990&view=rev
> Log:
> SampleProfile.cpp: Quick fix to r203976 about abuse of Twine. The life of Twine was too short.
>
> FIXME: DiagnosticInfoSampleProfile should not hold Twine&.
>
> Modified:
> llvm/trunk/lib/Transforms/Scalar/SampleProfile.cpp
>
> Modified: llvm/trunk/lib/Transforms/Scalar/SampleProfile.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/SampleProfile.cpp?rev=203990&r1=203989&r2=203990&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Scalar/SampleProfile.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/SampleProfile.cpp Fri Mar 14 19:10:12 2014
> @@ -454,8 +454,7 @@ bool SampleModuleProfile::loadText() {
> error_code EC = MemoryBuffer::getFile(Filename, Buffer);
> if (EC) {
> std::string Msg(EC.message());
> - DiagnosticInfoSampleProfile Diag(Filename.data(), Msg);
> - M.getContext().diagnose(Diag);
> + M.getContext().diagnose(DiagnosticInfoSampleProfile(Filename.data(), Msg));
> return false;
> }
> line_iterator LineIt(*Buffer, '#');
> @@ -973,9 +972,8 @@ unsigned SampleFunctionProfile::getFunct
> }
> }
>
> - DiagnosticInfoSampleProfile Diag("No debug information found in function " +
> - F.getName());
> - F.getContext().diagnose(Diag);
> + Twine Msg = "No debug information found in function " + F.getName();
Temporary Twines are no good... Since you've rolled the Diag in as a
temporary, you can just roll the + expression back into the statement
below and it'll be fine..
> + F.getContext().diagnose(DiagnosticInfoSampleProfile(Msg));
> return 0;
> }
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list