[all-commits] [llvm/llvm-project] db8af0: [analyzer][ctu] Avoid parsing invocation list agai...

Balazs Benics via All-commits all-commits at lists.llvm.org
Tue May 25 00:21:10 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: db8af0f21dc9aad4d336754c857c24470afe53e3
      https://github.com/llvm/llvm-project/commit/db8af0f21dc9aad4d336754c857c24470afe53e3
  Author: Ella Ma <alansnape3058 at gmail.com>
  Date:   2021-05-25 (Tue, 25 May 2021)

  Changed paths:
    M clang/include/clang/CrossTU/CrossTranslationUnit.h
    M clang/lib/CrossTU/CrossTranslationUnit.cpp
    A clang/test/Analysis/ctu-on-demand-parsing-multiple-invocation-list-parsing.cpp

  Log Message:
  -----------
  [analyzer][ctu] Avoid parsing invocation list again and again during on-demand parsing of CTU

During CTU, the *on-demand parsing* will read and parse the invocation
list to know how to compile the file being imported. However, it seems
that the invocation list will be parsed again if a previous parsing
has failed.
Then, parse again and fail again. This patch tries to overcome the
problem by storing the error code during the first parsing, and
re-create the stored error during the later parsings.

Reviewed By: steakhal

Patch By: OikawaKirie!

Differential Revision: https://reviews.llvm.org/D101763




More information about the All-commits mailing list