Commit bc91c436 by Martin Liska Committed by Martin Liska

Consider functions with xloc.file == NULL (PR

	PR gcov-profile/69028
	PR gcov-profile/62047
	* g++.dg/cilk-plus/pr69028.C: New test.
	PR gcov-profile/69028
	PR gcov-profile/62047
	* cilk.c (create_cilk_helper_decl): Set location of a new decl
	to the current_function_decl.
	PR gcov-profile/69028
	PR gcov-profile/62047
	* coverage.c (coverage_compute_lineno_checksum): Do not
	calculate checksum for fns w/o xloc.file.
	(coverage_compute_profile_id): Likewise.

From-SVN: r238637
parent 9fe9a3a7
2016-07-22 Martin Liska <mliska@suse.cz>
PR gcov-profile/69028
PR gcov-profile/62047
* coverage.c (coverage_compute_lineno_checksum): Do not
calculate checksum for fns w/o xloc.file.
(coverage_compute_profile_id): Likewise.
2016-07-22 Georg-Johann Lay <avr@gjlay.de> 2016-07-22 Georg-Johann Lay <avr@gjlay.de>
* config/avr/avr.c (TARGET_SECONDARY_RELOAD): Remove hook define... * config/avr/avr.c (TARGET_SECONDARY_RELOAD): Remove hook define...
......
2016-07-22 Martin Liska <mliska@suse.cz>
PR gcov-profile/69028
PR gcov-profile/62047
* cilk.c (create_cilk_helper_decl): Set location of a new decl
to the current_function_decl.
2016-07-21 Jason Merrill <jason@redhat.com> 2016-07-21 Jason Merrill <jason@redhat.com>
PR c++/65168 PR c++/65168
......
...@@ -312,8 +312,9 @@ create_cilk_helper_decl (struct wrapper_data *wd) ...@@ -312,8 +312,9 @@ create_cilk_helper_decl (struct wrapper_data *wd)
gcc_unreachable (); gcc_unreachable ();
clean_symbol_name (name); clean_symbol_name (name);
tree fndecl = build_decl (UNKNOWN_LOCATION, FUNCTION_DECL,
get_identifier (name), wd->fntype); tree fndecl = build_decl (DECL_SOURCE_LOCATION (current_function_decl),
FUNCTION_DECL, get_identifier (name), wd->fntype);
TREE_PUBLIC (fndecl) = 0; TREE_PUBLIC (fndecl) = 0;
TREE_STATIC (fndecl) = 1; TREE_STATIC (fndecl) = 1;
......
...@@ -553,7 +553,8 @@ coverage_compute_lineno_checksum (void) ...@@ -553,7 +553,8 @@ coverage_compute_lineno_checksum (void)
= expand_location (DECL_SOURCE_LOCATION (current_function_decl)); = expand_location (DECL_SOURCE_LOCATION (current_function_decl));
unsigned chksum = xloc.line; unsigned chksum = xloc.line;
chksum = coverage_checksum_string (chksum, xloc.file); if (xloc.file)
chksum = coverage_checksum_string (chksum, xloc.file);
chksum = coverage_checksum_string chksum = coverage_checksum_string
(chksum, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (current_function_decl))); (chksum, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (current_function_decl)));
...@@ -580,7 +581,8 @@ coverage_compute_profile_id (struct cgraph_node *n) ...@@ -580,7 +581,8 @@ coverage_compute_profile_id (struct cgraph_node *n)
bool use_name_only = (PARAM_VALUE (PARAM_PROFILE_FUNC_INTERNAL_ID) == 0); bool use_name_only = (PARAM_VALUE (PARAM_PROFILE_FUNC_INTERNAL_ID) == 0);
chksum = (use_name_only ? 0 : xloc.line); chksum = (use_name_only ? 0 : xloc.line);
chksum = coverage_checksum_string (chksum, xloc.file); if (xloc.file)
chksum = coverage_checksum_string (chksum, xloc.file);
chksum = coverage_checksum_string chksum = coverage_checksum_string
(chksum, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (n->decl))); (chksum, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (n->decl)));
if (!use_name_only && first_global_object_name) if (!use_name_only && first_global_object_name)
......
2016-07-22 Martin Liska <mliska@suse.cz>
PR gcov-profile/69028
PR gcov-profile/62047
* g++.dg/cilk-plus/pr69028.C: New test.
2016-07-22 Andre Vehreschild <vehre@gcc.gnu.org> 2016-07-22 Andre Vehreschild <vehre@gcc.gnu.org>
* gfortran.dg/coarray_stat_2.f90: New test. * gfortran.dg/coarray_stat_2.f90: New test.
......
// PR c++/69028
// { dg-require-effective-target c++11 }
// { dg-options "-fcilkplus -fprofile-arcs" }
void parallel()
{
}
int main()
{
_Cilk_spawn parallel();
_Cilk_sync;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment