On 05/02/2012 01:27 AM, Paolo Carlini wrote:
Note, there is the minor subtlety with checking !fn explicitly: in my
current patch it's redundant because I make sure in the caller that
when check_types is true, any fn accidentally passed by upper caller
as non-null is zeroed. This way, walk_template_parms_r can indeed do
away with explicit checks for !fn when check_types is true or trust
the users of walk_template_parms to make sure that fn is NULL together
with check_types true (I don't think fn non-null together with
check_types true makes any sense). I hope my explanation is clear
enough ;) If you want me to handle this detail differently, just let
know.
Maybe we want to gcc_assert ((check_types && !fn) || !check_types) at
the beginning of walk_template_parms. I don't know.
Paolo.