Я скачал LLVM 3.1 и успешно его собрал. Мое требование — добавить несколько строк отладки в файлы исходного кода C ++. Я закодировал модуль используя CLANG 3.1. Но CLANG сообщает об ошибке AST, чего нет у gcc. Обратите внимание, мой код прекрасно компилируется с помощью компилятора gcc. Кроме того, моя программа на C ++ содержит много операторов #include. LLVM ожидает, что то же самое будет доступно в пути и снова завершится с ошибкой на другом уровне.
Clang имеет новую библиотеку с именем libTooling чтобы облегчить написание исходных текстовых инструментов с помощью clang. Я предлагаю вам проверить это. Наиболее полный пример его использования лязг-формат, который переформатирует произвольный код C ++ в соответствии с набором правил форматирования. Он демонстрирует, как переписать код C ++ на уровне исходного кода при сохранении всей семантики. Это не должно быть трудно взломать, чтобы добавить вставку определенных утверждений в определенных местах.
Других решений пока нет …