[PATCH] D61963: [clang][Darwin] Refactor header search path logic into the driver

Louis Dionne via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed May 15 14:01:47 PDT 2019


ldionne created this revision.
ldionne added reviewers: jfb, arphaman.
Herald added subscribers: cfe-commits, jsji, dexonsmith, jkorous, christof, kbarton, javed.absar, nemanjai.
Herald added a project: clang.

This commit moves the logic for determining system, resource and C++
header search paths from CC1 to the driver. This refactor has already
been made for several platforms, but Darwin had been left behind.

This refactor tries to implement the previous search path logic with
perfect accuracy. In particular, the order of all include paths inside
CC1 and all paths that were skipped because nonexistent are conserved
after the refactor. This change was also tested against a code base
of significant size and revealed no problems.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D61963

Files:
  clang/include/clang/Basic/DiagnosticDriverKinds.td
  clang/include/clang/Basic/DiagnosticFrontendKinds.td
  clang/lib/Driver/ToolChains/Darwin.cpp
  clang/lib/Driver/ToolChains/Darwin.h
  clang/lib/Frontend/InitHeaderSearch.cpp
  clang/test/Driver/Inputs/basic_darwin_sdk_libstdcxx_aarch64/usr/include/c++/4.2.1/arm64-apple-darwin10/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_libstdcxx_aarch64/usr/lib/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_libstdcxx_arm/usr/include/c++/4.2.1/arm-apple-darwin10/v6/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_libstdcxx_arm/usr/include/c++/4.2.1/arm-apple-darwin10/v7/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_libstdcxx_arm/usr/lib/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_libstdcxx_ppc/usr/include/c++/4.0.0/powerpc-apple-darwin10/ppc64/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_libstdcxx_ppc/usr/include/c++/4.2.1/powerpc-apple-darwin10/ppc64/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_libstdcxx_ppc/usr/lib/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_libstdcxx_x86/usr/include/c++/4.0.0/i686-apple-darwin8/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_libstdcxx_x86/usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_libstdcxx_x86/usr/lib/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_no_libcxx/usr/include/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_no_libcxx/usr/lib/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_no_libstdcxx/usr/include/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_no_libstdcxx/usr/lib/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_usr/usr/include/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_usr/usr/lib/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_usr_and_usr_local/usr/include/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_usr_and_usr_local/usr/lib/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_usr_and_usr_local/usr/local/include/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_usr_and_usr_local/usr/local/lib/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_usr_local/usr/local/include/.keep
  clang/test/Driver/Inputs/basic_darwin_sdk_usr_local/usr/local/lib/.keep
  clang/test/Driver/Inputs/basic_darwin_toolchain/usr/bin/.keep
  clang/test/Driver/Inputs/basic_darwin_toolchain/usr/include/c++/v1/.keep
  clang/test/Driver/Inputs/basic_darwin_toolchain_no_libcxx/usr/bin/.keep
  clang/test/Driver/darwin-header-search-libcxx.cpp
  clang/test/Driver/darwin-header-search-libstdcxx.cpp
  clang/test/Driver/darwin-header-search-system.cpp
  clang/test/Driver/darwin-stdlib.cpp
  clang/test/Frontend/warning-stdlibcxx-darwin.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D61963.199677.patch
Type: text/x-patch
Size: 33311 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190515/865b5044/attachment-0001.bin>


More information about the cfe-commits mailing list