2011-12-19 24 views
5

Trabajaré exclusivamente en C. Ubunutu 10.10 recuperará la versión 2.8 de Clang de sus repositorios y la instalará por completo. He compilado Clang v 3.1 desde la fuente y lo he agregado a la ruta (después de desinstalar Clang 2.8), pero no tengo acceso a sus páginas man de esta manera, y tengo la sensación ocasional de no haberlo "instalado" completamente, aunque parece ser completamente funcional en algunas pruebas.¿Alguna diferencia práctica entre Clang versiones 2.8 y 3.1 para un desarrollador C?

¿Existe alguna diferencia práctica entre las versiones 2.8 y 3.1 desde el punto de vista de un desarrollador C (estudiante en realidad)? Estoy trabajando exclusivamente en C y no aprovecharé sus capacidades C++ o C objetivo. Creo que la mayor parte del desarrollo de Clang recientemente ha sido ampliar sus capacidades de C++.

+0

¿Por qué no lee las notas de la versión y nos dice lo que encontró? –

+0

Creo que las optimizaciones y las advertencias mejoraron (incluso para C). Del mismo modo, para las evoluciones recientes de GCC. –

Respuesta

2

La notable diferencia que encontré es que, para los parámetros de la función 2.8 VLA, el núcleo del volcado del compilador. En 2.9 (y por lo tanto en 3.1, supongo), este error parece ser fijo.

También esta nueva versión de clang ya implementa parte de C11, en particular _Generic.

+0

http://gustedt.wordpress.com/2011/01/13/vla-as-function-arguments/ –

+0

Nota: algunas características C11 que ya funcionan en gcc/icc dump core en clang (3.1), el más destacado es el designado inicialización de estructuras y uniones anónimas – hroptatyr

+0

@hroptatyr: faltan muchas extensiones, sin embargo. Clang está mucho mejor ahora en C++ que en C. –

Cuestiones relacionadas