我已經根據以下鏈接編寫了自定義clang前端工具。 http://clang.llvm.org/docs/RAVFrontendAction.html運行自定義clang前端工具在某些輸入文件上出現異常
現在我將clang源代碼本身給我的前端工具進行靜態分析。 我的工具爲這個測試用例拋出一個異常 https://llvm.org/svn/llvm-project/cfe/trunk/test/CXX/expr/expr.const/p2-0x.cpp
從這個測試用例的文檔中可以看出它是爲未定義的行爲編寫的。 雖然在此測試中運行ClangTool,但即使在控件進入HandleTranslationUnit之前,它也會拋出stackoverflow異常。
由於clang可以爲上述測試用例生成AST,所以我假定在編譯過程中可能會出現異常。現在的問題是,我不能繼續訪問這些文件的AST節點,因爲我不關心輸入源文件的語義。我只對靜態分析感興趣。
這是預期的行爲?然後如何遍歷生成的AST並訪問節點。我現在很困難,不知道如何繼續。 請你幫我解決這個問題。
在此先感謝!
感謝, 與Hemant巴格特