remove strict ansi undef and update feature test macro