C99 - это просто версия стандарта C от 1999 года, как мы все это знаем. В GCC это поддерживается не полностью.
GNU99 - это расширение C99, точно так же, как GNU98 - это расширение C98. Из документов:
ISO C99 плюс расширения GNU. Когда ISO C99 полностью внедрен в GCC, это станет значением по умолчанию. Имя gnu9x устарело.
Clang также поддерживает эти расширения.