[all-commits] [llvm/llvm-project] 6052a8: [clang] In DependencyCollector on Windows, ignore ...

sylvain-audi via All-commits all-commits at lists.llvm.org
Mon May 17 07:34:33 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6052a8a53559d667321637f7159353ab724a1141
      https://github.com/llvm/llvm-project/commit/6052a8a53559d667321637f7159353ab724a1141
  Author: Sylvain Audi <sylvain.audi at ubisoft.com>
  Date:   2021-05-17 (Mon, 17 May 2021)

  Changed paths:
    M clang/lib/Frontend/DependencyFile.cpp
    A clang/test/Frontend/dependency-gen-windows-duplicates.c

  Log Message:
  -----------
  [clang] In DependencyCollector on Windows, ignore case and separators when discarding duplicate dependency file paths.

This patch removes duplicates also encountered in the output of clang-scan-deps when one same header file is encountered with different casing and/or different separators ('/' vs '\').

The case of separators can appear when the same file is included externally by
 `#include <folder/file.h>`

whereas a file from the same folder does
 `#include "file.h"`

Under Windows, clang computes the paths using '/' from the include directive, the `\` from the -I options, and the concatenations use the native `\`, leading to internal paths containing a mix of both separators.

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




More information about the All-commits mailing list