Me parece que se espera demasiado de CCS, o que las expectativas estan muy altas.
Es un compilador que esta desarrollado para simplificar la generacion de codigo.
Los de CCS (lean su historia) empiezan haciendo aplicaciones comerciales con micros de Microchip y usaban su compilador de assembler (unica herramienta gratuita en esa epoca), ya que los compiladores de Hitech y Microchip y otros mas, no bajaban de varios miles de dolares para una licencia de una estacion.
O sea, igual que cada uno de nosotros, comenzaron a hacer sus librerias en assembler para mejorar los tiempos de desarrollo y optimizar sus recursos de programacion.
Como aun asi, con librerias y todo, eran muy lentos en desarrollo, y con conocimientos importantes en programacion, decidieron hacer un compilador de C "a medida", para no estar fuera de la ley y poder optimizar aun mas sus tiempos y tambien el costo de la hora de desarrollo.
De ahi a encapsular sus rutinas y ver que podian comercializarlo, solo hubo un sencillo paso.
Por supuesto el precio de la epoca entre su compilador y los comerciales fue muy grande a su favor, razon por la cual mucha gente se inclino por ese compilador y no los otros.
En mi caso, como pobre sudaca que soy, no me quejo de mi eleccion, ya que me soluciona la mayoria de los problemas, y aun hoy veran que los precios de los compiladores "oficiales" no ha bajado tanto como para estar en la cima de las ventas y aunque pase el tiempo, no esperen que lo hagan tampoco.
Quien pague la licencia del compilador de CCS, debe saber que tiene Pros y Contras.
Ademas que piense bien al tomar su decision, si le conviene o no comprar este de CCS o los Oficiales de Microchip.
Para un desarrollador solitario como yo, no hay mejor opcion que esta.
No pienso pedirle Peras al Olmo, ni esperar que se convierta de la noche a la mañana en ANSI C, ni nada de eso.
Las opciones de optimizacion, como bien dijo Marttin, optimizan hasta el asm generado desde instrucciones especificas de asm.
Esta hecho bajo la norma APB ( A Prueba de Boludos).
Esto es porque su perfil de usuario es basico, y esta previsto ser usado por NO Ingenieros, de modo que quienes lo usen, puedan mantener un costo bajo de desarrollo.
De nuevo, insisto, fue desarrollado para optimizar sus recursos de programacion, que en el mercado Americano son muy caros, eso los transformo en muy competitivos.
Los de CCS no engañaron a nadie para que compren sus compiladores, y muchos de nosotros arrancamos con una version truchada millones de veces, de lo cual ellos no tienen siquiera responsabilidad, al contrario es un perjuicio economico directo.
Pedirle a CCS que sea ANSI es mas o menos como pedirle a Basic que sea estructurado, se entiende ??