[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