begin port to GCC 4.7