O POSIX 1003.1 original (publicado em 1988) especificou um utilitário cc . A versão 2 da Single Unix Specification (1997) incluía cc e c89 . O nome c89 foi introduzido como sendo um dialeto padrão de C. O nome cc foi mantido mas marcado como legado e declarado como um dialeto não especificado de C. Muitos fornecedores enviaram um compilador cujo padrão era K & RC (ou seja, pré-ANSI C) sob o nome cc . Você pode notar que cc é obrigatório, enquanto c89 faz parte da opção de desenvolvimento da linguagem C. Era comum ter um compilador C sob o nome cc , que só era realmente capaz de compilar os drivers do kernel, e os unices comerciais muitas vezes carregavam mais por um compilador C apropriado.
O POSIX 1003.1-2001 (Single Unix v3) especifica c99 especifica em vez de c89 , para usar um dialeto padrão atualizado de C. Você pode ver alguns traços editoriais deixados de um rascunho que incluiu um utilitário cc , mas cc foi removido da especificação. O POSIX 1003.1-2008 (Single Unix v4) só tem novamente c99