gcc 6.2 was not accepting the current definition of void_t