LLVM GCC 4.2 - это то, что я использую.
Clang недостаточно хорошо справляется с C ++, и в настоящее время он находится в стадии разработки. Это очень многообещающий инструментарий, но он пока недостаточно стабилен для производства (по моему опыту).
Apple определенно инвестирует в Clang в качестве своего будущего компилятора, но это не тривиальный проект. К сожалению, это ставит многих из нас в странное место, используя один относительно старый компилятор и / или один очень очень новый (угадайте, сколько лет пройдет, прежде чем я смогу начать использовать функции c ++ 0x в своих базах кода).
Я использовал внешний интерфейс GCC с бэкэндом LLVM с моими базами кода, так как он был доступен (по крайней мере, во время тестирования). Это было общедоступно в течение многих лет, и довольно стабильно. Я обнаружил, что проход LLVM производит меньшие, более быстрые исполняемые файлы по сравнению с одним GCC (хотя я делаю больше работ, ориентируясь на OS X, чем на iOS). Честно говоря, я не могу скомпилировать достаточно кода с одним Clang, чтобы рекомендовать его (плюс, у меня много C ++).
Я нашел комбо GCC + LLVM надежным. Если надежность является вашей главной задачей: начните с GCC, регулярно тестируйте + LLVM в процессе разработки и регулярно компилируйте и тестируйте с Clang в каждом выпуске Clang, пока вы не будете удовлетворены им. GCC + LLVM обычно можно использовать для современных сборок.
Если вам важна скорость, начните с GCC + LLVM и регулярно тестируйте с Clang (если это вариант для вас - это не для меня - слишком много с ++).
Относительно синтаксического анализа / лексирования / генерации Clang: Clang стремится максимально соответствовать стандартам. У них все хорошо, но есть много функций, которые являются новыми или отсутствуют, поэтому я советую вам быть осторожнее, особенно с C ++.
Я считаю, что Apple сделала свой любимый компилятор будущего очевидным, так что ... не ждите слишком долго, чтобы протестировать с Clang.