In June of last year I installed the change: 2010-06-06 Eric Botcazou <ebotca...@adacore.com>
* stor-layout.c (self_referential_size): Set UNKNOWN_LOCATION on the newly built CALL_EXPR. but it was accidentally reverted by: 2010-07-13 Nathan Froyd <froy...@codesourcery.com> [...] (expand_parallel_call): Call build_call_expr_loc_vec instead of build_function_call_expr. * stor-layout.c (self_referential_size): Likewise. So installed again on mainline and 4.6 branch after testing on i586-suse-linux. This helps coverage info, for example on: procedure To_Upper (Item : in out String) is begin Item := Ada.Characters.Handling.To_Upper (Item); end To_Upper; and only affects the Ada compiler. 2011-04-05 Eric Botcazou <ebotca...@adacore.com> * stor-layout.c (self_referential_size): Fix 2010-07-13 commit. -- Eric Botcazou
Index: stor-layout.c =================================================================== --- stor-layout.c (revision 171942) +++ stor-layout.c (working copy) @@ -367,7 +367,7 @@ self_referential_size (tree size) VEC_safe_push (tree, gc, size_functions, fndecl); /* Replace the original expression with a call to the size function. */ - return build_call_expr_loc_vec (input_location, fndecl, args); + return build_call_expr_loc_vec (UNKNOWN_LOCATION, fndecl, args); } /* Take, queue and compile all the size functions. It is essential that