compatibility with gcc > 4.7