Hi Honza.

Thanks for the huge patch. I'm willing to help you with testing, but I can't
apply the patch on top of r254348:

../../gcc/profile.c: In function ‘void compute_branch_probabilities(unsigned 
int, unsigned int)’:
../../gcc/profile.c:794:11: error: ‘flag_guess_branch_probability’ was not 
declared in this scope
       || !flag_guess_branch_probability)
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../gcc/profile.c:794:11: note: suggested alternative: 
‘OPT_fguess_branch_probability’
       || !flag_guess_branch_probability)
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           OPT_fguess_branch_probability
../../gcc/profile.c:801:21: error: no match for ‘operator!=’ (operand types are 
‘profile_count’ and ‘profile_count’)
       if (bb->count != profile_count::zero ())
           ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../gcc/coretypes.h:397:0,
                 from ../../gcc/profile.c:52:
../../gcc/wide-int.h:3158:19: note: candidate: template<class T1, class T2> typename 
wi::binary_traits<T1, T2>::predicate_result operator!=(const T1&, const T2&)
 BINARY_PREDICATE (operator !=, ne_p)
                   ^
../../gcc/wide-int.h:3142:3: note: in definition of macro ‘BINARY_PREDICATE’
   OP (const T1 &x, const T2 &y) \
   ^~
../../gcc/wide-int.h:3158:19: note:   template argument deduction/substitution 
failed:
 BINARY_PREDICATE (operator !=, ne_p)
                   ^
../../gcc/wide-int.h:3142:3: note: in definition of macro ‘BINARY_PREDICATE’
   OP (const T1 &x, const T2 &y) \
   ^~
../../gcc/wide-int.h: In substitution of ‘template<class T1, class T2> typename 
wi::binary_traits<T1, T2>::predicate_result operator!=(const T1&, const T2&) [with T1 
= profile_count; T2 = profile_count]’:
../../gcc/profile.c:801:45:   required from here
../../gcc/wide-int.h:3158:19: error: incomplete type 
‘wi::int_traits<profile_count>’ used in nested name specifier
 BINARY_PREDICATE (operator !=, ne_p)
                   ^
../../gcc/wide-int.h:3142:3: note: in definition of macro ‘BINARY_PREDICATE’
   OP (const T1 &x, const T2 &y) \
   ^~

Can you please check that?

Thanks,
Martin

Reply via email to