[PATCH] Set correct source location for deallocator calls

Richard Henderson rth@redhat.com
Fri Aug 10 17:52:00 GMT 2012


On 2012-08-10 10:21, Dehao Chen wrote:
> Yes, cxx_maybe_build_cleanup sets it to UNKNOWN_LOCATION, but during
> gimplifying, it's reset to input_location:
> 
> gimplify.c (gimplify_call_expr)
> 2486      /* For reliable diagnostics during inlining, it is necessary that
> 2487         every call_expr be annotated with file and line.  */
> 2488      if (! EXPR_HAS_LOCATION (*expr_p))
> 2489        SET_EXPR_LOCATION (*expr_p, input_location);
> 
> Shall we remove this code? Because I don't expect the location to be
> unknown in other cases.

Hmm.  Perhaps something special-cased to TRY_FINALLY/TRY_CATCH
to set input_location itself to UNKNOWN_LOCATION  for the duration
of gimplifying the cleanup?  With a big comment about how we'll be
setting unset locations for cleanups during tree-eh lowering.


r~



More information about the Gcc-patches mailing list