diff --git a/src/hb-meta.hh b/src/hb-meta.hh index 9c8dfedc9..bcd541e7a 100644 --- a/src/hb-meta.hh +++ b/src/hb-meta.hh @@ -116,10 +116,16 @@ template using hb_remove_pointer = typename hb_match_pointer::ty /* TODO Add feature-parity to std::decay. */ template using hb_decay = hb_remove_const>; -#define hb_is_cr_convertible(From, To) ( \ - hb_is_same (hb_decay, hb_decay) && \ - hb_is_const (From) <= hb_is_const (To) && \ - hb_is_reference (From) >= hb_is_reference (To)) +#define hb_is_cr_convertible(From, To) \ + ( \ + hb_is_same (hb_decay, hb_decay) && \ + ( \ + hb_is_const (From) <= hb_is_const (To) && \ + hb_is_reference (From) >= hb_is_reference (To) \ + ) || ( \ + hb_is_const (To) && hb_is_reference (To) \ + ) \ + )