restructure macro to avoid "not fixed values" compilation hint