Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: > +#if (PCRE2_MAJOR >= 10 && PCRE2_MINOR >= 36) || PCRE2_MAJOR >= 11 > +#define GIT_PCRE2_VERSION_10_36_OR_HIGHER > +#endif This is not wrong per-se but it does look misleading not to spell it as #if (PCRE2_MAJOR == 10 && PCRE2_MINOR >= 36) || PCRE2_MAJOR >= 11 which would convey the intention much clearly. Hint to notice the difference: imagine if it were "9.37 and later in 9.X series, 10.36 and later in 10.X series and anything after 11 are OK". In other words, the minor version is always tied to a particular major version and "major >= X && minor >= Y" is often a bug, even though in this case it happens to be OK only because 10 and 11 are consecutive.