The likely()/unlikely() macros defined in config.hpp are widely used in other open source projects, and there is the real possibility of name clashes. They should probably be renamed to piranha_likely() and piranha_unlikely(), in the same fashion of the piranha_assert() macro.