Si il n'est pas cassé, ne le répare pas
Votre patron sonne juste en disant cela, cependant, le plus important facteur, est la sauvegarde des entrées, des sorties, des débordements de tampon. L'absence de celles-ci est toujours le maillon faible de la chaîne à partir de ce point de vue, quel que soit le compilateur utilisé.
Cependant, si le code de base est ancienne, et le travail a été mis en place pour atténuer les faiblesses du K&R C utilisés, tels que le manque de sécurité de type, l'insécurité, le fgets, etc, peser la question "Serait la mise à niveau du compilateur, plus moderne C99/C11 normes de tout casser?"
À condition, qu'il y a clairement un chemin de migrer vers les nouvelles normes C, ce qui pourrait induire des effets secondaires, peut-être préférable de tenter une fourchette de l'ancienne base de code, d'évaluer et de mettre en extra de type vérifications, des contrôles d'intégrité, et de déterminer si la mise à niveau vers le nouveau compilateur a aucun effet sur l'entrée/sortie des ensembles de données.
Ensuite, vous pouvez montrer à votre patron",Voici la mise à jour de la base de code, refactoring, plus en ligne avec l'industrie a accepté le C99/C11 normes...".
C'est le pari qui aurait à être pesée, très soigneusement, la résistance au changement peut montrer qu'il y dans l'environnement et peut refuser de toucher le plus récent des trucs.
MODIFIER
Juste assis en arrière pendant quelques minutes, réalisé beaucoup, K&R code généré peut être en cours d'exécution sur un 16bit plate-forme, les chances sont, mise à niveau, plus moderne compilateur pourrait briser le code de base, pense en termes d'architecture 32 bits de code généré, ce qui pourrait avoir de drôles d'effets secondaires sur les structures utilisées pour les entrées/sorties ensembles de données, qui est un autre énorme facteur à peser soigneusement.
Aussi, depuis l'OP a mentionné l'aide de Visual Studio 2008 pour créer la base de code, en utilisant gcc pourrait induire la mise en de l'environnement MinGW ou Cygwin, qui pourraient avoir un impact du changement sur l'environnement, sauf si la cible est pour Linux, alors il sera vaut le coup, peut-être incluent des commutateurs supplémentaires pour le compilateur pour réduire le bruit sur les vieux K&R d'une base de code, l'autre chose importante est de réaliser un grand nombre de tests pour s'assurer qu'aucune fonctionnalité est cassé, peut-être un exercice pénible.