diff --git a/gcc/auto-profile.cc b/gcc/auto-profile.cc index 8940d1f2825..e12b3048f20 100644 --- a/gcc/auto-profile.cc +++ b/gcc/auto-profile.cc @@ -575,10 +575,10 @@ void function_instance::merge (function_instance *other) for (callsite_map::const_iterator iter = other->callsites.begin (); iter != other->callsites.end (); ++iter) if (callsites.count (iter->first) == 0) - callsites[iter->first] = iter->second; + callsites[iter->first] = iter->second; - for (position_count_map::const_iterator iter = pos_counts.begin (); - iter != pos_counts.end (); ++iter) + for (position_count_map::const_iterator iter = other->pos_counts.begin (); + iter != other->pos_counts.end (); ++iter) if (pos_counts.count (iter->first) == 0) pos_counts[iter->first] = iter->second; else diff --git a/gcc/testsuite/gcc.dg/tree-prof/clone-merge-1.c b/gcc/testsuite/gcc.dg/tree-prof/clone-merge-1.c index 40aab9fdfca..e8e4957e88c 100644 --- a/gcc/testsuite/gcc.dg/tree-prof/clone-merge-1.c +++ b/gcc/testsuite/gcc.dg/tree-prof/clone-merge-1.c @@ -1,4 +1,6 @@ /* { dg-options "-O3 -fno-early-inlining -fdump-ipa-afdo-all" } */ +/* { dg-require-profiling "-fauto-profile" } */ + __attribute__ ((used)) int a[1000];