Fix IF token conflict with old GCC versions

Better fix for old GCC versions that give a conflict between IF token used for parsing and a template in boost headers with the same name.