[all-commits] [llvm/llvm-project] 09d1f6: [clang] Fix copy constructor of CompilerInvocation

Jan Svoboda via All-commits all-commits at lists.llvm.org
Wed Apr 14 00:13:56 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 09d1f6e6b74c9330d80c0346a271a43efbe0384d
      https://github.com/llvm/llvm-project/commit/09d1f6e6b74c9330d80c0346a271a43efbe0384d
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2021-04-14 (Wed, 14 Apr 2021)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/unittests/Frontend/CompilerInvocationTest.cpp

  Log Message:
  -----------
  [clang] Fix copy constructor of CompilerInvocation

The `CompilerInvocationBase` class factors out members of `CompilerInvocation` that need special handling (initialization or copy constructor), so that `CompilerInvocation` can be implemented as a simple value object.

Currently, the `AnalyzerOpts` member of `CompilerInvocation` violates that setup. This patch extracts the member to `CompilerInvocationBase` and handles it in the copy constructor the same way other it handles other members.

Reviewed By: dexonsmith

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




More information about the All-commits mailing list