다음 링크에 따라 사용자 정의 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 Bhagat