Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bear not building on MinGW64 #431

Open
FrostKiwi opened this issue Nov 25, 2021 · 20 comments
Open

Bear not building on MinGW64 #431

FrostKiwi opened this issue Nov 25, 2021 · 20 comments

Comments

@FrostKiwi
Copy link

As reported in the MinGW64-packages repo: msys2/MINGW-packages#7411 and in this issue: #427 , Bear does currently not build on MSYS2 + MinGW64. Since that Bear repo issue is closed, I thought I open up this one to properly present info regarding this issue.

Describe the bug
Building Bear in with MSYS2 and it's MinGW64 environment fails.
The main culprit is the missing 'confstr' Os.cc:49:2: error: #error "System call "confstr" not exists.", which is apparently not present with this Unix environment.

Configure log from 'cmake -G "Unix Makefiles" -DENABLE_UNIT_TESTS=OFF -DENABLE_FUNC_TESTS=OFF ..'
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/msys64/mingw64/bin/cc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/msys64/mingw64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Setting build type to 'Release' as none was specified.
-- Looking for nlohman_json dependency
-- Looking for nlohman_json dependency -- not found
-- Looking for fmt dependency
-- Looking for fmt dependency -- found
-- Looking for spdlog dependency
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Looking for spdlog dependency -- found
-- Looking for gRPC::grpc++ dependency
-- Found PkgConfig: C:/msys64/mingw64/bin/pkgconf.exe (found version "1.8.0")
-- Checking for modules 'protobuf>=3.11;grpc++>=1.26'
--   Found protobuf, version 3.16.0.0
--   Found grpc++, version 1.35.0
-- Looking for gRPC::grpc++ dependency -- found
-- Looking for protoc
-- Looking for protoc -- found
-- Looking for grpc_cpp_plugin
-- Looking for grpc_cpp_plugin -- found
-- Configuring done
-- Generating done
-- Build files have been written to: C:/msys64/home/Bayonetta2.0/new-horizon/lbs/Bear/build

Here is the most important compile log, which shows the error happening:
Compile log end error from 'make'
[  0%] Built target grpc_dependency
[  0%] Built target googletest_dependency
[  5%] Creating directories for 'nlohmann_json_dependency'
[ 11%] Performing download step (download, verify and extract) for 'nlohmann_json_dependency'
-- Downloading...
   dst='C:/msys64/home/Bayonetta2.0/new-horizon/lbs/Bear/build/subprojects/Download/nlohmann_json_dependency/v3.10.4.tar.gz'
   timeout='none'
   inactivity timeout='none'
-- Using src='https://github.com/nlohmann/json/archive/v3.10.4.tar.gz'
-- verifying file...
       file='C:/msys64/home/Bayonetta2.0/new-horizon/lbs/Bear/build/subprojects/Download/nlohmann_json_dependency/v3.10.4.tar.gz'
-- Downloading... done
-- extracting...
     src='C:/msys64/home/Bayonetta2.0/new-horizon/lbs/Bear/build/subprojects/Download/nlohmann_json_dependency/v3.10.4.tar.gz'
     dst='C:/msys64/home/Bayonetta2.0/new-horizon/lbs/Bear/build/subprojects/Source/nlohmann_json_dependency'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 17%] No update step for 'nlohmann_json_dependency'
[ 23%] No patch step for 'nlohmann_json_dependency'
[ 29%] Performing configure step for 'nlohmann_json_dependency'
-- nlohmann_json_dependency configure command succeeded.  See also C:/msys64/home/Bayonetta2.0/new-horizon/lbs/Bear/build/subprojects/Stamp/nlohmann_json_dependency/nlohmann_json_dependency-configure-*.log
[ 35%] Performing build step for 'nlohmann_json_dependency'
-- nlohmann_json_dependency build command succeeded.  See also C:/msys64/home/Bayonetta2.0/new-horizon/lbs/Bear/build/subprojects/Stamp/nlohmann_json_dependency/nlohmann_json_dependency-build-*.log
[ 41%] Performing install step for 'nlohmann_json_dependency'
-- nlohmann_json_dependency install command succeeded.  See also C:/msys64/home/Bayonetta2.0/new-horizon/lbs/Bear/build/subprojects/Stamp/nlohmann_json_dependency/nlohmann_json_dependency-install-*.log
[ 47%] Completed 'nlohmann_json_dependency'
[ 47%] Built target nlohmann_json_dependency
[ 47%] Built target fmt_dependency
[ 47%] Built target spdlog_dependency
[ 52%] Creating directories for 'BearSource'
[ 58%] No download step for 'BearSource'
[ 64%] No update step for 'BearSource'
[ 70%] No patch step for 'BearSource'
[ 76%] Performing configure step for 'BearSource'
loading initial cache file C:/msys64/home/Bayonetta2.0/new-horizon/lbs/Bear/build/subprojects/tmp/BearSource/BearSource-cache-Release.cmake
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/msys64/mingw64/bin/cc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/msys64/mingw64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found nlohmann_json: C:/msys64/home/Bayonetta2.0/new-horizon/lbs/Bear/build/subprojects/Install/nlohmann_json_dependency/lib/cmake/nlohmann_json/nlohmann_jsonConfig.cmake (found version "3.10.4")
-- Found PkgConfig: C:/msys64/mingw64/bin/pkgconf.exe (found version "1.8.0")
-- Checking for modules 'protobuf;grpc++'
--   Found protobuf, version 3.16.0.0
--   Found grpc++, version 1.35.0
-- Looking for spawn.h
-- Looking for spawn.h - not found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for dlfcn.h
-- Looking for dlfcn.h - found
-- Looking for errno.h
-- Looking for errno.h - found
-- Looking for sys/utsname.h
-- Looking for sys/utsname.h - not found
-- Looking for sys/wait.h
-- Looking for sys/wait.h - not found
-- Looking for sys/time.h
-- Looking for sys/time.h - found
-- Looking for gnu/lib-names.h
-- Looking for gnu/lib-names.h - not found
-- Looking for _NSGetEnviron
-- Looking for _NSGetEnviron - not found
-- Looking for dlopen
-- Looking for dlopen - not found
-- Looking for dlsym
-- Looking for dlsym - not found
-- Looking for dlerror
-- Looking for dlerror - not found
-- Looking for dlclose
-- Looking for dlclose - not found
-- Looking for RTLD_NEXT
-- Looking for RTLD_NEXT - found
-- Looking for EACCES
-- Looking for EACCES - found
-- Looking for ENOENT
-- Looking for ENOENT - found
-- Looking for strerror_r
-- Looking for strerror_r - not found
-- Looking for environ
-- Looking for environ - not found
-- Looking for uname
-- Looking for uname - not found
-- Looking for confstr
-- Looking for confstr - not found
-- Looking for _CS_PATH
-- Looking for _CS_PATH - not found
-- Looking for _CS_GNU_LIBC_VERSION
-- Looking for _CS_GNU_LIBC_VERSION - not found
-- Looking for _CS_GNU_LIBPTHREAD_VERSION
-- Looking for _CS_GNU_LIBPTHREAD_VERSION - not found
-- Looking for protoc ... C:/msys64/mingw64/bin/protoc.exe
-- Looking for grpc_cpp_plugin ... C:/msys64/mingw64/bin/grpc_cpp_plugin.exe
-- Configuring done
-- Generating done
-- Build files have been written to: C:/msys64/home/Bayonetta2.0/new-horizon/lbs/Bear/build/subprojects/Build/BearSource
[ 82%] Performing build step for 'BearSource'
[  1%] Building CXX object libflags/CMakeFiles/flags_a.dir/source/Flags.cc.obj
[  1%] Built target flags_a
[  3%] Building CXX object libshell/CMakeFiles/shell_a.dir/source/Command.cc.obj
[  3%] Built target shell_a
[  5%] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Os.cc.obj
C:/msys64/home/Bayonetta2.0/new-horizon/lbs/Bear/source/libsys/source/Os.cc:49:2: error: #error "System call "confstr" not exists."
   49 | #error "System call "confstr" not exists."
      |  ^~~~~
In file included from C:/msys64/mingw64/include/c++/11.2.0/cstdlib:75,
                 from C:/msys64/mingw64/include/c++/11.2.0/bits/stl_algo.h:59,
                 from C:/msys64/mingw64/include/c++/11.2.0/functional:65,
                 from C:/msys64/home/Bayonetta2.0/new-horizon/lbs/Bear/source/libresult/include/libresult/Result.h:22,
                 from C:/msys64/home/Bayonetta2.0/new-horizon/lbs/Bear/source/libsys/include/libsys/Os.h:22,
                 from C:/msys64/home/Bayonetta2.0/new-horizon/lbs/Bear/source/libsys/source/Os.cc:20:
C:/msys64/home/Bayonetta2.0/new-horizon/lbs/Bear/source/libsys/source/Guard.h:35:66: error: cannot declare pointer to 'const class std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&'
   35 |         explicit Guard(const std::map<std::string, std::string>& environ);
      |                                                                  ^~~~~~~
C:/msys64/home/Bayonetta2.0/new-horizon/lbs/Bear/source/libsys/source/Os.cc: In function 'rust::Result<std::__cxx11::basic_string<char> > sys::os::get_confstr(int)':
C:/msys64/home/Bayonetta2.0/new-horizon/lbs/Bear/source/libsys/source/Os.cc:51:5: warning: no return statement in function returning non-void [-Wreturn-type]
   51 |     }
      |     ^
C:/msys64/home/Bayonetta2.0/new-horizon/lbs/Bear/source/libsys/source/Os.cc:35:53: warning: unused parameter 'key' [-Wunused-parameter]
   35 |     rust::Result<std::string> get_confstr(const int key)
      |                                           ~~~~~~~~~~^~~
make[5]: *** [libsys/CMakeFiles/sys_a.dir/build.make:77: libsys/CMakeFiles/sys_a.dir/source/Os.cc.obj] Error 1
make[4]: *** [CMakeFiles/Makefile2:311: libsys/CMakeFiles/sys_a.dir/all] Error 2
make[3]: *** [Makefile:136: all] Error 2
make[2]: *** [CMakeFiles/BearSource.dir/build.make:87: subprojects/Stamp/BearSource/BearSource-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:174: CMakeFiles/BearSource.dir/all] Error 2
make: *** [Makefile:156: all] Error 2


For completion sake here is the output of env , which shows how the MinGW64 environment is setup and the corresponding PATH variable.

Full output of 'env'
ProgramFiles(x86)=C:\Program Files (x86)
!::=::\
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
!C:=C:\msys64
SHELL=/usr/bin/bash
NUMBER_OF_PROCESSORS=16
FPS_BROWSER_USER_PROFILE_STRING=Default
PROCESSOR_LEVEL=23
WD=C:\msys64\usr\bin\
TERM_PROGRAM_VERSION=3.5.2
MINGW_PREFIX=/mingw64
PKG_CONFIG_PATH=/mingw64/lib/pkgconfig:/mingw64/share/pkgconfig
USERDOMAIN_ROAMINGPROFILE=BAYONETTA2
HOSTNAME=Bayonetta2
PROGRAMFILES=C:\Program Files
MSYSTEM=MINGW64
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
ORIGINAL_TEMP=/c/Users/BAYONE~1.0/AppData/Local/Temp
MINGW_CHOST=x86_64-w64-mingw32
OS=Windows_NT
HOMEDRIVE=C:
INTEL_DEV_REDIST=C:\Program Files (x86)\Common Files\Intel\Shared Libraries\
MSYSTEM_CARCH=x86_64
USERDOMAIN=BAYONETTA2
PWD=/home/Bayonetta2.0/new-horizon/lbs/Bear/build
USERPROFILE=C:\Users\Bayonetta2.0
MANPATH=/mingw64/local/man:/mingw64/share/man:/usr/local/man:/usr/share/man:/usr/man:/share/man
PRINTER=Xerox Phaser 3250 PS
TZ=Europe/Berlin
MINGW_PACKAGE_PREFIX=mingw-w64-x86_64
tmp=C:\Users\BAYONE~1.0\AppData\Local\Temp
ALLUSERSPROFILE=C:\ProgramData
ORIGINAL_PATH=/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/
CommonProgramW6432=C:\Program Files\Common Files
HOME=/home/Bayonetta2.0
USERNAME=Bayonetta2.0
VBOX_MSI_INSTALL_PATH=C:\Program Files\Oracle\VirtualBox\
OneDrive=C:\Users\Bayonetta2.0\OneDrive
COMSPEC=C:\WINDOWS\system32\cmd.exe
ADSK_CLM_WPAD_PROXY_CHECK=FALSE
ADSK_3DSMAX_x64_2019=C:\Program Files\Autodesk\3ds Max 2019\
APPDATA=C:\Users\Bayonetta2.0\AppData\Roaming
SYSTEMROOT=C:\WINDOWS
LOCALAPPDATA=C:\Users\Bayonetta2.0\AppData\Local
PROMPT=$P$G
COMPUTERNAME=BAYONETTA2
INFOPATH=/usr/local/info:/usr/share/info:/usr/info:/share/info
TERM=xterm
LOGONSERVER=\\BAYONETTA2
ACLOCAL_PATH=/mingw64/share/aclocal:/usr/share/aclocal
USER=Bayonetta2.0
PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
TEMP=/tmp
temp=C:\Users\BAYONE~1.0\AppData\Local\Temp
MSYSTEM_CHOST=x86_64-w64-mingw32
ORIGINAL_TMP=/c/Users/BAYONE~1.0/AppData/Local/Temp
SHLVL=1
PROCESSOR_REVISION=0802
DriverData=C:\Windows\System32\Drivers\DriverData
VBOX_HWVIRTEX_IGNORE_SVM_IN_USE=1
COMMONPROGRAMFILES=C:\Program Files\Common Files
CONICON=mingw64.ico
MOZ_PLUGIN_PATH=C:\Program Files (x86)\Foxit Software\Foxit Reader\plugins\
LC_CTYPE=en_GB.UTF-8
PROCESSOR_IDENTIFIER=AMD64 Family 23 Model 8 Stepping 2, AuthenticAMD
SESSIONNAME=Console
PS1=\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[35m\]$MSYSTEM\[\e[0m\] \[\e[33m\]\w\[\e[0m\]\n\$
HOMEPATH=\Users\Bayonetta2.0
XDG_DATA_DIRS=/mingw64/share/:/usr/local/share/:/usr/share/
MSYSCON=mintty.exe
TMP=/tmp
CONFIG_SITE=/etc/config.site
PATH=/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
ProgramW6432=C:\Program Files
MSYSTEM_PREFIX=/mingw64
LOGINSHELL=bash
CONTITLE=MinGW x64
MIC_LD_LIBRARY_PATH=C:\Program Files (x86)\Common Files\Intel\Shared Libraries\compiler\lib\mic
WINDIR=C:\WINDOWS
FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer
PROCESSOR_ARCHITECTURE=AMD64
PUBLIC=C:\Users\Public
SYSTEMDRIVE=C:
OLDPWD=/home/Bayonetta2.0/new-horizon/lbs/Bear
TERM_PROGRAM=mintty
ProgramData=C:\ProgramData
_=/usr/bin/env

To Reproduce
Install MSYS2 and the GNU Toolchain mingw-w64-x86_64-toolchain via pacman.
Open up the MinGW64 environment, via the "MSYS2 MinGW 64-bit" shortcut. Try to compile Bear.

Environment:

  • OS name: Windows 10 - MINGW64_NT-10.0-19044
  • OS architecture: x86_64
  • Bear version: git master on the Sun Nov 14 11:51:23 2021
  • Bear install method: From source

I'm happy to quickly test any suggested solution.

@rizsotto
Copy link
Owner

Hey @FrostKiwi , I've made a fix for this. It's on the devel branch. Could you try if it works for you?

@FrostKiwi
Copy link
Author

Hey @FrostKiwi , I've made a fix for this. It's on the devel branch. Could you try if it works for you?

Looks like progress :] It's not complaing about missing syscalls anymore.
The pre-processor complains now though with the following error:

[  5%] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Os.cc.obj
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Os.cc:33:14: error: missing binary operator before token "HAVE_CONFSTR"
   33 | #if definded HAVE_CONFSTR
      |              ^~~~~~~~~~~~
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Os.cc:56:14: error: missing binary operator before token "HAVE_CS_PATH"
   56 | #if definded HAVE_CS_PATH && defined HAVE_CONFSTR
      |              ^~~~~~~~~~~~
In file included from C:/DMGMORI_Development/msys64/mingw64/include/c++/11.2.0/cstdlib:75,
                 from C:/DMGMORI_Development/msys64/mingw64/include/c++/11.2.0/bits/stl_algo.h:59,
                 from C:/DMGMORI_Development/msys64/mingw64/include/c++/11.2.0/functional:65,
                 from C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libresult/include/libresult/Result.h:22,
                 from C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/include/libsys/Os.h:22,
                 from C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Os.cc:20:
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Guard.h:35:66: error: cannot declare pointer to 'const class std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&'
   35 |         explicit Guard(const std::map<std::string, std::string>& environ);
      |                                                                  ^~~~~~~
make[5]: *** [libsys/CMakeFiles/sys_a.dir/build.make:77: libsys/CMakeFiles/sys_a.dir/source/Os.cc.obj] Error 1
make[4]: *** [CMakeFiles/Makefile2:311: libsys/CMakeFiles/sys_a.dir/all] Error 2
make[3]: *** [Makefile:136: all] Error 2
make[2]: *** [CMakeFiles/BearSource.dir/build.make:87: subprojects/Stamp/BearSource/BearSource-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:174: CMakeFiles/BearSource.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

@rizsotto
Copy link
Owner

I'm sorry @FrostKiwi , it was a typo. (I wrote definded instead of defined.) Did force pushed the devel branch.

@FrostKiwi
Copy link
Author

FrostKiwi commented Nov 27, 2021

Hahaha, that's a fail for me as well. I thought "missing binary operator" is something easy, so I stared at it for a good minute and gave up.

One thing down, one more to go, at least as per my log:
Guard.h:35:66: error: cannot declare pointer to 'const class std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&'

[  5%] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Os.cc.obj
In file included from C:/DMGMORI_Development/msys64/mingw64/include/c++/11.2.0/cstdlib:75,
                 from C:/DMGMORI_Development/msys64/mingw64/include/c++/11.2.0/bits/stl_algo.h:59,
                 from C:/DMGMORI_Development/msys64/mingw64/include/c++/11.2.0/functional:65,
                 from C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libresult/include/libresult/Result.h:22,
                 from C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/include/libsys/Os.h:22,
                 from C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Os.cc:20:
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Guard.h:35:66: error: cannot declare pointer to 'const class std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&'
   35 |         explicit Guard(const std::map<std::string, std::string>& environ);
      |                                                                  ^~~~~~~
make[5]: *** [libsys/CMakeFiles/sys_a.dir/build.make:77: libsys/CMakeFiles/sys_a.dir/source/Os.cc.obj] Error 1
make[4]: *** [CMakeFiles/Makefile2:311: libsys/CMakeFiles/sys_a.dir/all] Error 2
make[3]: *** [Makefile:136: all] Error 2
make[2]: *** [CMakeFiles/BearSource.dir/build.make:87: subprojects/Stamp/BearSource/BearSource-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:174: CMakeFiles/BearSource.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

Thx for supporting esoteric programming setups with so much passion and love <3

@rizsotto
Copy link
Owner

I'm guessing here: I think the name environ is a macro somewhere in MinGW and collide with the argument name. I did renamed the argument in my file. The fix is on devel branch again.

@FrostKiwi
Copy link
Author

Guard.cc, Os.cc and Flags.cc don't complain anymore. 🎉
Next up, Path.cc starts complaining though with Path.cc:54:31: error: could not convert 'std::accumulate(_InputIterator [...]

[  1%] Building CXX object libflags/CMakeFiles/flags_a.dir/source/Flags.cc.obj
[  1%] Built target flags_a
[  3%] Building CXX object libshell/CMakeFiles/shell_a.dir/source/Command.cc.obj
[  3%] Built target shell_a
[  5%] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Os.cc.obj
[  6%] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Guard.cc.obj
[  8%] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Errors.cc.obj
[ 10%] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Path.cc.obj
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Path.cc: In function 'std::string {anonymous}::join_with(const std::__cxx11::list<std::filesystem::__cxx11::path>&, char)':
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Path.cc:54:31: error: could not convert 'std::accumulate(_InputIterator, _InputIterator, _Tp, _BinaryOperation) [with _InputIterator = std::_List_const_iterator<std::filesystem::__cxx11::path>; _Tp = std::filesystem::__cxx11::path; _BinaryOperation = {anonymous}::join_with(const std::__cxx11::list<std::filesystem::__cxx11::path>&, char)::<lambda(std::string, const std::filesystem::__cxx11::path&)>]((& input)->std::__cxx11::list<std::filesystem::__cxx11::path>::end(), std::filesystem::__cxx11::path((* &(& input)->std::__cxx11::list<std::filesystem::__cxx11::path>::begin().std::_List_const_iterator<std::filesystem::__cxx11::path>::operator*())), <lambda closure object>{anonymous}::join_with(const std::__cxx11::list<std::filesystem::__cxx11::path>&, char)::<lambda(std::string, const std::filesystem::__cxx11::path&)>{sep})' from 'std::filesystem::__cxx11::path' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
   54 |         return std::accumulate(std::next(input.begin()), input.end(),
      |                ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                               |
      |                               std::filesystem::__cxx11::path
   55 |                                *input.begin(),
      |                                ~~~~~~~~~~~~~~~
   56 |                                [&sep](std::string acc, const fs::path &item) {
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   57 |                                    return std::move(acc) + sep + item.string();
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   58 |                                });
      |                                ~~
In file included from C:/DMGMORI_Development/msys64/mingw64/include/c++/11.2.0/numeric:62,
                 from C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Path.cc:23:
C:/DMGMORI_Development/msys64/mingw64/include/c++/11.2.0/bits/stl_numeric.h: In instantiation of '_Tp std::accumulate(_InputIterator, _InputIterator, _Tp, _BinaryOperation) [with _InputIterator = std::_List_const_iterator<std::filesystem::__cxx11::path>; _Tp = std::filesystem::__cxx11::path; _BinaryOperation = {anonymous}::join_with(const std::__cxx11::list<std::filesystem::__cxx11::path>&, char)::<lambda(std::string, const std::filesystem::__cxx11::path&)>]':
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Path.cc:54:31:   required from here
C:/DMGMORI_Development/msys64/mingw64/include/c++/11.2.0/bits/stl_numeric.h:169:29: error: no match for call to '({anonymous}::join_with(const std::__cxx11::list<std::filesystem::__cxx11::path>&, char)::<lambda(std::string, const std::filesystem::__cxx11::path&)>) (std::filesystem::__cxx11::path&, const std::filesystem::__cxx11::path&)'
  169 |         __init = __binary_op(_GLIBCXX_MOVE_IF_20(__init), *__first);
      |                  ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Path.cc:56:32: note: candidate: '{anonymous}::join_with(const std::__cxx11::list<std::filesystem::__cxx11::path>&, char)::<lambda(std::string, const std::filesystem::__cxx11::path&)>'
   56 |                                [&sep](std::string acc, const fs::path &item) {
      |                                ^
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Path.cc:56:32: note:   no known conversion for argument 1 from 'std::filesystem::__cxx11::path' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
make[5]: *** [libsys/CMakeFiles/sys_a.dir/build.make:122: libsys/CMakeFiles/sys_a.dir/source/Path.cc.obj] Error 1
make[4]: *** [CMakeFiles/Makefile2:311: libsys/CMakeFiles/sys_a.dir/all] Error 2
make[3]: *** [Makefile:136: all] Error 2
make[2]: *** [CMakeFiles/BearSource.dir/build.make:87: subprojects/Stamp/BearSource/BearSource-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:174: CMakeFiles/BearSource.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

@rizsotto
Copy link
Owner

Looks like your compiler is more pedantic and was not called the implicit conversion from std::filesystem::path to std::string. Anyway, I've replaced this with a simpler for-loop, which has no STL magic. The fix is on devel branch again.

@FrostKiwi
Copy link
Author

Path.cc succesfully cleared 🎉 Right the next source file complains ;____;
Apparently it's once more POSIX related. Process.cc:76:15: error: 'posix_spawn_file_actions_t' does not name a type

make log with error from Process.cc
[ 82%] Performing build step for 'BearSource'
[  1%] Building CXX object libflags/CMakeFiles/flags_a.dir/source/Flags.cc.obj
[  1%] Built target flags_a
[  3%] Building CXX object libshell/CMakeFiles/shell_a.dir/source/Command.cc.obj
[  3%] Built target shell_a
[  5%] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Os.cc.obj
[  6%] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Guard.cc.obj
[  8%] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Errors.cc.obj
[ 10%] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Path.cc.obj
[ 11%] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Process.cc.obj
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:76:15: error: 'posix_spawn_file_actions_t' does not name a type
   76 |         const posix_spawn_file_actions_t* file_actions_ptr,
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:77:15: error: 'posix_spawnattr_t' does not name a type
   77 |         const posix_spawnattr_t* attr_ptr,
      |               ^~~~~~~~~~~~~~~~~
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc: In lambda function:
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:94:24: error: '::posix_spawnp' has not been declared; did you mean 'posix_spawn_t'?
   94 |             if (0 != ::posix_spawnp(&child, path, nullptr, nullptr, const_cast<char**>(argv), const_cast<char**>(envp))) {
      |                        ^~~~~~~~~~~~
      |                        posix_spawn_t
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc: In function 'rust::Result<sys::Process> {anonymous}::spawn_process({anonymous}::spawn_function_t, const std::filesystem::__cxx11::path&, const std::__cxx11::list<std::__cxx11::basic_string<char> >&, const std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&)':
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:155:18: error: no match for call to '({anonymous}::spawn_function_t {aka std::function<rust::Result<long long int>(const char*, char* const*, char* const*)>}) (const value_type*, char**, char**)'
  155 |         return fp(program.c_str(), args.data(), const_cast<char**>(env.data()))
      |                ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from C:/DMGMORI_Development/msys64/mingw64/include/c++/11.2.0/functional:59,
                 from C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libresult/include/libresult/Result.h:22,
                 from C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/include/libsys/Process.h:23,
                 from C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:20:
C:/DMGMORI_Development/msys64/mingw64/include/c++/11.2.0/bits/std_function.h:556:7: note: candidate: '_Res std::function<_Res(_ArgTypes ...)>::operator()(_ArgTypes ...) const [with _Res = rust::Result<long long int>; _ArgTypes = {const char*, char* const*, char* const*}]'
  556 |       operator()(_ArgTypes... __args) const
      |       ^~~~~~~~
C:/DMGMORI_Development/msys64/mingw64/include/c++/11.2.0/bits/std_function.h:556:27: note:   no known conversion for argument 1 from 'const value_type*' {aka 'const wchar_t*'} to 'const char*'
  556 |       operator()(_ArgTypes... __args) const
      |                  ~~~~~~~~~^~~~~~~~~~
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:162:34: error: expected primary-expression before '>' token
  162 |                 .map<sys::Process>([](const auto& pid) {
      |                                  ^
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:165:18: error: 'struct {anonymous}::spawn_process({anonymous}::spawn_function_t, const std::filesystem::__cxx11::path&, const std::__cxx11::list<std::__cxx11::basic_string<char> >&, const std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&)::<lambda(const auto:9&)>' has no member named 'on_success'
  165 |                 .on_success([&parameters](const auto& process) {
      |                  ^~~~~~~~~~
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc: In function 'rust::Result<sys::ExitStatus> {anonymous}::wait_for(pid_t, bool)':
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:177:49: error: 'WUNTRACED' was not declared in this scope
  177 |         const int mask = request_for_signals ? (WUNTRACED | WCONTINUED) : 0;
      |                                                 ^~~~~~~~~
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:177:61: error: 'WCONTINUED' was not declared in this scope; did you mean 'IDCONTINUE'?
  177 |         const int mask = request_for_signals ? (WUNTRACED | WCONTINUED) : 0;
      |                                                             ^~~~~~~~~~
      |                                                             IDCONTINUE
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:178:33: error: '::waitpid' has not been declared
  178 |         if (int status; -1 != ::waitpid(pid, &status, mask)) {
      |                                 ^~~~~~~
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:179:17: error: 'WIFEXITED' was not declared in this scope
  179 |             if (WIFEXITED(status)) {
      |                 ^~~~~~~~~
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:180:55: error: 'WEXITSTATUS' was not declared in this scope
  180 |                 return rust::Ok(sys::ExitStatus(true, WEXITSTATUS(status)));
      |                                                       ^~~~~~~~~~~
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:181:24: error: 'WIFSIGNALED' was not declared in this scope
  181 |             } else if (WIFSIGNALED(status)) {
      |                        ^~~~~~~~~~~
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:182:56: error: 'WTERMSIG' was not declared in this scope
  182 |                 return rust::Ok(sys::ExitStatus(false, WTERMSIG(status)));
      |                                                        ^~~~~~~~
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:183:24: error: 'WIFSTOPPED' was not declared in this scope
  183 |             } else if (WIFSTOPPED(status)) {
      |                        ^~~~~~~~~~
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:184:56: error: 'WSTOPSIG' was not declared in this scope
  184 |                 return rust::Ok(sys::ExitStatus(false, WSTOPSIG(status)));
      |                                                        ^~~~~~~~
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:185:24: error: 'WIFCONTINUED' was not declared in this scope; did you mean 'IDCONTINUE'?
  185 |             } else if (WIFCONTINUED(status)) {
      |                        ^~~~~~~~~~~~
      |                        IDCONTINUE
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:186:56: error: 'SIGCONT' was not declared in this scope; did you mean 'SIGINT'?
  186 |                 return rust::Ok(sys::ExitStatus(false, SIGCONT));
      |                                                        ^~~~~~~
      |                                                        SIGINT
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc: In function 'rust::Result<int> {anonymous}::send_signal(pid_t, int)':
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:199:34: error: '::kill' has not been declared
  199 |         if (const int result = ::kill(pid, num); 0 == result) {
      |                                  ^~~~
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc: In member function 'bool sys::ExitStatus::is_exited() const':
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:233:39: error: 'SIGCONT' was not declared in this scope; did you mean 'SIGINT'?
  233 |         return is_code_ || ((code_ != SIGCONT) && (code_ != SIGSTOP));
      |                                       ^~~~~~~
      |                                       SIGINT
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:233:61: error: 'SIGSTOP' was not declared in this scope
  233 |         return is_code_ || ((code_ != SIGCONT) && (code_ != SIGSTOP));
      |                                                             ^~~~~~~
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc: In lambda function:
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:100:9: warning: control reaches end of non-void function [-Wreturn-type]
  100 |         };
      |         ^
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc: At global scope:
C:/DMGMORI_Development/msys64/home/artsimow/pom/lbs/Bear/source/libsys/source/Process.cc:59:19: warning: 'std::ostream& {anonymous}::operator<<(std::ostream&, const {anonymous}::Arguments&)' defined but not used [-Wunused-function]
   59 |     std::ostream& operator<<(std::ostream& os, const Arguments& arguments)
      |                   ^~~~~~~~
make[5]: *** [libsys/CMakeFiles/sys_a.dir/build.make:137: libsys/CMakeFiles/sys_a.dir/source/Process.cc.obj] Error 1
make[4]: *** [CMakeFiles/Makefile2:311: libsys/CMakeFiles/sys_a.dir/all] Error 2
make[3]: *** [Makefile:136: all] Error 2
make[2]: *** [CMakeFiles/BearSource.dir/build.make:87: subprojects/Stamp/BearSource/BearSource-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:174: CMakeFiles/BearSource.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

@rizsotto
Copy link
Owner

This I don't know how to fix. Yet. Can you pass the config.h file from <build dir>/subprojects/Build/BearSource/config.h after the cmake configure step? That will tell me which header files are included.

I'll also need to see what are the content of the MinGW header files. Is that available somewhere on GitHub or some public repository?

@FrostKiwi
Copy link
Author

FrostKiwi commented Nov 28, 2021

Uploading text files is forbidden ( I mean it's GitHub, what's the logic O.o )
So it's compressed here: config.h.zip
Also for convinience included literally here:

config.h from Bear\build\subprojects\Build\BearSource after cmake ran as part of the make build command
/*  Copyright (C) 2012-2021 by László Nagy
    This file is part of Bear.

    Bear is a tool to generate compilation database for clang tooling.

    Bear is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Bear is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#pragma once

// specific platform indicator, should not using like this. (needs to be deprecated)
/* #undef SUPPORT_PRELOAD */
/* #undef SUPPORT_MULTILIB */

// header checks
/* #undef HAVE_SPAWN_H */
#define HAVE_UNISTD_H
/* #undef HAVE_DLFCN_H */
#define HAVE_ERRNO_H
/* #undef HAVE_SYS_UTSNAME_H */
/* #undef HAVE_SYS_WAIT_H */
#define HAVE_SYS_TIME_H
/* #undef HAVE_GNU_LIB_NAMES_H */

// OSX specific (needs to be deprecated)
/* #undef HAVE_NSGETENVIRON */

// dynamic linker
/* #undef HAVE_DLOPEN */
/* #undef HAVE_DLSYM */
/* #undef HAVE_DLERROR */
/* #undef HAVE_DLCLOSE */
/* #undef HAVE_RTLD_NEXT */

// errno values
#define HAVE_EACCES
#define HAVE_ENOENT
/* #undef HAVE_UNAME */

// string.h function
/* #undef HAVE_STRERROR_R */

// unistd.h might declare the environ symbol
/* #undef HAVE_ENVIRON */

// confstr and macros
/* #undef HAVE_CONFSTR */
/* #undef HAVE_CS_PATH */
/* #undef HAVE_CS_GNU_LIBC_VERSION */
/* #undef HAVE_CS_GNU_LIBPTHREAD_VERSION */

// macros to disable compiler generated methods
#define NON_DEFAULT_CONSTRUCTABLE(T) \
    T() noexcept = delete;

#define NON_COPYABLE_NOR_MOVABLE(T) \
    T(T const &) = delete; \
    T& operator=(T const &) = delete; \
    T(T &&) noexcept = delete; \
    T& operator=(T &&) noexcept = delete;

// const expression about this project
namespace cmd {
    constexpr char VERSION[] = "3.0.18";

    namespace bear {

        constexpr char FLAG_CITNAMES[] = "--citnames";
        constexpr char FLAG_INTERCEPT[] = "--interceptor";
    }

    namespace citnames {
        constexpr char DEFAULT_PATH[] = "C:/Program Files (x86)/Bear/bin/citnames";

        constexpr char FLAG_INPUT[] = "--input";
        constexpr char FLAG_OUTPUT[] = "--output";
        constexpr char FLAG_APPEND[] = "--append";
        constexpr char FLAG_RUN_CHECKS[] = "--run-checks";
        constexpr char FLAG_CONFIG[] = "--config";

        constexpr char DEFAULT_OUTPUT[] = "compile_commands.json";
    }

    namespace intercept {
        constexpr char DEFAULT_PATH[] = "C:/Program Files (x86)/Bear/bin/intercept";

        constexpr char FLAG_OUTPUT[] = "--output";
        constexpr char FLAG_LIBRARY[] = "--library";
        constexpr char FLAG_WRAPPER[] = "--wrapper";
        constexpr char FLAG_WRAPPER_DIR[] = "--wrapper-dir";
        constexpr char FLAG_COMMAND[] = "--";
        constexpr char FLAG_FORCE_WRAPPER[] = "--force-wrapper";
        constexpr char FLAG_FORCE_PRELOAD[] = "--force-preload";

        constexpr char DEFAULT_OUTPUT[] = "events.json";
    }

    namespace wrapper {
        constexpr char DEFAULT_PATH[] = "C:/Program Files (x86)/Bear/lib/bear/wrapper";
        constexpr char DEFAULT_DIR_PATH[] = "C:/Program Files (x86)/Bear/lib/bear/wrapper.d";

        constexpr char FLAG_VERBOSE[] = "--verbose";
        constexpr char FLAG_DESTINATION[] = "--destination";
        constexpr char FLAG_EXECUTE[] = "--execute";
        constexpr char FLAG_COMMAND[] = "--";

        constexpr char KEY_DESTINATION[] = "INTERCEPT_REPORT_DESTINATION";
        constexpr char KEY_VERBOSE[] = "INTERCEPT_VERBOSE";
    }

    namespace library {

#ifdef SUPPORT_MULTILIB
        // Multilib is one of the solutions allowing users to run applications
        // built for various application binary interfaces (ABIs) of the same
        // architecture. The most common use of multilib is to run 32-bit
        // applications on 64-bit kernel.
        //
        // For Linux, a small tune is needed at build time. Need to compile
        // `libexec.so` library for 32-bit and for 64-bit too. Then install
        // these libraries to the OS preferred multilib directories.
        // And use the `libexec.so` path default value with a single path,
        // that matches both. (The match can be achieved by the $LIB token
        // expansion from the dynamic loader. See `man ld.so` for more.)
        constexpr char DEFAULT_PATH[] = "C:/Program Files (x86)/Bear/$LIB/bear/libexec.dll";
#else
        constexpr char DEFAULT_PATH[] = "C:/Program Files (x86)/Bear/lib/bear/libexec.dll";
#endif
        constexpr char KEY_REPORTER[] = "INTERCEPT_REPORT_COMMAND";
        constexpr char KEY_DESTINATION[] = "INTERCEPT_REPORT_DESTINATION";
        constexpr char KEY_VERBOSE[] = "INTERCEPT_VERBOSE";
    }
}

Whether there is a public place to look at how the includes look, I think no. There is a public package listing for all of MSYS2: https://packages.msys2.org , but the filesystem is built via the package manager and each package contributing it's contents. So virtual machine + installing MSYS or a straight up Windows machine is propably the way to go? I know you can cross-compile with MinGW64 packages to Windows from Linux, but that possibly(?) changes what layout we are working with.
In this case we are compiling specifically with the MinGW64 environment. As described in the MSYS documentation, two include directories play a role here:

The MSYS environment contains the unix-like/cygwin based tools, lives under /usr and are special in that it is always active. All the other environments inherit from the MSYS environment and add various things on top of it.

So here is what I did for the sake of providing something useful - I archived the MSYS include directory from /usr/include here:
MSYS-usr-include.zip
And for convinience here is the output of Tree for that directory:

Output of Tree from msys64\usr\include (Includes what the base MSYS environment provides)
.
├── alpm.h
├── alpm_list.h
├── arpa
│   └── tftp.h
├── autoopts
│   ├── options.h
│   └── usage-txt.h
├── autosprintf.h
├── fakemysql.h
├── fakepq.h
├── fakesql.h
├── FlexLexer.h
├── gawkapi.h
├── gettext-po.h
├── gnumake.h
├── iconv.h
├── itcl.h
├── itcl2TclOO.h
├── itclDecls.h
├── itclInt.h
├── itclIntDecls.h
├── itclMigrate2TclCore.h
├── itclTclIntStubsFcn.h
├── libcharset.h
├── libintl.h
├── libltdl
│   ├── lt_dlloader.h
│   ├── lt_error.h
│   └── lt_system.h
├── localcharset.h
├── ltdl.h
├── magic.h
├── mysqlStubs.h
├── odbcStubs.h
├── pkgconf
│   └── libpkgconf
│       ├── bsdstubs.h
│       ├── iter.h
│       ├── libpkgconf.h
│       ├── libpkgconf-api.h
│       └── stdinc.h
├── pqStubs.h
├── python3.9
│   ├── abstract.h
│   ├── asdl.h
│   ├── ast.h
│   ├── bitset.h
│   ├── bltinmodule.h
│   ├── boolobject.h
│   ├── bytearrayobject.h
│   ├── bytesobject.h
│   ├── cellobject.h
│   ├── ceval.h
│   ├── classobject.h
│   ├── code.h
│   ├── codecs.h
│   ├── compile.h
│   ├── complexobject.h
│   ├── context.h
│   ├── cpython
│   │   ├── abstract.h
│   │   ├── bytearrayobject.h
│   │   ├── bytesobject.h
│   │   ├── ceval.h
│   │   ├── code.h
│   │   ├── dictobject.h
│   │   ├── fileobject.h
│   │   ├── fileutils.h
│   │   ├── frameobject.h
│   │   ├── import.h
│   │   ├── initconfig.h
│   │   ├── interpreteridobject.h
│   │   ├── listobject.h
│   │   ├── methodobject.h
│   │   ├── object.h
│   │   ├── objimpl.h
│   │   ├── pyerrors.h
│   │   ├── pylifecycle.h
│   │   ├── pymem.h
│   │   ├── pystate.h
│   │   ├── sysmodule.h
│   │   ├── traceback.h
│   │   ├── tupleobject.h
│   │   └── unicodeobject.h
│   ├── datetime.h
│   ├── descrobject.h
│   ├── dictobject.h
│   ├── dynamic_annotations.h
│   ├── enumobject.h
│   ├── errcode.h
│   ├── eval.h
│   ├── exports.h
│   ├── fileobject.h
│   ├── fileutils.h
│   ├── floatobject.h
│   ├── frameobject.h
│   ├── funcobject.h
│   ├── genericaliasobject.h
│   ├── genobject.h
│   ├── graminit.h
│   ├── grammar.h
│   ├── import.h
│   ├── internal
│   │   ├── pegen_interface.h
│   │   ├── pycore_abstract.h
│   │   ├── pycore_accu.h
│   │   ├── pycore_atomic.h
│   │   ├── pycore_bytes_methods.h
│   │   ├── pycore_byteswap.h
│   │   ├── pycore_call.h
│   │   ├── pycore_ceval.h
│   │   ├── pycore_code.h
│   │   ├── pycore_condvar.h
│   │   ├── pycore_context.h
│   │   ├── pycore_dtoa.h
│   │   ├── pycore_fileutils.h
│   │   ├── pycore_gc.h
│   │   ├── pycore_getopt.h
│   │   ├── pycore_gil.h
│   │   ├── pycore_hamt.h
│   │   ├── pycore_hashtable.h
│   │   ├── pycore_import.h
│   │   ├── pycore_initconfig.h
│   │   ├── pycore_interp.h
│   │   ├── pycore_object.h
│   │   ├── pycore_pathconfig.h
│   │   ├── pycore_pyerrors.h
│   │   ├── pycore_pyhash.h
│   │   ├── pycore_pylifecycle.h
│   │   ├── pycore_pymem.h
│   │   ├── pycore_pystate.h
│   │   ├── pycore_runtime.h
│   │   ├── pycore_sysmodule.h
│   │   ├── pycore_traceback.h
│   │   ├── pycore_tupleobject.h
│   │   └── pycore_warnings.h
│   ├── interpreteridobject.h
│   ├── intrcheck.h
│   ├── iterobject.h
│   ├── listobject.h
│   ├── longintrepr.h
│   ├── longobject.h
│   ├── marshal.h
│   ├── memoryobject.h
│   ├── methodobject.h
│   ├── modsupport.h
│   ├── moduleobject.h
│   ├── namespaceobject.h
│   ├── node.h
│   ├── object.h
│   ├── objimpl.h
│   ├── odictobject.h
│   ├── opcode.h
│   ├── osdefs.h
│   ├── osmodule.h
│   ├── parsetok.h
│   ├── patchlevel.h
│   ├── picklebufobject.h
│   ├── py_curses.h
│   ├── pyarena.h
│   ├── pycapsule.h
│   ├── pyconfig.h
│   ├── pyctype.h
│   ├── pydebug.h
│   ├── pydtrace.h
│   ├── pyerrors.h
│   ├── pyexpat.h
│   ├── pyfpe.h
│   ├── pyframe.h
│   ├── pyhash.h
│   ├── pylifecycle.h
│   ├── pymacconfig.h
│   ├── pymacro.h
│   ├── pymath.h
│   ├── pymem.h
│   ├── pyport.h
│   ├── pystate.h
│   ├── pystrcmp.h
│   ├── pystrhex.h
│   ├── pystrtod.h
│   ├── Python.h
│   ├── Python-ast.h
│   ├── pythonrun.h
│   ├── pythread.h
│   ├── pytime.h
│   ├── rangeobject.h
│   ├── setobject.h
│   ├── sliceobject.h
│   ├── structmember.h
│   ├── structseq.h
│   ├── symtable.h
│   ├── sysmodule.h
│   ├── token.h
│   ├── traceback.h
│   ├── tracemalloc.h
│   ├── tupleobject.h
│   ├── typeslots.h
│   ├── ucnhash.h
│   ├── unicodeobject.h
│   ├── warnings.h
│   └── weakrefobject.h
├── reFlexLexer.h
├── tcl.h
├── tcl8.6
│   ├── generic
│   │   ├── fakemysql.h
│   │   ├── fakepq.h
│   │   ├── fakesql.h
│   │   ├── itcl.h
│   │   ├── itcl2TclOO.h
│   │   ├── itclDecls.h
│   │   ├── itclInt.h
│   │   ├── itclIntDecls.h
│   │   ├── itclMigrate2TclCore.h
│   │   ├── itclTclIntStubsFcn.h
│   │   ├── mysqlStubs.h
│   │   ├── odbcStubs.h
│   │   ├── pqStubs.h
│   │   ├── regcustom.h
│   │   ├── regerrs.h
│   │   ├── regex.h
│   │   ├── regguts.h
│   │   ├── tcl.h
│   │   ├── tclCompile.h
│   │   ├── tclDecls.h
│   │   ├── tclFileSystem.h
│   │   ├── tclInt.h
│   │   ├── tclIntDecls.h
│   │   ├── tclIntPlatDecls.h
│   │   ├── tclIO.h
│   │   ├── tclOO.h
│   │   ├── tclOODecls.h
│   │   ├── tclOOInt.h
│   │   ├── tclOOIntDecls.h
│   │   ├── tclParse.h
│   │   ├── tclPlatDecls.h
│   │   ├── tclPort.h
│   │   ├── tclRegexp.h
│   │   ├── tclStringRep.h
│   │   ├── tclStringTrim.h
│   │   ├── tclThread.h
│   │   ├── tclTomMath.h
│   │   ├── tclTomMathDecls.h
│   │   ├── tclTomMathInt.h
│   │   ├── tdbc.h
│   │   ├── tdbcDecls.h
│   │   ├── tdbcInt.h
│   │   └── tommath.h
│   └── unix
│       ├── tclUnixPort.h
│       └── tclUnixThrd.h
├── tclDecls.h
├── tclOO.h
├── tclOODecls.h
├── tclPlatDecls.h
├── tclThread.h
├── tclTomMath.h
├── tclTomMathDecls.h
├── tdbc.h
├── tdbcDecls.h
├── tdbcInt.h
├── treeout.txt
└── unrar
    └── dll.hpp

12 directories, 252 files

And here the same for the MinGW64 include directory, which is a real chonker:
mingw64-include.zip

Output of Tree from msys64\mingw64\include (Includes what the MinGW64 environment provides)
.
├── archive.h
├── archive_entry.h
├── ares.h
├── ares_build.h
├── ares_dns.h
├── ares_rules.h
├── ares_version.h
├── autosprintf.h
├── binutils
│   ├── ansidecl.h
│   ├── bfd.h
│   ├── bfdlink.h
│   ├── ctf.h
│   ├── ctf-api.h
│   ├── diagnostics.h
│   ├── dis-asm.h
│   ├── plugin-api.h
│   └── symcat.h
├── brotli
│   ├── decode.h
│   ├── encode.h
│   ├── port.h
│   └── types.h
├── bzlib.h
├── c++
│   └── 11.2.0
│       ├── algorithm
│       ├── any
│       ├── array
│       ├── atomic
│       ├── backward
│       │   ├── auto_ptr.h
│       │   ├── backward_warning.h
│       │   ├── binders.h
│       │   ├── hash_fun.h
│       │   ├── hash_map
│       │   ├── hash_set
│       │   ├── hashtable.h
│       │   └── strstream
│       ├── barrier
│       ├── bit
│       ├── bits
│       │   ├── algorithmfwd.h
│       │   ├── align.h
│       │   ├── alloc_traits.h
│       │   ├── allocated_ptr.h
│       │   ├── allocator.h
│       │   ├── atomic_base.h
│       │   ├── atomic_futex.h
│       │   ├── atomic_lockfree_defines.h
│       │   ├── atomic_timed_wait.h
│       │   ├── atomic_wait.h
│       │   ├── basic_ios.h
│       │   ├── basic_ios.tcc
│       │   ├── basic_string.h
│       │   ├── basic_string.tcc
│       │   ├── boost_concept_check.h
│       │   ├── c++0x_warning.h
│       │   ├── char_traits.h
│       │   ├── charconv.h
│       │   ├── codecvt.h
│       │   ├── concept_check.h
│       │   ├── cpp_type_traits.h
│       │   ├── cxxabi_forced.h
│       │   ├── cxxabi_init_exception.h
│       │   ├── deque.tcc
│       │   ├── enable_special_members.h
│       │   ├── erase_if.h
│       │   ├── exception.h
│       │   ├── exception_defines.h
│       │   ├── exception_ptr.h
│       │   ├── forward_list.h
│       │   ├── forward_list.tcc
│       │   ├── fs_dir.h
│       │   ├── fs_fwd.h
│       │   ├── fs_ops.h
│       │   ├── fs_path.h
│       │   ├── fstream.tcc
│       │   ├── functexcept.h
│       │   ├── functional_hash.h
│       │   ├── gslice.h
│       │   ├── gslice_array.h
│       │   ├── hash_bytes.h
│       │   ├── hashtable.h
│       │   ├── hashtable_policy.h
│       │   ├── indirect_array.h
│       │   ├── invoke.h
│       │   ├── ios_base.h
│       │   ├── istream.tcc
│       │   ├── iterator_concepts.h
│       │   ├── list.tcc
│       │   ├── locale_classes.h
│       │   ├── locale_classes.tcc
│       │   ├── locale_conv.h
│       │   ├── locale_facets.h
│       │   ├── locale_facets.tcc
│       │   ├── locale_facets_nonio.h
│       │   ├── locale_facets_nonio.tcc
│       │   ├── localefwd.h
│       │   ├── mask_array.h
│       │   ├── max_size_type.h
│       │   ├── memoryfwd.h
│       │   ├── move.h
│       │   ├── nested_exception.h
│       │   ├── node_handle.h
│       │   ├── ostream.tcc
│       │   ├── ostream_insert.h
│       │   ├── parse_numbers.h
│       │   ├── postypes.h
│       │   ├── predefined_ops.h
│       │   ├── ptr_traits.h
│       │   ├── quoted_string.h
│       │   ├── random.h
│       │   ├── random.tcc
│       │   ├── range_access.h
│       │   ├── ranges_algo.h
│       │   ├── ranges_algobase.h
│       │   ├── ranges_base.h
│       │   ├── ranges_cmp.h
│       │   ├── ranges_uninitialized.h
│       │   ├── ranges_util.h
│       │   ├── refwrap.h
│       │   ├── regex.h
│       │   ├── regex.tcc
│       │   ├── regex_automaton.h
│       │   ├── regex_automaton.tcc
│       │   ├── regex_compiler.h
│       │   ├── regex_compiler.tcc
│       │   ├── regex_constants.h
│       │   ├── regex_error.h
│       │   ├── regex_executor.h
│       │   ├── regex_executor.tcc
│       │   ├── regex_scanner.h
│       │   ├── regex_scanner.tcc
│       │   ├── semaphore_base.h
│       │   ├── shared_ptr.h
│       │   ├── shared_ptr_atomic.h
│       │   ├── shared_ptr_base.h
│       │   ├── slice_array.h
│       │   ├── specfun.h
│       │   ├── sstream.tcc
│       │   ├── std_abs.h
│       │   ├── std_function.h
│       │   ├── std_mutex.h
│       │   ├── std_thread.h
│       │   ├── stl_algo.h
│       │   ├── stl_algobase.h
│       │   ├── stl_bvector.h
│       │   ├── stl_construct.h
│       │   ├── stl_deque.h
│       │   ├── stl_function.h
│       │   ├── stl_heap.h
│       │   ├── stl_iterator.h
│       │   ├── stl_iterator_base_funcs.h
│       │   ├── stl_iterator_base_types.h
│       │   ├── stl_list.h
│       │   ├── stl_map.h
│       │   ├── stl_multimap.h
│       │   ├── stl_multiset.h
│       │   ├── stl_numeric.h
│       │   ├── stl_pair.h
│       │   ├── stl_queue.h
│       │   ├── stl_raw_storage_iter.h
│       │   ├── stl_relops.h
│       │   ├── stl_set.h
│       │   ├── stl_stack.h
│       │   ├── stl_tempbuf.h
│       │   ├── stl_tree.h
│       │   ├── stl_uninitialized.h
│       │   ├── stl_vector.h
│       │   ├── stream_iterator.h
│       │   ├── streambuf.tcc
│       │   ├── streambuf_iterator.h
│       │   ├── string_view.tcc
│       │   ├── stringfwd.h
│       │   ├── this_thread_sleep.h
│       │   ├── uniform_int_dist.h
│       │   ├── unique_lock.h
│       │   ├── unique_ptr.h
│       │   ├── unordered_map.h
│       │   ├── unordered_set.h
│       │   ├── uses_allocator.h
│       │   ├── uses_allocator_args.h
│       │   ├── valarray_after.h
│       │   ├── valarray_array.h
│       │   ├── valarray_array.tcc
│       │   ├── valarray_before.h
│       │   └── vector.tcc
│       ├── bitset
│       ├── cassert
│       ├── ccomplex
│       ├── cctype
│       ├── cerrno
│       ├── cfenv
│       ├── cfloat
│       ├── charconv
│       ├── chrono
│       ├── cinttypes
│       ├── ciso646
│       ├── climits
│       ├── clocale
│       ├── cmath
│       ├── codecvt
│       ├── compare
│       ├── complex
│       ├── complex.h
│       ├── concepts
│       ├── condition_variable
│       ├── coroutine
│       ├── csetjmp
│       ├── csignal
│       ├── cstdalign
│       ├── cstdarg
│       ├── cstdbool
│       ├── cstddef
│       ├── cstdint
│       ├── cstdio
│       ├── cstdlib
│       ├── cstring
│       ├── ctgmath
│       ├── ctime
│       ├── cuchar
│       ├── cwchar
│       ├── cwctype
│       ├── cxxabi.h
│       ├── debug
│       │   ├── assertions.h
│       │   ├── bitset
│       │   ├── debug.h
│       │   ├── deque
│       │   ├── formatter.h
│       │   ├── forward_list
│       │   ├── functions.h
│       │   ├── helper_functions.h
│       │   ├── list
│       │   ├── macros.h
│       │   ├── map
│       │   ├── map.h
│       │   ├── multimap.h
│       │   ├── multiset.h
│       │   ├── safe_base.h
│       │   ├── safe_container.h
│       │   ├── safe_iterator.h
│       │   ├── safe_iterator.tcc
│       │   ├── safe_local_iterator.h
│       │   ├── safe_local_iterator.tcc
│       │   ├── safe_sequence.h
│       │   ├── safe_sequence.tcc
│       │   ├── safe_unordered_base.h
│       │   ├── safe_unordered_container.h
│       │   ├── safe_unordered_container.tcc
│       │   ├── set
│       │   ├── set.h
│       │   ├── stl_iterator.h
│       │   ├── string
│       │   ├── unordered_map
│       │   ├── unordered_set
│       │   └── vector
│       ├── decimal
│       │   ├── decimal
│       │   └── decimal.h
│       ├── deque
│       ├── exception
│       ├── execution
│       ├── experimental
│       │   ├── algorithm
│       │   ├── any
│       │   ├── array
│       │   ├── bits
│       │   │   ├── fs_dir.h
│       │   │   ├── fs_fwd.h
│       │   │   ├── fs_ops.h
│       │   │   ├── fs_path.h
│       │   │   ├── lfts_config.h
│       │   │   ├── net.h
│       │   │   ├── numeric_traits.h
│       │   │   ├── shared_ptr.h
│       │   │   ├── simd.h
│       │   │   ├── simd_builtin.h
│       │   │   ├── simd_converter.h
│       │   │   ├── simd_detail.h
│       │   │   ├── simd_fixed_size.h
│       │   │   ├── simd_math.h
│       │   │   ├── simd_neon.h
│       │   │   ├── simd_ppc.h
│       │   │   ├── simd_scalar.h
│       │   │   ├── simd_x86.h
│       │   │   ├── simd_x86_conversions.h
│       │   │   └── string_view.tcc
│       │   ├── buffer
│       │   ├── chrono
│       │   ├── deque
│       │   ├── executor
│       │   ├── filesystem
│       │   ├── forward_list
│       │   ├── functional
│       │   ├── internet
│       │   ├── io_context
│       │   ├── iterator
│       │   ├── list
│       │   ├── map
│       │   ├── memory
│       │   ├── memory_resource
│       │   ├── net
│       │   ├── netfwd
│       │   ├── numeric
│       │   ├── optional
│       │   ├── propagate_const
│       │   ├── random
│       │   ├── ratio
│       │   ├── regex
│       │   ├── set
│       │   ├── simd
│       │   ├── socket
│       │   ├── source_location
│       │   ├── string
│       │   ├── string_view
│       │   ├── system_error
│       │   ├── timer
│       │   ├── tuple
│       │   ├── type_traits
│       │   ├── unordered_map
│       │   ├── unordered_set
│       │   ├── utility
│       │   └── vector
│       ├── ext
│       │   ├── algorithm
│       │   ├── aligned_buffer.h
│       │   ├── alloc_traits.h
│       │   ├── atomicity.h
│       │   ├── bitmap_allocator.h
│       │   ├── cast.h
│       │   ├── cmath
│       │   ├── codecvt_specializations.h
│       │   ├── concurrence.h
│       │   ├── debug_allocator.h
│       │   ├── enc_filebuf.h
│       │   ├── extptr_allocator.h
│       │   ├── functional
│       │   ├── hash_map
│       │   ├── hash_set
│       │   ├── iterator
│       │   ├── malloc_allocator.h
│       │   ├── memory
│       │   ├── mt_allocator.h
│       │   ├── new_allocator.h
│       │   ├── numeric
│       │   ├── numeric_traits.h
│       │   ├── pb_ds
│       │   │   ├── assoc_container.hpp
│       │   │   ├── detail
│       │   │   │   ├── bin_search_tree_
│       │   │   │   │   ├── bin_search_tree_.hpp
│       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│       │   │   │   │   ├── debug_fn_imps.hpp
│       │   │   │   │   ├── erase_fn_imps.hpp
│       │   │   │   │   ├── find_fn_imps.hpp
│       │   │   │   │   ├── info_fn_imps.hpp
│       │   │   │   │   ├── insert_fn_imps.hpp
│       │   │   │   │   ├── iterators_fn_imps.hpp
│       │   │   │   │   ├── node_iterators.hpp
│       │   │   │   │   ├── point_iterators.hpp
│       │   │   │   │   ├── policy_access_fn_imps.hpp
│       │   │   │   │   ├── r_erase_fn_imps.hpp
│       │   │   │   │   ├── rotate_fn_imps.hpp
│       │   │   │   │   ├── split_join_fn_imps.hpp
│       │   │   │   │   └── traits.hpp
│       │   │   │   ├── binary_heap_
│       │   │   │   │   ├── binary_heap_.hpp
│       │   │   │   │   ├── const_iterator.hpp
│       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│       │   │   │   │   ├── debug_fn_imps.hpp
│       │   │   │   │   ├── entry_cmp.hpp
│       │   │   │   │   ├── entry_pred.hpp
│       │   │   │   │   ├── erase_fn_imps.hpp
│       │   │   │   │   ├── find_fn_imps.hpp
│       │   │   │   │   ├── info_fn_imps.hpp
│       │   │   │   │   ├── insert_fn_imps.hpp
│       │   │   │   │   ├── iterators_fn_imps.hpp
│       │   │   │   │   ├── point_const_iterator.hpp
│       │   │   │   │   ├── policy_access_fn_imps.hpp
│       │   │   │   │   ├── resize_policy.hpp
│       │   │   │   │   ├── split_join_fn_imps.hpp
│       │   │   │   │   └── trace_fn_imps.hpp
│       │   │   │   ├── binomial_heap_
│       │   │   │   │   ├── binomial_heap_.hpp
│       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│       │   │   │   │   └── debug_fn_imps.hpp
│       │   │   │   ├── binomial_heap_base_
│       │   │   │   │   ├── binomial_heap_base_.hpp
│       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│       │   │   │   │   ├── debug_fn_imps.hpp
│       │   │   │   │   ├── erase_fn_imps.hpp
│       │   │   │   │   ├── find_fn_imps.hpp
│       │   │   │   │   ├── insert_fn_imps.hpp
│       │   │   │   │   └── split_join_fn_imps.hpp
│       │   │   │   ├── branch_policy
│       │   │   │   │   ├── branch_policy.hpp
│       │   │   │   │   ├── null_node_metadata.hpp
│       │   │   │   │   └── traits.hpp
│       │   │   │   ├── cc_hash_table_map_
│       │   │   │   │   ├── cc_ht_map_.hpp
│       │   │   │   │   ├── cmp_fn_imps.hpp
│       │   │   │   │   ├── cond_key_dtor_entry_dealtor.hpp
│       │   │   │   │   ├── constructor_destructor_fn_imps.hpp
│       │   │   │   │   ├── constructor_destructor_no_store_hash_fn_imps.hpp
│       │   │   │   │   ├── constructor_destructor_store_hash_fn_imps.hpp
│       │   │   │   │   ├── debug_fn_imps.hpp
│       │   │   │   │   ├── debug_no_store_hash_fn_imps.hpp
│       │   │   │   │   ├── debug_store_hash_fn_imps.hpp
│       │   │   │   │   ├── entry_list_fn_imps.hpp
│       │   │   │   │   ├── erase_fn_imps.hpp
│       │   │   │   │   ├── erase_no_store_hash_fn_imps.hpp
│       │   │   │   │   ├── erase_store_hash_fn_imps.hpp
│       │   │   │   │   ├── find_fn_imps.hpp
│       │   │   │   │   ├── find_store_hash_fn_imps.hpp
│       │   │   │   │   ├── info_fn_imps.hpp
│       │   │   │   │   ├── insert_fn_imps.hpp
│       │   │   │   │   ├── insert_no_store_hash_fn_imps.hpp
│       │   │   │   │   ├── insert_store_hash_fn_imps.hpp
│       │   │   │   │   ├── iterators_fn_imps.hpp
│       │   │   │   │   ├── policy_access_fn_imps.hpp
│       │   │   │   │   ├── resize_fn_imps.hpp
│       │   │   │   │   ├── resize_no_store_hash_fn_imps.hpp
│       │   │   │   │   ├── resize_store_hash_fn_imps.hpp
│       │   │   │   │   ├── size_fn_imps.hpp
│       │   │   │   │   └── trace_fn_imps.hpp
│       │   │   │   ├── cond_dealtor.hpp
│       │   │   │   ├── container_base_dispatch.hpp
│       │   │   │   ├── debug_map_base.hpp
│       │   │   │   ├── eq_fn
│       │   │   │   │   ├── eq_by_less.hpp
│       │   │   │   │   └── hash_eq_fn.hpp
│       │   │   │   ├── gp_hash_table_map_
│       │   │   │   │   ├── constructor_destructor_fn_imps.hpp
│       │   │   │   │   ├── constructor_destructor_no_store_hash_fn_imps.hpp
│       │   │   │   │   ├── constructor_destructor_store_hash_fn_imps.hpp
│       │   │   │   │   ├── debug_fn_imps.hpp
│       │   │   │   │   ├── debug_no_store_hash_fn_imps.hpp
│       │   │   │   │   ├── debug_store_hash_fn_imps.hpp
│       │   │   │   │   ├── erase_fn_imps.hpp
│       │   │   │   │   ├── erase_no_store_hash_fn_imps.hpp
│       │   │   │   │   ├── erase_store_hash_fn_imps.hpp
│       │   │   │   │   ├── find_fn_imps.hpp
│       │   │   │   │   ├── find_no_store_hash_fn_imps.hpp
│       │   │   │   │   ├── find_store_hash_fn_imps.hpp
│       │   │   │   │   ├── gp_ht_map_.hpp
│       │   │   │   │   ├── info_fn_imps.hpp
│       │   │   │   │   ├── insert_fn_imps.hpp
│       │   │   │   │   ├── insert_no_store_hash_fn_imps.hpp
│       │   │   │   │   ├── insert_store_hash_fn_imps.hpp
│       │   │   │   │   ├── iterator_fn_imps.hpp
│       │   │   │   │   ├── policy_access_fn_imps.hpp
│       │   │   │   │   ├── resize_fn_imps.hpp
│       │   │   │   │   ├── resize_no_store_hash_fn_imps.hpp
│       │   │   │   │   ├── resize_store_hash_fn_imps.hpp
│       │   │   │   │   └── trace_fn_imps.hpp
│       │   │   │   ├── hash_fn
│       │   │   │   │   ├── direct_mask_range_hashing_imp.hpp
│       │   │   │   │   ├── direct_mod_range_hashing_imp.hpp
│       │   │   │   │   ├── linear_probe_fn_imp.hpp
│       │   │   │   │   ├── mask_based_range_hashing.hpp
│       │   │   │   │   ├── mod_based_range_hashing.hpp
│       │   │   │   │   ├── probe_fn_base.hpp
│       │   │   │   │   ├── quadratic_probe_fn_imp.hpp
│       │   │   │   │   ├── ranged_hash_fn.hpp
│       │   │   │   │   ├── ranged_probe_fn.hpp
│       │   │   │   │   ├── sample_probe_fn.hpp
│       │   │   │   │   ├── sample_range_hashing.hpp
│       │   │   │   │   ├── sample_ranged_hash_fn.hpp
│       │   │   │   │   └── sample_ranged_probe_fn.hpp
│       │   │   │   ├── left_child_next_sibling_heap_
│       │   │   │   │   ├── const_iterator.hpp
│       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│       │   │   │   │   ├── debug_fn_imps.hpp
│       │   │   │   │   ├── erase_fn_imps.hpp
│       │   │   │   │   ├── info_fn_imps.hpp
│       │   │   │   │   ├── insert_fn_imps.hpp
│       │   │   │   │   ├── iterators_fn_imps.hpp
│       │   │   │   │   ├── left_child_next_sibling_heap_.hpp
│       │   │   │   │   ├── node.hpp
│       │   │   │   │   ├── point_const_iterator.hpp
│       │   │   │   │   ├── policy_access_fn_imps.hpp
│       │   │   │   │   └── trace_fn_imps.hpp
│       │   │   │   ├── list_update_map_
│       │   │   │   │   ├── constructor_destructor_fn_imps.hpp
│       │   │   │   │   ├── debug_fn_imps.hpp
│       │   │   │   │   ├── entry_metadata_base.hpp
│       │   │   │   │   ├── erase_fn_imps.hpp
│       │   │   │   │   ├── find_fn_imps.hpp
│       │   │   │   │   ├── info_fn_imps.hpp
│       │   │   │   │   ├── insert_fn_imps.hpp
│       │   │   │   │   ├── iterators_fn_imps.hpp
│       │   │   │   │   ├── lu_map_.hpp
│       │   │   │   │   └── trace_fn_imps.hpp
│       │   │   │   ├── list_update_policy
│       │   │   │   │   ├── lu_counter_metadata.hpp
│       │   │   │   │   └── sample_update_policy.hpp
│       │   │   │   ├── ov_tree_map_
│       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│       │   │   │   │   ├── debug_fn_imps.hpp
│       │   │   │   │   ├── erase_fn_imps.hpp
│       │   │   │   │   ├── info_fn_imps.hpp
│       │   │   │   │   ├── insert_fn_imps.hpp
│       │   │   │   │   ├── iterators_fn_imps.hpp
│       │   │   │   │   ├── node_iterators.hpp
│       │   │   │   │   ├── ov_tree_map_.hpp
│       │   │   │   │   ├── policy_access_fn_imps.hpp
│       │   │   │   │   ├── split_join_fn_imps.hpp
│       │   │   │   │   └── traits.hpp
│       │   │   │   ├── pairing_heap_
│       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│       │   │   │   │   ├── debug_fn_imps.hpp
│       │   │   │   │   ├── erase_fn_imps.hpp
│       │   │   │   │   ├── find_fn_imps.hpp
│       │   │   │   │   ├── insert_fn_imps.hpp
│       │   │   │   │   ├── pairing_heap_.hpp
│       │   │   │   │   └── split_join_fn_imps.hpp
│       │   │   │   ├── pat_trie_
│       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│       │   │   │   │   ├── debug_fn_imps.hpp
│       │   │   │   │   ├── erase_fn_imps.hpp
│       │   │   │   │   ├── find_fn_imps.hpp
│       │   │   │   │   ├── info_fn_imps.hpp
│       │   │   │   │   ├── insert_join_fn_imps.hpp
│       │   │   │   │   ├── iterators_fn_imps.hpp
│       │   │   │   │   ├── pat_trie_.hpp
│       │   │   │   │   ├── pat_trie_base.hpp
│       │   │   │   │   ├── policy_access_fn_imps.hpp
│       │   │   │   │   ├── r_erase_fn_imps.hpp
│       │   │   │   │   ├── rotate_fn_imps.hpp
│       │   │   │   │   ├── split_fn_imps.hpp
│       │   │   │   │   ├── synth_access_traits.hpp
│       │   │   │   │   ├── trace_fn_imps.hpp
│       │   │   │   │   ├── traits.hpp
│       │   │   │   │   └── update_fn_imps.hpp
│       │   │   │   ├── priority_queue_base_dispatch.hpp
│       │   │   │   ├── rb_tree_map_
│       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│       │   │   │   │   ├── debug_fn_imps.hpp
│       │   │   │   │   ├── erase_fn_imps.hpp
│       │   │   │   │   ├── find_fn_imps.hpp
│       │   │   │   │   ├── info_fn_imps.hpp
│       │   │   │   │   ├── insert_fn_imps.hpp
│       │   │   │   │   ├── node.hpp
│       │   │   │   │   ├── rb_tree_.hpp
│       │   │   │   │   ├── split_join_fn_imps.hpp
│       │   │   │   │   └── traits.hpp
│       │   │   │   ├── rc_binomial_heap_
│       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│       │   │   │   │   ├── debug_fn_imps.hpp
│       │   │   │   │   ├── erase_fn_imps.hpp
│       │   │   │   │   ├── insert_fn_imps.hpp
│       │   │   │   │   ├── rc.hpp
│       │   │   │   │   ├── rc_binomial_heap_.hpp
│       │   │   │   │   ├── split_join_fn_imps.hpp
│       │   │   │   │   └── trace_fn_imps.hpp
│       │   │   │   ├── resize_policy
│       │   │   │   │   ├── cc_hash_max_collision_check_resize_trigger_imp.hpp
│       │   │   │   │   ├── hash_exponential_size_policy_imp.hpp
│       │   │   │   │   ├── hash_load_check_resize_trigger_imp.hpp
│       │   │   │   │   ├── hash_load_check_resize_trigger_size_base.hpp
│       │   │   │   │   ├── hash_prime_size_policy_imp.hpp
│       │   │   │   │   ├── hash_standard_resize_policy_imp.hpp
│       │   │   │   │   ├── sample_resize_policy.hpp
│       │   │   │   │   ├── sample_resize_trigger.hpp
│       │   │   │   │   └── sample_size_policy.hpp
│       │   │   │   ├── splay_tree_
│       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│       │   │   │   │   ├── debug_fn_imps.hpp
│       │   │   │   │   ├── erase_fn_imps.hpp
│       │   │   │   │   ├── find_fn_imps.hpp
│       │   │   │   │   ├── info_fn_imps.hpp
│       │   │   │   │   ├── insert_fn_imps.hpp
│       │   │   │   │   ├── node.hpp
│       │   │   │   │   ├── splay_fn_imps.hpp
│       │   │   │   │   ├── splay_tree_.hpp
│       │   │   │   │   ├── split_join_fn_imps.hpp
│       │   │   │   │   └── traits.hpp
│       │   │   │   ├── standard_policies.hpp
│       │   │   │   ├── thin_heap_
│       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│       │   │   │   │   ├── debug_fn_imps.hpp
│       │   │   │   │   ├── erase_fn_imps.hpp
│       │   │   │   │   ├── find_fn_imps.hpp
│       │   │   │   │   ├── insert_fn_imps.hpp
│       │   │   │   │   ├── split_join_fn_imps.hpp
│       │   │   │   │   ├── thin_heap_.hpp
│       │   │   │   │   └── trace_fn_imps.hpp
│       │   │   │   ├── tree_policy
│       │   │   │   │   ├── node_metadata_selector.hpp
│       │   │   │   │   ├── order_statistics_imp.hpp
│       │   │   │   │   └── sample_tree_node_update.hpp
│       │   │   │   ├── tree_trace_base.hpp
│       │   │   │   ├── trie_policy
│       │   │   │   │   ├── node_metadata_selector.hpp
│       │   │   │   │   ├── order_statistics_imp.hpp
│       │   │   │   │   ├── prefix_search_node_update_imp.hpp
│       │   │   │   │   ├── sample_trie_access_traits.hpp
│       │   │   │   │   ├── sample_trie_node_update.hpp
│       │   │   │   │   ├── trie_policy_base.hpp
│       │   │   │   │   └── trie_string_access_traits_imp.hpp
│       │   │   │   ├── type_utils.hpp
│       │   │   │   ├── types_traits.hpp
│       │   │   │   └── unordered_iterator
│       │   │   │       ├── const_iterator.hpp
│       │   │   │       ├── iterator.hpp
│       │   │   │       ├── point_const_iterator.hpp
│       │   │   │       └── point_iterator.hpp
│       │   │   ├── exception.hpp
│       │   │   ├── hash_policy.hpp
│       │   │   ├── list_update_policy.hpp
│       │   │   ├── priority_queue.hpp
│       │   │   ├── tag_and_trait.hpp
│       │   │   ├── tree_policy.hpp
│       │   │   └── trie_policy.hpp
│       │   ├── pod_char_traits.h
│       │   ├── pointer.h
│       │   ├── pool_allocator.h
│       │   ├── random
│       │   ├── random.tcc
│       │   ├── rb_tree
│       │   ├── rc_string_base.h
│       │   ├── rope
│       │   ├── ropeimpl.h
│       │   ├── slist
│       │   ├── sso_string_base.h
│       │   ├── stdio_filebuf.h
│       │   ├── stdio_sync_filebuf.h
│       │   ├── string_conversions.h
│       │   ├── throw_allocator.h
│       │   ├── type_traits.h
│       │   ├── typelist.h
│       │   ├── vstring.h
│       │   ├── vstring.tcc
│       │   ├── vstring_fwd.h
│       │   └── vstring_util.h
│       ├── fenv.h
│       ├── filesystem
│       ├── forward_list
│       ├── fstream
│       ├── functional
│       ├── future
│       ├── initializer_list
│       ├── iomanip
│       ├── ios
│       ├── iosfwd
│       ├── iostream
│       ├── istream
│       ├── iterator
│       ├── latch
│       ├── limits
│       ├── list
│       ├── locale
│       ├── map
│       ├── math.h
│       ├── memory
│       ├── memory_resource
│       ├── mutex
│       ├── new
│       ├── numbers
│       ├── numeric
│       ├── optional
│       ├── ostream
│       ├── parallel
│       │   ├── algo.h
│       │   ├── algobase.h
│       │   ├── algorithm
│       │   ├── algorithmfwd.h
│       │   ├── balanced_quicksort.h
│       │   ├── base.h
│       │   ├── basic_iterator.h
│       │   ├── checkers.h
│       │   ├── compatibility.h
│       │   ├── compiletime_settings.h
│       │   ├── equally_split.h
│       │   ├── features.h
│       │   ├── find.h
│       │   ├── find_selectors.h
│       │   ├── for_each.h
│       │   ├── for_each_selectors.h
│       │   ├── iterator.h
│       │   ├── list_partition.h
│       │   ├── losertree.h
│       │   ├── merge.h
│       │   ├── multiseq_selection.h
│       │   ├── multiway_merge.h
│       │   ├── multiway_mergesort.h
│       │   ├── numeric
│       │   ├── numericfwd.h
│       │   ├── omp_loop.h
│       │   ├── omp_loop_static.h
│       │   ├── par_loop.h
│       │   ├── parallel.h
│       │   ├── partial_sum.h
│       │   ├── partition.h
│       │   ├── queue.h
│       │   ├── quicksort.h
│       │   ├── random_number.h
│       │   ├── random_shuffle.h
│       │   ├── search.h
│       │   ├── set_operations.h
│       │   ├── settings.h
│       │   ├── sort.h
│       │   ├── tags.h
│       │   ├── types.h
│       │   ├── unique_copy.h
│       │   └── workstealing.h
│       ├── pstl
│       │   ├── algorithm_fwd.h
│       │   ├── algorithm_impl.h
│       │   ├── execution_defs.h
│       │   ├── execution_impl.h
│       │   ├── glue_algorithm_defs.h
│       │   ├── glue_algorithm_impl.h
│       │   ├── glue_execution_defs.h
│       │   ├── glue_memory_defs.h
│       │   ├── glue_memory_impl.h
│       │   ├── glue_numeric_defs.h
│       │   ├── glue_numeric_impl.h
│       │   ├── memory_impl.h
│       │   ├── numeric_fwd.h
│       │   ├── numeric_impl.h
│       │   ├── parallel_backend.h
│       │   ├── parallel_backend_serial.h
│       │   ├── parallel_backend_tbb.h
│       │   ├── parallel_backend_utils.h
│       │   ├── parallel_impl.h
│       │   ├── pstl_config.h
│       │   ├── unseq_backend_simd.h
│       │   └── utils.h
│       ├── queue
│       ├── random
│       ├── ranges
│       ├── ratio
│       ├── regex
│       ├── scoped_allocator
│       ├── semaphore
│       ├── set
│       ├── shared_mutex
│       ├── source_location
│       ├── span
│       ├── sstream
│       ├── stack
│       ├── stdexcept
│       ├── stdlib.h
│       ├── stop_token
│       ├── streambuf
│       ├── string
│       ├── string_view
│       ├── syncstream
│       ├── system_error
│       ├── tgmath.h
│       ├── thread
│       ├── tr1
│       │   ├── array
│       │   ├── bessel_function.tcc
│       │   ├── beta_function.tcc
│       │   ├── ccomplex
│       │   ├── cctype
│       │   ├── cfenv
│       │   ├── cfloat
│       │   ├── cinttypes
│       │   ├── climits
│       │   ├── cmath
│       │   ├── complex
│       │   ├── complex.h
│       │   ├── cstdarg
│       │   ├── cstdbool
│       │   ├── cstdint
│       │   ├── cstdio
│       │   ├── cstdlib
│       │   ├── ctgmath
│       │   ├── ctime
│       │   ├── ctype.h
│       │   ├── cwchar
│       │   ├── cwctype
│       │   ├── ell_integral.tcc
│       │   ├── exp_integral.tcc
│       │   ├── fenv.h
│       │   ├── float.h
│       │   ├── functional
│       │   ├── functional_hash.h
│       │   ├── gamma.tcc
│       │   ├── hashtable.h
│       │   ├── hashtable_policy.h
│       │   ├── hypergeometric.tcc
│       │   ├── inttypes.h
│       │   ├── legendre_function.tcc
│       │   ├── limits.h
│       │   ├── math.h
│       │   ├── memory
│       │   ├── modified_bessel_func.tcc
│       │   ├── poly_hermite.tcc
│       │   ├── poly_laguerre.tcc
│       │   ├── random
│       │   ├── random.h
│       │   ├── random.tcc
│       │   ├── regex
│       │   ├── riemann_zeta.tcc
│       │   ├── shared_ptr.h
│       │   ├── special_function_util.h
│       │   ├── stdarg.h
│       │   ├── stdbool.h
│       │   ├── stdint.h
│       │   ├── stdio.h
│       │   ├── stdlib.h
│       │   ├── tgmath.h
│       │   ├── tuple
│       │   ├── type_traits
│       │   ├── unordered_map
│       │   ├── unordered_map.h
│       │   ├── unordered_set
│       │   ├── unordered_set.h
│       │   ├── utility
│       │   ├── wchar.h
│       │   └── wctype.h
│       ├── tr2
│       │   ├── bool_set
│       │   ├── bool_set.tcc
│       │   ├── dynamic_bitset
│       │   ├── dynamic_bitset.tcc
│       │   ├── ratio
│       │   └── type_traits
│       ├── tuple
│       ├── type_traits
│       ├── typeindex
│       ├── typeinfo
│       ├── unordered_map
│       ├── unordered_set
│       ├── utility
│       ├── valarray
│       ├── variant
│       ├── vector
│       ├── version
│       └── x86_64-w64-mingw32
│           ├── bits
│           │   ├── atomic_word.h
│           │   ├── basic_file.h
│           │   ├── c++allocator.h
│           │   ├── c++config.h
│           │   ├── c++io.h
│           │   ├── c++locale.h
│           │   ├── cpu_defines.h
│           │   ├── ctype_base.h
│           │   ├── ctype_inline.h
│           │   ├── cxxabi_tweaks.h
│           │   ├── error_constants.h
│           │   ├── extc++.h
│           │   ├── gthr.h
│           │   ├── gthr-default.h
│           │   ├── gthr-posix.h
│           │   ├── gthr-single.h
│           │   ├── messages_members.h
│           │   ├── opt_random.h
│           │   ├── os_defines.h
│           │   ├── stdc++.h
│           │   ├── stdtr1c++.h
│           │   └── time_members.h
│           └── ext
│               └── opt_random.h
├── clang
│   ├── Analysis
│   │   ├── Analyses
│   │   │   ├── CalledOnceCheck.h
│   │   │   ├── CFGReachabilityAnalysis.h
│   │   │   ├── Consumed.h
│   │   │   ├── Dominators.h
│   │   │   ├── ExprMutationAnalyzer.h
│   │   │   ├── LiveVariables.h
│   │   │   ├── PostOrderCFGView.h
│   │   │   ├── ReachableCode.h
│   │   │   ├── ThreadSafety.h
│   │   │   ├── ThreadSafetyCommon.h
│   │   │   ├── ThreadSafetyLogical.h
│   │   │   ├── ThreadSafetyOps.def
│   │   │   ├── ThreadSafetyTIL.h
│   │   │   ├── ThreadSafetyTraverse.h
│   │   │   ├── ThreadSafetyUtil.h
│   │   │   └── UninitializedValues.h
│   │   ├── AnalysisDeclContext.h
│   │   ├── AnalysisDiagnostic.h
│   │   ├── AnyCall.h
│   │   ├── BodyFarm.h
│   │   ├── CallGraph.h
│   │   ├── CFG.h
│   │   ├── CFGStmtMap.h
│   │   ├── CloneDetection.h
│   │   ├── CodeInjector.h
│   │   ├── ConstructionContext.h
│   │   ├── DomainSpecific
│   │   │   ├── CocoaConventions.h
│   │   │   └── ObjCNoReturn.h
│   │   ├── FlowSensitive
│   │   │   ├── DataflowValues.h
│   │   │   └── DataflowWorklist.h
│   │   ├── IssueHash.h
│   │   ├── MacroExpansionContext.h
│   │   ├── PathDiagnostic.h
│   │   ├── ProgramPoint.h
│   │   ├── RetainSummaryManager.h
│   │   ├── SelectorExtras.h
│   │   └── Support
│   │       └── BumpVector.h
│   ├── APINotes
│   │   ├── APINotesYAMLCompiler.h
│   │   └── Types.h
│   ├── ARCMigrate
│   │   ├── ARCMT.h
│   │   ├── ARCMTActions.h
│   │   └── FileRemapper.h
│   ├── AST
│   │   ├── AbstractBasicReader.h
│   │   ├── AbstractBasicReader.inc
│   │   ├── AbstractBasicWriter.h
│   │   ├── AbstractBasicWriter.inc
│   │   ├── AbstractTypeReader.h
│   │   ├── AbstractTypeReader.inc
│   │   ├── AbstractTypeWriter.h
│   │   ├── AbstractTypeWriter.inc
│   │   ├── APValue.h
│   │   ├── AST.h
│   │   ├── ASTConcept.h
│   │   ├── ASTConsumer.h
│   │   ├── ASTContext.h
│   │   ├── ASTContextAllocate.h
│   │   ├── ASTDiagnostic.h
│   │   ├── ASTDumper.h
│   │   ├── ASTDumperUtils.h
│   │   ├── ASTFwd.h
│   │   ├── ASTImporter.h
│   │   ├── ASTImporterLookupTable.h
│   │   ├── ASTImporterSharedState.h
│   │   ├── ASTLambda.h
│   │   ├── ASTMutationListener.h
│   │   ├── ASTNodeTraverser.h
│   │   ├── ASTStructuralEquivalence.h
│   │   ├── ASTTypeTraits.h
│   │   ├── ASTUnresolvedSet.h
│   │   ├── ASTVector.h
│   │   ├── Attr.h
│   │   ├── AttrImpl.inc
│   │   ├── AttrIterator.h
│   │   ├── AttrNodeTraverse.inc
│   │   ├── Attrs.inc
│   │   ├── AttrTextNodeDump.inc
│   │   ├── AttrVisitor.h
│   │   ├── AttrVisitor.inc
│   │   ├── Availability.h
│   │   ├── BaseSubobject.h
│   │   ├── BuiltinTypes.def
│   │   ├── CanonicalType.h
│   │   ├── CharUnits.h
│   │   ├── Comment.h
│   │   ├── CommentBriefParser.h
│   │   ├── CommentCommandInfo.inc
│   │   ├── CommentCommandList.inc
│   │   ├── CommentCommandTraits.h
│   │   ├── CommentDiagnostic.h
│   │   ├── CommentHTMLNamedCharacterReferences.inc
│   │   ├── CommentHTMLTags.inc
│   │   ├── CommentHTMLTagsProperties.inc
│   │   ├── CommentLexer.h
│   │   ├── CommentNodes.inc
│   │   ├── CommentParser.h
│   │   ├── CommentSema.h
│   │   ├── CommentVisitor.h
│   │   ├── ComparisonCategories.h
│   │   ├── ComputeDependence.h
│   │   ├── CurrentSourceLocExprScope.h
│   │   ├── CXXInheritance.h
│   │   ├── CXXRecordDeclDefinitionBits.def
│   │   ├── DataCollection.h
│   │   ├── Decl.h
│   │   ├── DeclAccessPair.h
│   │   ├── DeclarationName.h
│   │   ├── DeclBase.h
│   │   ├── DeclContextInternals.h
│   │   ├── DeclCXX.h
│   │   ├── DeclFriend.h
│   │   ├── DeclGroup.h
│   │   ├── DeclLookups.h
│   │   ├── DeclNodes.inc
│   │   ├── DeclObjC.h
│   │   ├── DeclObjCCommon.h
│   │   ├── DeclOpenMP.h
│   │   ├── DeclTemplate.h
│   │   ├── DeclVisitor.h
│   │   ├── DependenceFlags.h
│   │   ├── DependentDiagnostic.h
│   │   ├── EvaluatedExprVisitor.h
│   │   ├── Expr.h
│   │   ├── ExprConcepts.h
│   │   ├── ExprCXX.h
│   │   ├── ExprObjC.h
│   │   ├── ExprOpenMP.h
│   │   ├── ExternalASTMerger.h
│   │   ├── ExternalASTSource.h
│   │   ├── FormatString.h
│   │   ├── GlobalDecl.h
│   │   ├── IgnoreExpr.h
│   │   ├── JSONNodeDumper.h
│   │   ├── LambdaCapture.h
│   │   ├── LexicallyOrderedRecursiveASTVisitor.h
│   │   ├── LocInfoType.h
│   │   ├── Mangle.h
│   │   ├── MangleNumberingContext.h
│   │   ├── NestedNameSpecifier.h
│   │   ├── NonTrivialTypeVisitor.h
│   │   ├── NSAPI.h
│   │   ├── ODRHash.h
│   │   ├── OpenMPClause.h
│   │   ├── OperationKinds.def
│   │   ├── OperationKinds.h
│   │   ├── OptionalDiagnostic.h
│   │   ├── OSLog.h
│   │   ├── ParentMap.h
│   │   ├── ParentMapContext.h
│   │   ├── PrettyDeclStackTrace.h
│   │   ├── PrettyPrinter.h
│   │   ├── QualTypeNames.h
│   │   ├── RawCommentList.h
│   │   ├── RecordLayout.h
│   │   ├── RecursiveASTVisitor.h
│   │   ├── Redeclarable.h
│   │   ├── SelectorLocationsKind.h
│   │   ├── Stmt.h
│   │   ├── StmtCXX.h
│   │   ├── StmtDataCollectors.inc
│   │   ├── StmtGraphTraits.h
│   │   ├── StmtIterator.h
│   │   ├── StmtNodes.inc
│   │   ├── StmtObjC.h
│   │   ├── StmtOpenMP.h
│   │   ├── StmtVisitor.h
│   │   ├── TemplateArgumentVisitor.h
│   │   ├── TemplateBase.h
│   │   ├── TemplateName.h
│   │   ├── TextNodeDumper.h
│   │   ├── Type.h
│   │   ├── TypeLoc.h
│   │   ├── TypeLocNodes.def
│   │   ├── TypeLocVisitor.h
│   │   ├── TypeNodes.inc
│   │   ├── TypeOrdering.h
│   │   ├── TypeVisitor.h
│   │   ├── UnresolvedSet.h
│   │   ├── VTableBuilder.h
│   │   └── VTTBuilder.h
│   ├── ASTMatchers
│   │   ├── ASTMatchers.h
│   │   ├── ASTMatchersInternal.h
│   │   ├── ASTMatchersMacros.h
│   │   ├── ASTMatchFinder.h
│   │   ├── Dynamic
│   │   │   ├── Diagnostics.h
│   │   │   ├── Parser.h
│   │   │   ├── Registry.h
│   │   │   └── VariantValue.h
│   │   └── GtestMatchers.h
│   ├── Basic
│   │   ├── AArch64SVEACLETypes.def
│   │   ├── ABI.h
│   │   ├── AddressSpaces.h
│   │   ├── AlignedAllocation.h
│   │   ├── AllDiagnostics.h
│   │   ├── arm_cde_builtin_aliases.inc
│   │   ├── arm_cde_builtin_cg.inc
│   │   ├── arm_cde_builtin_sema.inc
│   │   ├── arm_cde_builtins.inc
│   │   ├── arm_fp16.inc
│   │   ├── arm_mve_builtin_aliases.inc
│   │   ├── arm_mve_builtin_cg.inc
│   │   ├── arm_mve_builtin_sema.inc
│   │   ├── arm_mve_builtins.inc
│   │   ├── arm_neon.inc
│   │   ├── arm_sve_builtin_cg.inc
│   │   ├── arm_sve_builtins.inc
│   │   ├── arm_sve_sema_rangechecks.inc
│   │   ├── arm_sve_typeflags.inc
│   │   ├── AttrHasAttributeImpl.inc
│   │   ├── AttributeCommonInfo.h
│   │   ├── Attributes.h
│   │   ├── AttrKinds.h
│   │   ├── AttrList.inc
│   │   ├── AttrSubjectMatchRules.h
│   │   ├── AttrSubMatchRulesList.inc
│   │   ├── BitmaskEnum.h
│   │   ├── Builtins.def
│   │   ├── Builtins.h
│   │   ├── BuiltinsAArch64.def
│   │   ├── BuiltinsAMDGPU.def
│   │   ├── BuiltinsARM.def
│   │   ├── BuiltinsBPF.def
│   │   ├── BuiltinsHexagon.def
│   │   ├── BuiltinsHexagonDep.def
│   │   ├── BuiltinsHexagonMapCustomDep.def
│   │   ├── BuiltinsMips.def
│   │   ├── BuiltinsNEON.def
│   │   ├── BuiltinsNVPTX.def
│   │   ├── BuiltinsPPC.def
│   │   ├── BuiltinsRISCV.def
│   │   ├── BuiltinsSVE.def
│   │   ├── BuiltinsSystemZ.def
│   │   ├── BuiltinsWebAssembly.def
│   │   ├── BuiltinsX86.def
│   │   ├── BuiltinsX86_64.def
│   │   ├── BuiltinsXCore.def
│   │   ├── CapturedStmt.h
│   │   ├── CharInfo.h
│   │   ├── CodeGenOptions.def
│   │   ├── CodeGenOptions.h
│   │   ├── CommentOptions.h
│   │   ├── Cuda.h
│   │   ├── DarwinSDKInfo.h
│   │   ├── DebugInfoOptions.h
│   │   ├── Diagnostic.h
│   │   ├── DiagnosticAnalysis.h
│   │   ├── DiagnosticAnalysisKinds.inc
│   │   ├── DiagnosticAST.h
│   │   ├── DiagnosticASTKinds.inc
│   │   ├── DiagnosticCategories.h
│   │   ├── DiagnosticComment.h
│   │   ├── DiagnosticCommentKinds.inc
│   │   ├── DiagnosticCommonKinds.inc
│   │   ├── DiagnosticCrossTU.h
│   │   ├── DiagnosticCrossTUKinds.inc
│   │   ├── DiagnosticDriver.h
│   │   ├── DiagnosticDriverKinds.inc
│   │   ├── DiagnosticError.h
│   │   ├── DiagnosticFrontend.h
│   │   ├── DiagnosticFrontendKinds.inc
│   │   ├── DiagnosticGroups.inc
│   │   ├── DiagnosticIDs.h
│   │   ├── DiagnosticIndexName.inc
│   │   ├── DiagnosticLex.h
│   │   ├── DiagnosticLexKinds.inc
│   │   ├── DiagnosticOptions.def
│   │   ├── DiagnosticOptions.h
│   │   ├── DiagnosticParse.h
│   │   ├── DiagnosticParseKinds.inc
│   │   ├── DiagnosticRefactoring.h
│   │   ├── DiagnosticRefactoringKinds.inc
│   │   ├── DiagnosticSema.h
│   │   ├── DiagnosticSemaKinds.inc
│   │   ├── DiagnosticSerialization.h
│   │   ├── DiagnosticSerializationKinds.inc
│   │   ├── DirectoryEntry.h
│   │   ├── ExceptionSpecificationType.h
│   │   ├── ExpressionTraits.h
│   │   ├── Features.def
│   │   ├── FileEntry.h
│   │   ├── FileManager.h
│   │   ├── FileSystemOptions.h
│   │   ├── FileSystemStatCache.h
│   │   ├── FPOptions.def
│   │   ├── IdentifierTable.h
│   │   ├── JsonSupport.h
│   │   ├── Lambda.h
│   │   ├── LangOptions.def
│   │   ├── LangOptions.h
│   │   ├── LangStandard.h
│   │   ├── LangStandards.def
│   │   ├── Linkage.h
│   │   ├── LLVM.h
│   │   ├── MacroBuilder.h
│   │   ├── Module.h
│   │   ├── MSP430Target.def
│   │   ├── NoSanitizeList.h
│   │   ├── ObjCRuntime.h
│   │   ├── OpenCLExtensions.def
│   │   ├── OpenCLExtensionTypes.def
│   │   ├── OpenCLImageTypes.def
│   │   ├── OpenCLOptions.h
│   │   ├── OpenMPKinds.def
│   │   ├── OpenMPKinds.h
│   │   ├── OperatorKinds.def
│   │   ├── OperatorKinds.h
│   │   ├── OperatorPrecedence.h
│   │   ├── PartialDiagnostic.h
│   │   ├── PlistSupport.h
│   │   ├── PPCTypes.def
│   │   ├── PragmaKinds.h
│   │   ├── PrettyStackTrace.h
│   │   ├── ProfileList.h
│   │   ├── riscv_vector_builtin_cg.inc
│   │   ├── riscv_vector_builtins.inc
│   │   ├── RISCVVTypes.def
│   │   ├── Sanitizers.def
│   │   ├── Sanitizers.h
│   │   ├── SanitizerSpecialCaseList.h
│   │   ├── SourceLocation.h
│   │   ├── SourceManager.h
│   │   ├── SourceManagerInternals.h
│   │   ├── Specifiers.h
│   │   ├── Stack.h
│   │   ├── SyncScope.h
│   │   ├── TargetBuiltins.h
│   │   ├── TargetCXXABI.def
│   │   ├── TargetCXXABI.h
│   │   ├── TargetID.h
│   │   ├── TargetInfo.h
│   │   ├── TargetOptions.h
│   │   ├── TemplateKinds.h
│   │   ├── Thunk.h
│   │   ├── TokenKinds.def
│   │   ├── TokenKinds.h
│   │   ├── TypeTraits.h
│   │   ├── Version.h
│   │   ├── Version.inc
│   │   ├── Visibility.h
│   │   ├── X86Target.def
│   │   ├── XRayInstr.h
│   │   └── XRayLists.h
│   ├── CodeGen
│   │   ├── BackendUtil.h
│   │   ├── CGFunctionInfo.h
│   │   ├── CodeGenABITypes.h
│   │   ├── CodeGenAction.h
│   │   ├── ConstantInitBuilder.h
│   │   ├── ConstantInitFuture.h
│   │   ├── ModuleBuilder.h
│   │   ├── ObjectFilePCHContainerOperations.h
│   │   └── SwiftCallingConv.h
│   ├── Config
│   │   └── config.h
│   ├── CrossTU
│   │   ├── CrossTranslationUnit.h
│   │   └── CrossTUDiagnostic.h
│   ├── DirectoryWatcher
│   │   └── DirectoryWatcher.h
│   ├── Driver
│   │   ├── Action.h
│   │   ├── Compilation.h
│   │   ├── Distro.h
│   │   ├── Driver.h
│   │   ├── DriverDiagnostic.h
│   │   ├── InputInfo.h
│   │   ├── Job.h
│   │   ├── Multilib.h
│   │   ├── Options.h
│   │   ├── Options.inc
│   │   ├── OptionUtils.h
│   │   ├── Phases.h
│   │   ├── SanitizerArgs.h
│   │   ├── Tool.h
│   │   ├── ToolChain.h
│   │   ├── Types.def
│   │   ├── Types.h
│   │   ├── Util.h
│   │   └── XRayArgs.h
│   ├── Edit
│   │   ├── Commit.h
│   │   ├── EditedSource.h
│   │   ├── EditsReceiver.h
│   │   ├── FileOffset.h
│   │   └── Rewriters.h
│   ├── Format
│   │   └── Format.h
│   ├── Frontend
│   │   ├── ASTConsumers.h
│   │   ├── ASTUnit.h
│   │   ├── ChainedDiagnosticConsumer.h
│   │   ├── CommandLineSourceLoc.h
│   │   ├── CompilerInstance.h
│   │   ├── CompilerInvocation.h
│   │   ├── DependencyOutputOptions.h
│   │   ├── DiagnosticRenderer.h
│   │   ├── FrontendAction.h
│   │   ├── FrontendActions.h
│   │   ├── FrontendDiagnostic.h
│   │   ├── FrontendOptions.h
│   │   ├── FrontendPluginRegistry.h
│   │   ├── LayoutOverrideSource.h
│   │   ├── LogDiagnosticPrinter.h
│   │   ├── MigratorOptions.h
│   │   ├── MultiplexConsumer.h
│   │   ├── PCHContainerOperations.h
│   │   ├── PrecompiledPreamble.h
│   │   ├── PreprocessorOutputOptions.h
│   │   ├── SerializedDiagnosticPrinter.h
│   │   ├── SerializedDiagnosticReader.h
│   │   ├── SerializedDiagnostics.h
│   │   ├── TextDiagnostic.h
│   │   ├── TextDiagnosticBuffer.h
│   │   ├── TextDiagnosticPrinter.h
│   │   ├── Utils.h
│   │   └── VerifyDiagnosticConsumer.h
│   ├── FrontendTool
│   │   └── Utils.h
│   ├── Index
│   │   ├── CommentToXML.h
│   │   ├── DeclOccurrence.h
│   │   ├── IndexDataConsumer.h
│   │   ├── IndexingAction.h
│   │   ├── IndexingOptions.h
│   │   ├── IndexSymbol.h
│   │   └── USRGeneration.h
│   ├── IndexSerialization
│   │   └── SerializablePathCollection.h
│   ├── Interpreter
│   │   ├── Interpreter.h
│   │   └── PartialTranslationUnit.h
│   ├── Lex
│   │   ├── CodeCompletionHandler.h
│   │   ├── DependencyDirectivesSourceMinimizer.h
│   │   ├── DirectoryLookup.h
│   │   ├── ExternalPreprocessorSource.h
│   │   ├── HeaderMap.h
│   │   ├── HeaderMapTypes.h
│   │   ├── HeaderSearch.h
│   │   ├── HeaderSearchOptions.h
│   │   ├── LexDiagnostic.h
│   │   ├── Lexer.h
│   │   ├── LiteralSupport.h
│   │   ├── MacroArgs.h
│   │   ├── MacroInfo.h
│   │   ├── ModuleLoader.h
│   │   ├── ModuleMap.h
│   │   ├── MultipleIncludeOpt.h
│   │   ├── PPCallbacks.h
│   │   ├── PPConditionalDirectiveRecord.h
│   │   ├── Pragma.h
│   │   ├── PreprocessingRecord.h
│   │   ├── Preprocessor.h
│   │   ├── PreprocessorExcludedConditionalDirectiveSkipMapping.h
│   │   ├── PreprocessorLexer.h
│   │   ├── PreprocessorOptions.h
│   │   ├── ScratchBuffer.h
│   │   ├── Token.h
│   │   ├── TokenConcatenation.h
│   │   ├── TokenLexer.h
│   │   └── VariadicMacroSupport.h
│   ├── Parse
│   │   ├── AttrParserStringSwitches.inc
│   │   ├── AttrSubMatchRulesParserStringSwitches.inc
│   │   ├── LoopHint.h
│   │   ├── ParseAST.h
│   │   ├── ParseDiagnostic.h
│   │   ├── Parser.h
│   │   └── RAIIObjectsForParser.h
│   ├── Rewrite
│   │   ├── Core
│   │   │   ├── DeltaTree.h
│   │   │   ├── HTMLRewrite.h
│   │   │   ├── RewriteBuffer.h
│   │   │   ├── Rewriter.h
│   │   │   ├── RewriteRope.h
│   │   │   └── TokenRewriter.h
│   │   └── Frontend
│   │       ├── ASTConsumers.h
│   │       ├── FixItRewriter.h
│   │       ├── FrontendActions.h
│   │       └── Rewriters.h
│   ├── Sema
│   │   ├── AnalysisBasedWarnings.h
│   │   ├── AttrParsedAttrImpl.inc
│   │   ├── AttrParsedAttrKinds.inc
│   │   ├── AttrParsedAttrList.inc
│   │   ├── AttrSpellingListIndex.inc
│   │   ├── AttrTemplateInstantiate.inc
│   │   ├── CleanupInfo.h
│   │   ├── CodeCompleteConsumer.h
│   │   ├── CodeCompleteOptions.h
│   │   ├── CXXFieldCollector.h
│   │   ├── DeclSpec.h
│   │   ├── DelayedDiagnostic.h
│   │   ├── Designator.h
│   │   ├── ExternalSemaSource.h
│   │   ├── IdentifierResolver.h
│   │   ├── Initialization.h
│   │   ├── Lookup.h
│   │   ├── MultiplexExternalSemaSource.h
│   │   ├── ObjCMethodList.h
│   │   ├── Overload.h
│   │   ├── Ownership.h
│   │   ├── ParsedAttr.h
│   │   ├── ParsedTemplate.h
│   │   ├── Scope.h
│   │   ├── ScopeInfo.h
│   │   ├── Sema.h
│   │   ├── SemaConcept.h
│   │   ├── SemaConsumer.h
│   │   ├── SemaDiagnostic.h
│   │   ├── SemaFixItUtils.h
│   │   ├── SemaInternal.h
│   │   ├── SemaLambda.h
│   │   ├── Template.h
│   │   ├── TemplateDeduction.h
│   │   ├── TemplateInstCallback.h
│   │   ├── TypoCorrection.h
│   │   └── Weak.h
│   ├── Serialization
│   │   ├── ASTBitCodes.h
│   │   ├── ASTDeserializationListener.h
│   │   ├── ASTReader.h
│   │   ├── ASTRecordReader.h
│   │   ├── ASTRecordWriter.h
│   │   ├── ASTWriter.h
│   │   ├── AttrPCHRead.inc
│   │   ├── AttrPCHWrite.inc
│   │   ├── ContinuousRangeMap.h
│   │   ├── GlobalModuleIndex.h
│   │   ├── InMemoryModuleCache.h
│   │   ├── ModuleFile.h
│   │   ├── ModuleFileExtension.h
│   │   ├── ModuleManager.h
│   │   ├── PCHContainerOperations.h
│   │   ├── SerializationDiagnostic.h
│   │   └── TypeBitCodes.def
│   ├── StaticAnalyzer
│   │   ├── Checkers
│   │   │   ├── BuiltinCheckerRegistration.h
│   │   │   ├── Checkers.inc
│   │   │   ├── LocalCheckers.h
│   │   │   ├── MPIFunctionClassifier.h
│   │   │   └── SValExplainer.h
│   │   ├── Core
│   │   │   ├── Analyses.def
│   │   │   ├── AnalyzerOptions.def
│   │   │   ├── AnalyzerOptions.h
│   │   │   ├── BugReporter
│   │   │   │   ├── BugReporter.h
│   │   │   │   ├── BugReporterVisitors.h
│   │   │   │   ├── BugType.h
│   │   │   │   └── CommonBugCategories.h
│   │   │   ├── Checker.h
│   │   │   ├── CheckerManager.h
│   │   │   ├── CheckerRegistryData.h
│   │   │   ├── PathDiagnosticConsumers.h
│   │   │   └── PathSensitive
│   │   │       ├── AnalysisManager.h
│   │   │       ├── APSIntType.h
│   │   │       ├── BasicValueFactory.h
│   │   │       ├── BlockCounter.h
│   │   │       ├── CallEvent.h
│   │   │       ├── CheckerContext.h
│   │   │       ├── CheckerHelpers.h
│   │   │       ├── ConstraintManager.h
│   │   │       ├── CoreEngine.h
│   │   │       ├── DynamicCastInfo.h
│   │   │       ├── DynamicExtent.h
│   │   │       ├── DynamicType.h
│   │   │       ├── DynamicTypeInfo.h
│   │   │       ├── Environment.h
│   │   │       ├── ExplodedGraph.h
│   │   │       ├── ExprEngine.h
│   │   │       ├── FunctionSummary.h
│   │   │       ├── LoopUnrolling.h
│   │   │       ├── LoopWidening.h
│   │   │       ├── MemRegion.h
│   │   │       ├── ProgramState.h
│   │   │       ├── ProgramState_Fwd.h
│   │   │       ├── ProgramStateTrait.h
│   │   │       ├── RangedConstraintManager.h
│   │   │       ├── Regions.def
│   │   │       ├── SimpleConstraintManager.h
│   │   │       ├── SMTConstraintManager.h
│   │   │       ├── SMTConv.h
│   │   │       ├── Store.h
│   │   │       ├── StoreRef.h
│   │   │       ├── SummaryManager.h
│   │   │       ├── SValBuilder.h
│   │   │       ├── SVals.def
│   │   │       ├── SVals.h
│   │   │       ├── SValVisitor.h
│   │   │       ├── SymbolManager.h
│   │   │       ├── Symbols.def
│   │   │       ├── SymExpr.h
│   │   │       └── WorkList.h
│   │   └── Frontend
│   │       ├── AnalysisConsumer.h
│   │       ├── AnalyzerHelpFlags.h
│   │       ├── CheckerRegistry.h
│   │       ├── FrontendActions.h
│   │       └── ModelConsumer.h
│   ├── Testing
│   │   ├── CommandLineArgs.h
│   │   └── TestClangConfig.h
│   └── Tooling
│       ├── AllTUsExecution.h
│       ├── ArgumentsAdjusters.h
│       ├── ASTDiff
│       │   ├── ASTDiff.h
│       │   └── ASTDiffInternal.h
│       ├── CommonOptionsParser.h
│       ├── CompilationDatabase.h
│       ├── CompilationDatabasePluginRegistry.h
│       ├── Core
│       │   ├── Diagnostic.h
│       │   └── Replacement.h
│       ├── DependencyScanning
│       │   ├── DependencyScanningFilesystem.h
│       │   ├── DependencyScanningService.h
│       │   ├── DependencyScanningTool.h
│       │   ├── DependencyScanningWorker.h
│       │   └── ModuleDepCollector.h
│       ├── DiagnosticsYaml.h
│       ├── Execution.h
│       ├── FileMatchTrie.h
│       ├── FixIt.h
│       ├── Inclusions
│       │   ├── HeaderIncludes.h
│       │   └── IncludeStyle.h
│       ├── JSONCompilationDatabase.h
│       ├── NodeIntrospection.h
│       ├── NodeIntrospection.inc
│       ├── Refactoring
│       │   ├── ASTSelection.h
│       │   ├── AtomicChange.h
│       │   ├── Extract
│       │   │   ├── Extract.h
│       │   │   └── SourceExtraction.h
│       │   ├── Lookup.h
│       │   ├── RecursiveSymbolVisitor.h
│       │   ├── RefactoringAction.h
│       │   ├── RefactoringActionRule.h
│       │   ├── RefactoringActionRuleRequirements.h
│       │   ├── RefactoringActionRules.h
│       │   ├── RefactoringActionRulesInternal.h
│       │   ├── RefactoringDiagnostic.h
│       │   ├── RefactoringOption.h
│       │   ├── RefactoringOptions.h
│       │   ├── RefactoringOptionVisitor.h
│       │   ├── RefactoringResultConsumer.h
│       │   ├── RefactoringRuleContext.h
│       │   └── Rename
│       │       ├── RenamingAction.h
│       │       ├── SymbolName.h
│       │       ├── SymbolOccurrences.h
│       │       ├── USRFinder.h
│       │       ├── USRFindingAction.h
│       │       └── USRLocFinder.h
│       ├── Refactoring.h
│       ├── RefactoringCallbacks.h
│       ├── ReplacementsYaml.h
│       ├── StandaloneExecution.h
│       ├── Syntax
│       │   ├── BuildTree.h
│       │   ├── Mutations.h
│       │   ├── NodeClasses.inc
│       │   ├── Nodes.h
│       │   ├── Nodes.inc
│       │   ├── Tokens.h
│       │   └── Tree.h
│       ├── ToolExecutorPluginRegistry.h
│       ├── Tooling.h
│       └── Transformer
│           ├── MatchConsumer.h
│           ├── Parsing.h
│           ├── RangeSelector.h
│           ├── RewriteRule.h
│           ├── SourceCode.h
│           ├── SourceCodeBuilders.h
│           ├── Stencil.h
│           └── Transformer.h
├── clang-c
│   ├── BuildSystem.h
│   ├── CXCompilationDatabase.h
│   ├── CXErrorCode.h
│   ├── CXString.h
│   ├── Documentation.h
│   ├── ExternC.h
│   ├── FatalErrorHandler.h
│   ├── Index.h
│   ├── Platform.h
│   └── Rewrite.h
├── clang-tidy
│   ├── abseil
│   │   ├── AbseilMatcher.h
│   │   ├── DurationAdditionCheck.h
│   │   ├── DurationComparisonCheck.h
│   │   ├── DurationConversionCastCheck.h
│   │   ├── DurationDivisionCheck.h
│   │   ├── DurationFactoryFloatCheck.h
│   │   ├── DurationFactoryScaleCheck.h
│   │   ├── DurationRewriter.h
│   │   ├── DurationSubtractionCheck.h
│   │   ├── DurationUnnecessaryConversionCheck.h
│   │   ├── FasterStrsplitDelimiterCheck.h
│   │   ├── NoInternalDependenciesCheck.h
│   │   ├── NoNamespaceCheck.h
│   │   ├── RedundantStrcatCallsCheck.h
│   │   ├── StrCatAppendCheck.h
│   │   ├── StringFindStartswithCheck.h
│   │   ├── StringFindStrContainsCheck.h
│   │   ├── TimeComparisonCheck.h
│   │   ├── TimeSubtractionCheck.h
│   │   └── UpgradeDurationConversionsCheck.h
│   ├── altera
│   │   ├── IdDependentBackwardBranchCheck.h
│   │   ├── KernelNameRestrictionCheck.h
│   │   ├── SingleWorkItemBarrierCheck.h
│   │   ├── StructPackAlignCheck.h
│   │   └── UnrollLoopsCheck.h
│   ├── android
│   │   ├── CloexecAccept4Check.h
│   │   ├── CloexecAcceptCheck.h
│   │   ├── CloexecCheck.h
│   │   ├── CloexecCreatCheck.h
│   │   ├── CloexecDupCheck.h
│   │   ├── CloexecEpollCreate1Check.h
│   │   ├── CloexecEpollCreateCheck.h
│   │   ├── CloexecFopenCheck.h
│   │   ├── CloexecInotifyInit1Check.h
│   │   ├── CloexecInotifyInitCheck.h
│   │   ├── CloexecMemfdCreateCheck.h
│   │   ├── CloexecOpenCheck.h
│   │   ├── CloexecPipe2Check.h
│   │   ├── CloexecPipeCheck.h
│   │   ├── CloexecSocketCheck.h
│   │   └── ComparisonInTempFailureRetryCheck.h
│   ├── boost
│   │   └── UseToStringCheck.h
│   ├── bugprone
│   │   ├── ArgumentCommentCheck.h
│   │   ├── AssertSideEffectCheck.h
│   │   ├── BadSignalToKillThreadCheck.h
│   │   ├── BoolPointerImplicitConversionCheck.h
│   │   ├── BranchCloneCheck.h
│   │   ├── CopyConstructorInitCheck.h
│   │   ├── DanglingHandleCheck.h
│   │   ├── DynamicStaticInitializersCheck.h
│   │   ├── EasilySwappableParametersCheck.h
│   │   ├── ExceptionEscapeCheck.h
│   │   ├── FoldInitTypeCheck.h
│   │   ├── ForwardDeclarationNamespaceCheck.h
│   │   ├── ForwardingReferenceOverloadCheck.h
│   │   ├── ImplicitWideningOfMultiplicationResultCheck.h
│   │   ├── InaccurateEraseCheck.h
│   │   ├── IncorrectRoundingsCheck.h
│   │   ├── InfiniteLoopCheck.h
│   │   ├── IntegerDivisionCheck.h
│   │   ├── LambdaFunctionNameCheck.h
│   │   ├── MacroParenthesesCheck.h
│   │   ├── MacroRepeatedSideEffectsCheck.h
│   │   ├── MisplacedOperatorInStrlenInAllocCheck.h
│   │   ├── MisplacedPointerArithmeticInAllocCheck.h
│   │   ├── MisplacedWideningCastCheck.h
│   │   ├── MoveForwardingReferenceCheck.h
│   │   ├── MultipleStatementMacroCheck.h
│   │   ├── NoEscapeCheck.h
│   │   ├── NotNullTerminatedResultCheck.h
│   │   ├── ParentVirtualCallCheck.h
│   │   ├── PosixReturnCheck.h
│   │   ├── RedundantBranchConditionCheck.h
│   │   ├── ReservedIdentifierCheck.h
│   │   ├── SignalHandlerCheck.h
│   │   ├── SignedCharMisuseCheck.h
│   │   ├── SizeofContainerCheck.h
│   │   ├── SizeofExpressionCheck.h
│   │   ├── SpuriouslyWakeUpFunctionsCheck.h
│   │   ├── StringConstructorCheck.h
│   │   ├── StringIntegerAssignmentCheck.h
│   │   ├── StringLiteralWithEmbeddedNulCheck.h
│   │   ├── SuspiciousEnumUsageCheck.h
│   │   ├── SuspiciousIncludeCheck.h
│   │   ├── SuspiciousMemsetUsageCheck.h
│   │   ├── SuspiciousMissingCommaCheck.h
│   │   ├── SuspiciousSemicolonCheck.h
│   │   ├── SuspiciousStringCompareCheck.h
│   │   ├── SwappedArgumentsCheck.h
│   │   ├── TerminatingContinueCheck.h
│   │   ├── ThrowKeywordMissingCheck.h
│   │   ├── TooSmallLoopVariableCheck.h
│   │   ├── UndefinedMemoryManipulationCheck.h
│   │   ├── UndelegatedConstructorCheck.h
│   │   ├── UnhandledExceptionAtNewCheck.h
│   │   ├── UnhandledSelfAssignmentCheck.h
│   │   ├── UnusedRaiiCheck.h
│   │   ├── UnusedReturnValueCheck.h
│   │   ├── UseAfterMoveCheck.h
│   │   └── VirtualNearMissCheck.h
│   ├── cert
│   │   ├── CommandProcessorCheck.h
│   │   ├── DefaultOperatorNewAlignmentCheck.h
│   │   ├── DontModifyStdNamespaceCheck.h
│   │   ├── FloatLoopCounter.h
│   │   ├── LimitedRandomnessCheck.h
│   │   ├── MutatingCopyCheck.h
│   │   ├── NonTrivialTypesLibcMemoryCallsCheck.h
│   │   ├── PostfixOperatorCheck.h
│   │   ├── ProperlySeededRandomGeneratorCheck.h
│   │   ├── SetLongJmpCheck.h
│   │   ├── StaticObjectExceptionCheck.h
│   │   ├── StrToNumCheck.h
│   │   ├── ThrownExceptionTypeCheck.h
│   │   └── VariadicFunctionDefCheck.h
│   ├── ClangTidy.h
│   ├── ClangTidyCheck.h
│   ├── ClangTidyDiagnosticConsumer.h
│   ├── ClangTidyForceLinker.h
│   ├── ClangTidyModule.h
│   ├── ClangTidyModuleRegistry.h
│   ├── ClangTidyOptions.h
│   ├── ClangTidyProfiling.h
│   ├── concurrency
│   │   ├── MtUnsafeCheck.h
│   │   └── ThreadCanceltypeAsynchronousCheck.h
│   ├── cppcoreguidelines
│   │   ├── AvoidGotoCheck.h
│   │   ├── AvoidNonConstGlobalVariablesCheck.h
│   │   ├── InitVariablesCheck.h
│   │   ├── InterfacesGlobalInitCheck.h
│   │   ├── MacroUsageCheck.h
│   │   ├── NarrowingConversionsCheck.h
│   │   ├── NoMallocCheck.h
│   │   ├── OwningMemoryCheck.h
│   │   ├── PreferMemberInitializerCheck.h
│   │   ├── ProBoundsArrayToPointerDecayCheck.h
│   │   ├── ProBoundsConstantArrayIndexCheck.h
│   │   ├── ProBoundsPointerArithmeticCheck.h
│   │   ├── ProTypeConstCastCheck.h
│   │   ├── ProTypeCstyleCastCheck.h
│   │   ├── ProTypeMemberInitCheck.h
│   │   ├── ProTypeReinterpretCastCheck.h
│   │   ├── ProTypeStaticCastDowncastCheck.h
│   │   ├── ProTypeUnionAccessCheck.h
│   │   ├── ProTypeVarargCheck.h
│   │   ├── SlicingCheck.h
│   │   └── SpecialMemberFunctionsCheck.h
│   ├── darwin
│   │   ├── AvoidSpinlockCheck.h
│   │   └── DispatchOnceNonstaticCheck.h
│   ├── ExpandModularHeadersPPCallbacks.h
│   ├── fuchsia
│   │   ├── DefaultArgumentsCallsCheck.h
│   │   ├── DefaultArgumentsDeclarationsCheck.h
│   │   ├── MultipleInheritanceCheck.h
│   │   ├── OverloadedOperatorCheck.h
│   │   ├── StaticallyConstructedObjectsCheck.h
│   │   ├── TrailingReturnCheck.h
│   │   └── VirtualInheritanceCheck.h
│   ├── GlobList.h
│   ├── google
│   │   ├── AvoidCStyleCastsCheck.h
│   │   ├── AvoidNSObjectNewCheck.h
│   │   ├── AvoidThrowingObjCExceptionCheck.h
│   │   ├── AvoidUnderscoreInGoogletestNameCheck.h
│   │   ├── DefaultArgumentsCheck.h
│   │   ├── ExplicitConstructorCheck.h
│   │   ├── ExplicitMakePairCheck.h
│   │   ├── FunctionNamingCheck.h
│   │   ├── GlobalNamesInHeadersCheck.h
│   │   ├── GlobalVariableDeclarationCheck.h
│   │   ├── IntegerTypesCheck.h
│   │   ├── OverloadedUnaryAndCheck.h
│   │   ├── TodoCommentCheck.h
│   │   ├── UnnamedNamespaceInHeaderCheck.h
│   │   ├── UpgradeGoogletestCaseCheck.h
│   │   └── UsingNamespaceDirectiveCheck.h
│   ├── hicpp
│   │   ├── ExceptionBaseclassCheck.h
│   │   ├── MultiwayPathsCoveredCheck.h
│   │   ├── NoAssemblerCheck.h
│   │   └── SignedBitwiseCheck.h
│   ├── linuxkernel
│   │   └── MustCheckErrsCheck.h
│   ├── llvm
│   │   ├── HeaderGuardCheck.h
│   │   ├── IncludeOrderCheck.h
│   │   ├── PreferIsaOrDynCastInConditionalsCheck.h
│   │   ├── PreferRegisterOverUnsignedCheck.h
│   │   └── TwineLocalCheck.h
│   ├── llvmlibc
│   │   ├── CalleeNamespaceCheck.h
│   │   ├── ImplementationInNamespaceCheck.h
│   │   └── RestrictSystemLibcHeadersCheck.h
│   ├── misc
│   │   ├── DefinitionsInHeadersCheck.h
│   │   ├── MisplacedConstCheck.h
│   │   ├── NewDeleteOverloadsCheck.h
│   │   ├── NonCopyableObjects.h
│   │   ├── NonPrivateMemberVariablesInClassesCheck.h
│   │   ├── NoRecursionCheck.h
│   │   ├── RedundantExpressionCheck.h
│   │   ├── StaticAssertCheck.h
│   │   ├── ThrowByValueCatchByReferenceCheck.h
│   │   ├── UnconventionalAssignOperatorCheck.h
│   │   ├── UniqueptrResetReleaseCheck.h
│   │   ├── UnusedAliasDeclsCheck.h
│   │   ├── UnusedParametersCheck.h
│   │   └── UnusedUsingDeclsCheck.h
│   ├── modernize
│   │   ├── AvoidBindCheck.h
│   │   ├── AvoidCArraysCheck.h
│   │   ├── ConcatNestedNamespacesCheck.h
│   │   ├── DeprecatedHeadersCheck.h
│   │   ├── DeprecatedIosBaseAliasesCheck.h
│   │   ├── LoopConvertCheck.h
│   │   ├── LoopConvertUtils.h
│   │   ├── MakeSharedCheck.h
│   │   ├── MakeSmartPtrCheck.h
│   │   ├── MakeUniqueCheck.h
│   │   ├── PassByValueCheck.h
│   │   ├── RawStringLiteralCheck.h
│   │   ├── RedundantVoidArgCheck.h
│   │   ├── ReplaceAutoPtrCheck.h
│   │   ├── ReplaceDisallowCopyAndAssignMacroCheck.h
│   │   ├── ReplaceRandomShuffleCheck.h
│   │   ├── ReturnBracedInitListCheck.h
│   │   ├── ShrinkToFitCheck.h
│   │   ├── UnaryStaticAssertCheck.h
│   │   ├── UseAutoCheck.h
│   │   ├── UseBoolLiteralsCheck.h
│   │   ├── UseDefaultMemberInitCheck.h
│   │   ├── UseEmplaceCheck.h
│   │   ├── UseEqualsDefaultCheck.h
│   │   ├── UseEqualsDeleteCheck.h
│   │   ├── UseNodiscardCheck.h
│   │   ├── UseNoexceptCheck.h
│   │   ├── UseNullptrCheck.h
│   │   ├── UseOverrideCheck.h
│   │   ├── UseTrailingReturnTypeCheck.h
│   │   ├── UseTransparentFunctorsCheck.h
│   │   ├── UseUncaughtExceptionsCheck.h
│   │   └── UseUsingCheck.h
│   ├── mpi
│   │   ├── BufferDerefCheck.h
│   │   └── TypeMismatchCheck.h
│   ├── objc
│   │   ├── AvoidNSErrorInitCheck.h
│   │   ├── DeallocInCategoryCheck.h
│   │   ├── ForbiddenSubclassingCheck.h
│   │   ├── MissingHashCheck.h
│   │   ├── NSInvocationArgumentLifetimeCheck.h
│   │   ├── PropertyDeclarationCheck.h
│   │   └── SuperSelfCheck.h
│   ├── openmp
│   │   ├── ExceptionEscapeCheck.h
│   │   └── UseDefaultNoneCheck.h
│   ├── performance
│   │   ├── FasterStringFindCheck.h
│   │   ├── ForRangeCopyCheck.h
│   │   ├── ImplicitConversionInLoopCheck.h
│   │   ├── InefficientAlgorithmCheck.h
│   │   ├── InefficientStringConcatenationCheck.h
│   │   ├── InefficientVectorOperationCheck.h
│   │   ├── MoveConstArgCheck.h
│   │   ├── MoveConstructorInitCheck.h
│   │   ├── NoAutomaticMoveCheck.h
│   │   ├── NoexceptMoveConstructorCheck.h
│   │   ├── NoIntToPtrCheck.h
│   │   ├── TriviallyDestructibleCheck.h
│   │   ├── TypePromotionInMathFnCheck.h
│   │   ├── UnnecessaryCopyInitialization.h
│   │   └── UnnecessaryValueParamCheck.h
│   ├── plugin
│   ├── portability
│   │   ├── RestrictSystemIncludesCheck.h
│   │   └── SIMDIntrinsicsCheck.h
│   ├── readability
│   │   ├── AvoidConstParamsInDecls.h
│   │   ├── BracesAroundStatementsCheck.h
│   │   ├── ConstReturnTypeCheck.h
│   │   ├── ContainerSizeEmptyCheck.h
│   │   ├── ConvertMemberFunctionsToStatic.h
│   │   ├── DeleteNullPointerCheck.h
│   │   ├── ElseAfterReturnCheck.h
│   │   ├── FunctionCognitiveComplexityCheck.h
│   │   ├── FunctionSizeCheck.h
│   │   ├── IdentifierNamingCheck.h
│   │   ├── ImplicitBoolConversionCheck.h
│   │   ├── InconsistentDeclarationParameterNameCheck.h
│   │   ├── IsolateDeclarationCheck.h
│   │   ├── MagicNumbersCheck.h
│   │   ├── MakeMemberFunctionConstCheck.h
│   │   ├── MisleadingIndentationCheck.h
│   │   ├── MisplacedArrayIndexCheck.h
│   │   ├── NamedParameterCheck.h
│   │   ├── NamespaceCommentCheck.h
│   │   ├── NonConstParameterCheck.h
│   │   ├── QualifiedAutoCheck.h
│   │   ├── RedundantAccessSpecifiersCheck.h
│   │   ├── RedundantControlFlowCheck.h
│   │   ├── RedundantDeclarationCheck.h
│   │   ├── RedundantFunctionPtrDereferenceCheck.h
│   │   ├── RedundantMemberInitCheck.h
│   │   ├── RedundantPreprocessorCheck.h
│   │   ├── RedundantSmartptrGetCheck.h
│   │   ├── RedundantStringCStrCheck.h
│   │   ├── RedundantStringInitCheck.h
│   │   ├── SimplifyBooleanExprCheck.h
│   │   ├── SimplifySubscriptExprCheck.h
│   │   ├── StaticAccessedThroughInstanceCheck.h
│   │   ├── StaticDefinitionInAnonymousNamespaceCheck.h
│   │   ├── StringCompareCheck.h
│   │   ├── SuspiciousCallArgumentCheck.h
│   │   ├── UniqueptrDeleteReleaseCheck.h
│   │   ├── UppercaseLiteralSuffixCheck.h
│   │   └── UseAnyOfAllOfCheck.h
│   ├── tool
│   │   └── ClangTidyMain.h
│   ├── utils
│   │   ├── Aliasing.h
│   │   ├── ASTUtils.h
│   │   ├── DeclRefExprUtils.h
│   │   ├── ExceptionAnalyzer.h
│   │   ├── ExprSequence.h
│   │   ├── FileExtensionsUtils.h
│   │   ├── FixItHintUtils.h
│   │   ├── HeaderGuard.h
│   │   ├── IncludeInserter.h
│   │   ├── IncludeSorter.h
│   │   ├── LexerUtils.h
│   │   ├── Matchers.h
│   │   ├── NamespaceAliaser.h
│   │   ├── OptionsUtils.h
│   │   ├── RenamerClangTidyCheck.h
│   │   ├── TransformerClangTidyCheck.h
│   │   ├── TypeTraits.h
│   │   └── UsingInserter.h
│   └── zircon
│       └── TemporaryObjectsCheck.h
├── curl
│   ├── curl.h
│   ├── curlver.h
│   ├── easy.h
│   ├── mprintf.h
│   ├── multi.h
│   ├── options.h
│   ├── stdcheaders.h
│   ├── system.h
│   ├── typecheck-gcc.h
│   └── urlapi.h
├── decimal.hh
├── editline
│   └── readline.h
├── emacs-module.h
├── expat.h
├── expat_config.h
├── expat_external.h
├── fakemysql.h
├── fakepq.h
├── fakesql.h
├── ffi.h
├── ffitarget.h
├── fmt
│   ├── args.h
│   ├── chrono.h
│   ├── color.h
│   ├── compile.h
│   ├── core.h
│   ├── fmt.cc
│   ├── format.cc
│   ├── format.h
│   ├── format-inl.h
│   ├── locale.h
│   ├── os.cc
│   ├── os.h
│   ├── ostream.h
│   ├── printf.h
│   ├── ranges.h
│   └── xchar.h
├── fontconfig
│   ├── fcfreetype.h
│   ├── fcprivate.h
│   └── fontconfig.h
├── freetype2
│   ├── freetype
│   │   ├── config
│   │   │   ├── ftconfig.h
│   │   │   ├── ftheader.h
│   │   │   ├── ftmodule.h
│   │   │   ├── ftoption.h
│   │   │   ├── ftstdlib.h
│   │   │   ├── integer-types.h
│   │   │   ├── mac-support.h
│   │   │   └── public-macros.h
│   │   ├── freetype.h
│   │   ├── ftadvanc.h
│   │   ├── ftbbox.h
│   │   ├── ftbdf.h
│   │   ├── ftbitmap.h
│   │   ├── ftbzip2.h
│   │   ├── ftcache.h
│   │   ├── ftchapters.h
│   │   ├── ftcid.h
│   │   ├── ftcolor.h
│   │   ├── ftdriver.h
│   │   ├── fterrdef.h
│   │   ├── fterrors.h
│   │   ├── ftfntfmt.h
│   │   ├── ftgasp.h
│   │   ├── ftglyph.h
│   │   ├── ftgxval.h
│   │   ├── ftgzip.h
│   │   ├── ftimage.h
│   │   ├── ftincrem.h
│   │   ├── ftlcdfil.h
│   │   ├── ftlist.h
│   │   ├── ftlzw.h
│   │   ├── ftmac.h
│   │   ├── ftmm.h
│   │   ├── ftmodapi.h
│   │   ├── ftmoderr.h
│   │   ├── ftotval.h
│   │   ├── ftoutln.h
│   │   ├── ftparams.h
│   │   ├── ftpfr.h
│   │   ├── ftrender.h
│   │   ├── ftsizes.h
│   │   ├── ftsnames.h
│   │   ├── ftstroke.h
│   │   ├── ftsynth.h
│   │   ├── ftsystem.h
│   │   ├── fttrigon.h
│   │   ├── fttypes.h
│   │   ├── ftwinfnt.h
│   │   ├── t1tables.h
│   │   ├── ttnameid.h
│   │   ├── tttables.h
│   │   └── tttags.h
│   └── ft2build.h
├── gdb
│   └── jit-reader.h
├── gettext-po.h
├── gio-win32-2.0
│   └── gio
│       ├── gwin32inputstream.h
│       └── gwin32outputstream.h
├── GL
│   ├── glew.h
│   ├── glxew.h
│   └── wglew.h
├── glib-2.0
│   ├── gio
│   │   ├── gaction.h
│   │   ├── gactiongroup.h
│   │   ├── gactiongroupexporter.h
│   │   ├── gactionmap.h
│   │   ├── gappinfo.h
│   │   ├── gapplication.h
│   │   ├── gapplicationcommandline.h
│   │   ├── gasyncinitable.h
│   │   ├── gasyncresult.h
│   │   ├── gbufferedinputstream.h
│   │   ├── gbufferedoutputstream.h
│   │   ├── gbytesicon.h
│   │   ├── gcancellable.h
│   │   ├── gcharsetconverter.h
│   │   ├── gcontenttype.h
│   │   ├── gconverter.h
│   │   ├── gconverterinputstream.h
│   │   ├── gconverteroutputstream.h
│   │   ├── gcredentials.h
│   │   ├── gdatagrambased.h
│   │   ├── gdatainputstream.h
│   │   ├── gdataoutputstream.h
│   │   ├── gdbusactiongroup.h
│   │   ├── gdbusaddress.h
│   │   ├── gdbusauthobserver.h
│   │   ├── gdbusconnection.h
│   │   ├── gdbuserror.h
│   │   ├── gdbusinterface.h
│   │   ├── gdbusinterfaceskeleton.h
│   │   ├── gdbusintrospection.h
│   │   ├── gdbusmenumodel.h
│   │   ├── gdbusmessage.h
│   │   ├── gdbusmethodinvocation.h
│   │   ├── gdbusnameowning.h
│   │   ├── gdbusnamewatching.h
│   │   ├── gdbusobject.h
│   │   ├── gdbusobjectmanager.h
│   │   ├── gdbusobjectmanagerclient.h
│   │   ├── gdbusobjectmanagerserver.h
│   │   ├── gdbusobjectproxy.h
│   │   ├── gdbusobjectskeleton.h
│   │   ├── gdbusproxy.h
│   │   ├── gdbusserver.h
│   │   ├── gdbusutils.h
│   │   ├── gdrive.h
│   │   ├── gdtlsclientconnection.h
│   │   ├── gdtlsconnection.h
│   │   ├── gdtlsserverconnection.h
│   │   ├── gemblem.h
│   │   ├── gemblemedicon.h
│   │   ├── gfile.h
│   │   ├── gfileattribute.h
│   │   ├── gfileenumerator.h
│   │   ├── gfileicon.h
│   │   ├── gfileinfo.h
│   │   ├── gfileinputstream.h
│   │   ├── gfileiostream.h
│   │   ├── gfilemonitor.h
│   │   ├── gfilenamecompleter.h
│   │   ├── gfileoutputstream.h
│   │   ├── gfilterinputstream.h
│   │   ├── gfilteroutputstream.h
│   │   ├── gicon.h
│   │   ├── ginetaddress.h
│   │   ├── ginetaddressmask.h
│   │   ├── ginetsocketaddress.h
│   │   ├── ginitable.h
│   │   ├── ginputstream.h
│   │   ├── gio.h
│   │   ├── gio-autocleanups.h
│   │   ├── gioenums.h
│   │   ├── gioenumtypes.h
│   │   ├── gioerror.h
│   │   ├── giomodule.h
│   │   ├── gioscheduler.h
│   │   ├── giostream.h
│   │   ├── giotypes.h
│   │   ├── glistmodel.h
│   │   ├── gliststore.h
│   │   ├── gloadableicon.h
│   │   ├── gmemoryinputstream.h
│   │   ├── gmemorymonitor.h
│   │   ├── gmemoryoutputstream.h
│   │   ├── gmenu.h
│   │   ├── gmenuexporter.h
│   │   ├── gmenumodel.h
│   │   ├── gmount.h
│   │   ├── gmountoperation.h
│   │   ├── gnativesocketaddress.h
│   │   ├── gnativevolumemonitor.h
│   │   ├── gnetworkaddress.h
│   │   ├── gnetworking.h
│   │   ├── gnetworkmonitor.h
│   │   ├── gnetworkservice.h
│   │   ├── gnotification.h
│   │   ├── goutputstream.h
│   │   ├── gpermission.h
│   │   ├── gpollableinputstream.h
│   │   ├── gpollableoutputstream.h
│   │   ├── gpollableutils.h
│   │   ├── gpowerprofilemonitor.h
│   │   ├── gpropertyaction.h
│   │   ├── gproxy.h
│   │   ├── gproxyaddress.h
│   │   ├── gproxyaddressenumerator.h
│   │   ├── gproxyresolver.h
│   │   ├── gremoteactiongroup.h
│   │   ├── gresolver.h
│   │   ├── gresource.h
│   │   ├── gseekable.h
│   │   ├── gsettings.h
│   │   ├── gsettingsbackend.h
│   │   ├── gsettingsschema.h
│   │   ├── gsimpleaction.h
│   │   ├── gsimpleactiongroup.h
│   │   ├── gsimpleasyncresult.h
│   │   ├── gsimpleiostream.h
│   │   ├── gsimplepermission.h
│   │   ├── gsimpleproxyresolver.h
│   │   ├── gsocket.h
│   │   ├── gsocketaddress.h
│   │   ├── gsocketaddressenumerator.h
│   │   ├── gsocketclient.h
│   │   ├── gsocketconnectable.h
│   │   ├── gsocketconnection.h
│   │   ├── gsocketcontrolmessage.h
│   │   ├── gsocketlistener.h
│   │   ├── gsocketservice.h
│   │   ├── gsrvtarget.h
│   │   ├── gsubprocess.h
│   │   ├── gsubprocesslauncher.h
│   │   ├── gtask.h
│   │   ├── gtcpconnection.h
│   │   ├── gtcpwrapperconnection.h
│   │   ├── gtestdbus.h
│   │   ├── gthemedicon.h
│   │   ├── gthreadedsocketservice.h
│   │   ├── gtlsbackend.h
│   │   ├── gtlscertificate.h
│   │   ├── gtlsclientconnection.h
│   │   ├── gtlsconnection.h
│   │   ├── gtlsdatabase.h
│   │   ├── gtlsfiledatabase.h
│   │   ├── gtlsinteraction.h
│   │   ├── gtlspassword.h
│   │   ├── gtlsserverconnection.h
│   │   ├── gvfs.h
│   │   ├── gvolume.h
│   │   ├── gvolumemonitor.h
│   │   ├── gzlibcompressor.h
│   │   └── gzlibdecompressor.h
│   ├── glib
│   │   ├── deprecated
│   │   │   ├── gallocator.h
│   │   │   ├── gcache.h
│   │   │   ├── gcompletion.h
│   │   │   ├── gmain.h
│   │   │   ├── grel.h
│   │   │   └── gthread.h
│   │   ├── galloca.h
│   │   ├── garray.h
│   │   ├── gasyncqueue.h
│   │   ├── gatomic.h
│   │   ├── gbacktrace.h
│   │   ├── gbase64.h
│   │   ├── gbitlock.h
│   │   ├── gbookmarkfile.h
│   │   ├── gbytes.h
│   │   ├── gcharset.h
│   │   ├── gchecksum.h
│   │   ├── gconvert.h
│   │   ├── gdataset.h
│   │   ├── gdate.h
│   │   ├── gdatetime.h
│   │   ├── gdir.h
│   │   ├── genviron.h
│   │   ├── gerror.h
│   │   ├── gfileutils.h
│   │   ├── ggettext.h
│   │   ├── ghash.h
│   │   ├── ghmac.h
│   │   ├── ghook.h
│   │   ├── ghostutils.h
│   │   ├── gi18n.h
│   │   ├── gi18n-lib.h
│   │   ├── giochannel.h
│   │   ├── gkeyfile.h
│   │   ├── glib-autocleanups.h
│   │   ├── glib-typeof.h
│   │   ├── glist.h
│   │   ├── gmacros.h
│   │   ├── gmain.h
│   │   ├── gmappedfile.h
│   │   ├── gmarkup.h
│   │   ├── gmem.h
│   │   ├── gmessages.h
│   │   ├── gnode.h
│   │   ├── goption.h
│   │   ├── gpattern.h
│   │   ├── gpoll.h
│   │   ├── gprimes.h
│   │   ├── gprintf.h
│   │   ├── gqsort.h
│   │   ├── gquark.h
│   │   ├── gqueue.h
│   │   ├── grand.h
│   │   ├── grcbox.h
│   │   ├── grefcount.h
│   │   ├── grefstring.h
│   │   ├── gregex.h
│   │   ├── gscanner.h
│   │   ├── gsequence.h
│   │   ├── gshell.h
│   │   ├── gslice.h
│   │   ├── gslist.h
│   │   ├── gspawn.h
│   │   ├── gstdio.h
│   │   ├── gstrfuncs.h
│   │   ├── gstring.h
│   │   ├── gstringchunk.h
│   │   ├── gstrvbuilder.h
│   │   ├── gtestutils.h
│   │   ├── gthread.h
│   │   ├── gthreadpool.h
│   │   ├── gtimer.h
│   │   ├── gtimezone.h
│   │   ├── gtrashstack.h
│   │   ├── gtree.h
│   │   ├── gtypes.h
│   │   ├── gunicode.h
│   │   ├── guri.h
│   │   ├── gutils.h
│   │   ├── guuid.h
│   │   ├── gvariant.h
│   │   ├── gvarianttype.h
│   │   ├── gversion.h
│   │   ├── gversionmacros.h
│   │   └── gwin32.h
│   ├── glib.h
│   ├── glib-object.h
│   ├── glib-unix.h
│   ├── gmodule.h
│   ├── gobject
│   │   ├── gbinding.h
│   │   ├── gboxed.h
│   │   ├── gclosure.h
│   │   ├── genums.h
│   │   ├── glib-enumtypes.h
│   │   ├── glib-types.h
│   │   ├── gmarshal.h
│   │   ├── gobject.h
│   │   ├── gobject-autocleanups.h
│   │   ├── gobjectnotifyqueue.c
│   │   ├── gparam.h
│   │   ├── gparamspecs.h
│   │   ├── gsignal.h
│   │   ├── gsourceclosure.h
│   │   ├── gtype.h
│   │   ├── gtypemodule.h
│   │   ├── gtypeplugin.h
│   │   ├── gvalue.h
│   │   ├── gvaluearray.h
│   │   ├── gvaluecollector.h
│   │   └── gvaluetypes.h
│   └── msvc_recommended_pragmas.h
├── gmp.h
├── gmpxx.h
├── gnumake.h
├── gnutls
│   ├── abstract.h
│   ├── compat.h
│   ├── crypto.h
│   ├── dtls.h
│   ├── gnutls.h
│   ├── gnutlsxx.h
│   ├── ocsp.h
│   ├── openpgp.h
│   ├── openssl.h
│   ├── pkcs11.h
│   ├── pkcs12.h
│   ├── pkcs7.h
│   ├── self-test.h
│   ├── socket.h
│   ├── system-keys.h
│   ├── tpm.h
│   ├── urls.h
│   ├── x509.h
│   └── x509-ext.h
├── google
│   └── protobuf
│       ├── any.h
│       ├── any.pb.h
│       ├── any.proto
│       ├── api.pb.h
│       ├── api.proto
│       ├── arena.h
│       ├── arena_impl.h
│       ├── arenastring.h
│       ├── compiler
│       │   ├── code_generator.h
│       │   ├── command_line_interface.h
│       │   ├── cpp
│       │   │   └── cpp_generator.h
│       │   ├── csharp
│       │   │   ├── csharp_generator.h
│       │   │   └── csharp_names.h
│       │   ├── importer.h
│       │   ├── java
│       │   │   ├── java_generator.h
│       │   │   └── java_names.h
│       │   ├── js
│       │   │   ├── js_generator.h
│       │   │   └── well_known_types_embed.h
│       │   ├── objectivec
│       │   │   ├── objectivec_generator.h
│       │   │   └── objectivec_helpers.h
│       │   ├── parser.h
│       │   ├── php
│       │   │   └── php_generator.h
│       │   ├── plugin.h
│       │   ├── plugin.pb.h
│       │   ├── plugin.proto
│       │   ├── python
│       │   │   └── python_generator.h
│       │   └── ruby
│       │       └── ruby_generator.h
│       ├── descriptor.h
│       ├── descriptor.pb.h
│       ├── descriptor.proto
│       ├── descriptor_database.h
│       ├── duration.pb.h
│       ├── duration.proto
│       ├── dynamic_message.h
│       ├── empty.pb.h
│       ├── empty.proto
│       ├── extension_set.h
│       ├── extension_set_inl.h
│       ├── field_mask.pb.h
│       ├── field_mask.proto
│       ├── generated_enum_reflection.h
│       ├── generated_enum_util.h
│       ├── generated_message_reflection.h
│       ├── generated_message_table_driven.h
│       ├── generated_message_util.h
│       ├── has_bits.h
│       ├── implicit_weak_message.h
│       ├── io
│       │   ├── coded_stream.h
│       │   ├── gzip_stream.h
│       │   ├── io_win32.h
│       │   ├── printer.h
│       │   ├── strtod.h
│       │   ├── tokenizer.h
│       │   ├── zero_copy_stream.h
│       │   ├── zero_copy_stream_impl.h
│       │   └── zero_copy_stream_impl_lite.h
│       ├── map.h
│       ├── map_entry.h
│       ├── map_entry_lite.h
│       ├── map_field.h
│       ├── map_field_inl.h
│       ├── map_field_lite.h
│       ├── map_type_handler.h
│       ├── message.h
│       ├── message_lite.h
│       ├── metadata.h
│       ├── metadata_lite.h
│       ├── parse_context.h
│       ├── port.h
│       ├── port_def.inc
│       ├── port_undef.inc
│       ├── reflection.h
│       ├── reflection_ops.h
│       ├── repeated_field.h
│       ├── service.h
│       ├── source_context.pb.h
│       ├── source_context.proto
│       ├── struct.pb.h
│       ├── struct.proto
│       ├── stubs
│       │   ├── bytestream.h
│       │   ├── callback.h
│       │   ├── casts.h
│       │   ├── common.h
│       │   ├── hash.h
│       │   ├── logging.h
│       │   ├── macros.h
│       │   ├── map_util.h
│       │   ├── mutex.h
│       │   ├── once.h
│       │   ├── platform_macros.h
│       │   ├── port.h
│       │   ├── status.h
│       │   ├── stl_util.h
│       │   ├── stringpiece.h
│       │   ├── strutil.h
│       │   └── template_util.h
│       ├── text_format.h
│       ├── timestamp.pb.h
│       ├── timestamp.proto
│       ├── type.pb.h
│       ├── type.proto
│       ├── unknown_field_set.h
│       ├── util
│       │   ├── delimited_message_util.h
│       │   ├── field_comparator.h
│       │   ├── field_mask_util.h
│       │   ├── json_util.h
│       │   ├── message_differencer.h
│       │   ├── time_util.h
│       │   ├── type_resolver.h
│       │   └── type_resolver_util.h
│       ├── wire_format.h
│       ├── wire_format_lite.h
│       ├── wrappers.pb.h
│       └── wrappers.proto
├── graphite2
│   ├── Font.h
│   ├── Log.h
│   ├── Segment.h
│   └── Types.h
├── grpc
│   ├── byte_buffer.h
│   ├── byte_buffer_reader.h
│   ├── census.h
│   ├── compression.h
│   ├── fork.h
│   ├── grpc.h
│   ├── grpc_posix.h
│   ├── grpc_security.h
│   ├── grpc_security_constants.h
│   ├── impl
│   │   └── codegen
│   │       ├── atm.h
│   │       ├── atm_gcc_atomic.h
│   │       ├── atm_gcc_sync.h
│   │       ├── atm_windows.h
│   │       ├── byte_buffer.h
│   │       ├── byte_buffer_reader.h
│   │       ├── compression_types.h
│   │       ├── connectivity_state.h
│   │       ├── fork.h
│   │       ├── gpr_slice.h
│   │       ├── gpr_types.h
│   │       ├── grpc_types.h
│   │       ├── log.h
│   │       ├── port_platform.h
│   │       ├── propagation_bits.h
│   │       ├── slice.h
│   │       ├── status.h
│   │       ├── sync.h
│   │       ├── sync_abseil.h
│   │       ├── sync_custom.h
│   │       ├── sync_generic.h
│   │       ├── sync_posix.h
│   │       └── sync_windows.h
│   ├── load_reporting.h
│   ├── slice.h
│   ├── slice_buffer.h
│   ├── status.h
│   └── support
│       ├── alloc.h
│       ├── atm.h
│       ├── atm_gcc_atomic.h
│       ├── atm_gcc_sync.h
│       ├── atm_windows.h
│       ├── cpu.h
│       ├── log.h
│       ├── log_windows.h
│       ├── port_platform.h
│       ├── string_util.h
│       ├── sync.h
│       ├── sync_abseil.h
│       ├── sync_custom.h
│       ├── sync_generic.h
│       ├── sync_posix.h
│       ├── sync_windows.h
│       ├── thd_id.h
│       ├── time.h
│       └── workaround_list.h
├── grpc++
│   ├── alarm.h
│   ├── channel.h
│   ├── client_context.h
│   ├── completion_queue.h
│   ├── create_channel.h
│   ├── create_channel_posix.h
│   ├── ext
│   │   ├── health_check_service_server_builder_option.h
│   │   └── proto_server_reflection_plugin.h
│   ├── generic
│   │   ├── async_generic_service.h
│   │   └── generic_stub.h
│   ├── grpc++.h
│   ├── health_check_service_interface.h
│   ├── impl
│   │   ├── call.h
│   │   ├── channel_argument_option.h
│   │   ├── client_unary_call.h
│   │   ├── codegen
│   │   │   ├── async_stream.h
│   │   │   ├── async_unary_call.h
│   │   │   ├── byte_buffer.h
│   │   │   ├── call.h
│   │   │   ├── call_hook.h
│   │   │   ├── channel_interface.h
│   │   │   ├── client_context.h
│   │   │   ├── client_unary_call.h
│   │   │   ├── completion_queue.h
│   │   │   ├── completion_queue_tag.h
│   │   │   ├── config.h
│   │   │   ├── config_protobuf.h
│   │   │   ├── core_codegen.h
│   │   │   ├── core_codegen_interface.h
│   │   │   ├── create_auth_context.h
│   │   │   ├── grpc_library.h
│   │   │   ├── metadata_map.h
│   │   │   ├── method_handler_impl.h
│   │   │   ├── proto_utils.h
│   │   │   ├── rpc_method.h
│   │   │   ├── rpc_service_method.h
│   │   │   ├── security
│   │   │   │   └── auth_context.h
│   │   │   ├── serialization_traits.h
│   │   │   ├── server_context.h
│   │   │   ├── server_interface.h
│   │   │   ├── service_type.h
│   │   │   ├── slice.h
│   │   │   ├── status.h
│   │   │   ├── status_code_enum.h
│   │   │   ├── string_ref.h
│   │   │   ├── stub_options.h
│   │   │   ├── sync_stream.h
│   │   │   └── time.h
│   │   ├── grpc_library.h
│   │   ├── method_handler_impl.h
│   │   ├── rpc_method.h
│   │   ├── rpc_service_method.h
│   │   ├── serialization_traits.h
│   │   ├── server_builder_option.h
│   │   ├── server_builder_plugin.h
│   │   ├── server_initializer.h
│   │   └── service_type.h
│   ├── resource_quota.h
│   ├── security
│   │   ├── auth_context.h
│   │   ├── auth_metadata_processor.h
│   │   ├── credentials.h
│   │   └── server_credentials.h
│   ├── server.h
│   ├── server_builder.h
│   ├── server_context.h
│   ├── server_posix.h
│   └── support
│       ├── async_stream.h
│       ├── async_unary_call.h
│       ├── byte_buffer.h
│       ├── channel_arguments.h
│       ├── config.h
│       ├── error_details.h
│       ├── slice.h
│       ├── status.h
│       ├── status_code_enum.h
│       ├── string_ref.h
│       ├── stub_options.h
│       ├── sync_stream.h
│       └── time.h
├── grpcpp
│   ├── alarm.h
│   ├── channel.h
│   ├── client_context.h
│   ├── completion_queue.h
│   ├── create_channel.h
│   ├── create_channel_posix.h
│   ├── ext
│   │   ├── channelz_service_plugin.h
│   │   ├── health_check_service_server_builder_option.h
│   │   └── proto_server_reflection_plugin.h
│   ├── generic
│   │   ├── async_generic_service.h
│   │   └── generic_stub.h
│   ├── grpcpp.h
│   ├── health_check_service_interface.h
│   ├── impl
│   │   ├── call.h
│   │   ├── channel_argument_option.h
│   │   ├── client_unary_call.h
│   │   ├── codegen
│   │   │   ├── async_generic_service.h
│   │   │   ├── async_stream.h
│   │   │   ├── async_unary_call.h
│   │   │   ├── byte_buffer.h
│   │   │   ├── call.h
│   │   │   ├── call_hook.h
│   │   │   ├── call_op_set.h
│   │   │   ├── call_op_set_interface.h
│   │   │   ├── callback_common.h
│   │   │   ├── channel_interface.h
│   │   │   ├── client_callback.h
│   │   │   ├── client_context.h
│   │   │   ├── client_interceptor.h
│   │   │   ├── client_unary_call.h
│   │   │   ├── completion_queue.h
│   │   │   ├── completion_queue_tag.h
│   │   │   ├── config.h
│   │   │   ├── config_protobuf.h
│   │   │   ├── core_codegen.h
│   │   │   ├── core_codegen_interface.h
│   │   │   ├── create_auth_context.h
│   │   │   ├── delegating_channel.h
│   │   │   ├── grpc_library.h
│   │   │   ├── intercepted_channel.h
│   │   │   ├── interceptor.h
│   │   │   ├── interceptor_common.h
│   │   │   ├── message_allocator.h
│   │   │   ├── metadata_map.h
│   │   │   ├── method_handler.h
│   │   │   ├── proto_buffer_reader.h
│   │   │   ├── proto_buffer_writer.h
│   │   │   ├── proto_utils.h
│   │   │   ├── rpc_method.h
│   │   │   ├── rpc_service_method.h
│   │   │   ├── security
│   │   │   │   └── auth_context.h
│   │   │   ├── serialization_traits.h
│   │   │   ├── server_callback.h
│   │   │   ├── server_callback_handlers.h
│   │   │   ├── server_context.h
│   │   │   ├── server_interceptor.h
│   │   │   ├── server_interface.h
│   │   │   ├── service_type.h
│   │   │   ├── slice.h
│   │   │   ├── status.h
│   │   │   ├── status_code_enum.h
│   │   │   ├── string_ref.h
│   │   │   ├── stub_options.h
│   │   │   ├── sync.h
│   │   │   ├── sync_stream.h
│   │   │   └── time.h
│   │   ├── grpc_library.h
│   │   ├── method_handler_impl.h
│   │   ├── rpc_method.h
│   │   ├── rpc_service_method.h
│   │   ├── serialization_traits.h
│   │   ├── server_builder_option.h
│   │   ├── server_builder_plugin.h
│   │   ├── server_initializer.h
│   │   └── service_type.h
│   ├── resource_quota.h
│   ├── security
│   │   ├── alts_context.h
│   │   ├── alts_util.h
│   │   ├── auth_context.h
│   │   ├── auth_metadata_processor.h
│   │   ├── credentials.h
│   │   ├── server_credentials.h
│   │   ├── tls_certificate_provider.h
│   │   └── tls_credentials_options.h
│   ├── server.h
│   ├── server_builder.h
│   ├── server_context.h
│   ├── server_posix.h
│   ├── support
│   │   ├── async_stream.h
│   │   ├── async_unary_call.h
│   │   ├── byte_buffer.h
│   │   ├── channel_arguments.h
│   │   ├── client_callback.h
│   │   ├── client_interceptor.h
│   │   ├── config.h
│   │   ├── error_details.h
│   │   ├── interceptor.h
│   │   ├── message_allocator.h
│   │   ├── method_handler.h
│   │   ├── proto_buffer_reader.h
│   │   ├── proto_buffer_writer.h
│   │   ├── server_callback.h
│   │   ├── server_interceptor.h
│   │   ├── slice.h
│   │   ├── status.h
│   │   ├── status_code_enum.h
│   │   ├── string_ref.h
│   │   ├── stub_options.h
│   │   ├── sync_stream.h
│   │   ├── time.h
│   │   └── validate_service_config.h
│   └── xds_server_builder.h
├── harfbuzz
│   ├── hb.h
│   ├── hb-aat.h
│   ├── hb-aat-layout.h
│   ├── hb-blob.h
│   ├── hb-buffer.h
│   ├── hb-common.h
│   ├── hb-deprecated.h
│   ├── hb-directwrite.h
│   ├── hb-draw.h
│   ├── hb-face.h
│   ├── hb-font.h
│   ├── hb-ft.h
│   ├── hb-gdi.h
│   ├── hb-glib.h
│   ├── hb-gobject.h
│   ├── hb-gobject-enums.h
│   ├── hb-gobject-structs.h
│   ├── hb-graphite2.h
│   ├── hb-icu.h
│   ├── hb-map.h
│   ├── hb-ot.h
│   ├── hb-ot-color.h
│   ├── hb-ot-deprecated.h
│   ├── hb-ot-font.h
│   ├── hb-ot-layout.h
│   ├── hb-ot-math.h
│   ├── hb-ot-meta.h
│   ├── hb-ot-metrics.h
│   ├── hb-ot-name.h
│   ├── hb-ot-shape.h
│   ├── hb-ot-var.h
│   ├── hb-set.h
│   ├── hb-shape.h
│   ├── hb-shape-plan.h
│   ├── hb-style.h
│   ├── hb-subset.h
│   ├── hb-unicode.h
│   ├── hb-uniscribe.h
│   └── hb-version.h
├── iconv.h
├── idn2.h
├── isl
│   ├── aff.h
│   ├── aff_type.h
│   ├── arg.h
│   ├── ast.h
│   ├── ast_build.h
│   ├── ast_type.h
│   ├── constraint.h
│   ├── cpp.h
│   ├── ctx.h
│   ├── fixed_box.h
│   ├── flow.h
│   ├── hash.h
│   ├── hmap.h
│   ├── hmap_templ.c
│   ├── id.h
│   ├── id_to_ast_expr.h
│   ├── id_to_id.h
│   ├── id_to_pw_aff.h
│   ├── id_type.h
│   ├── ilp.h
│   ├── list.h
│   ├── local_space.h
│   ├── lp.h
│   ├── map.h
│   ├── map_to_basic_set.h
│   ├── map_type.h
│   ├── mat.h
│   ├── maybe.h
│   ├── maybe_ast_expr.h
│   ├── maybe_basic_set.h
│   ├── maybe_id.h
│   ├── maybe_pw_aff.h
│   ├── maybe_templ.h
│   ├── multi.h
│   ├── obj.h
│   ├── options.h
│   ├── point.h
│   ├── polynomial.h
│   ├── polynomial_type.h
│   ├── printer.h
│   ├── printer_type.h
│   ├── schedule.h
│   ├── schedule_node.h
│   ├── schedule_type.h
│   ├── set.h
│   ├── set_type.h
│   ├── space.h
│   ├── space_type.h
│   ├── stdint.h
│   ├── stream.h
│   ├── stride_info.h
│   ├── typed_cpp.h
│   ├── union_map.h
│   ├── union_map_type.h
│   ├── union_set.h
│   ├── union_set_type.h
│   ├── val.h
│   ├── val_gmp.h
│   ├── val_type.h
│   ├── vec.h
│   ├── version.h
│   └── vertices.h
├── itcl.h
├── itcl2TclOO.h
├── itclDecls.h
├── itclInt.h
├── itclIntDecls.h
├── itclMigrate2TclCore.h
├── itclTclIntStubsFcn.h
├── jansson.h
├── jansson_config.h
├── jemalloc
│   └── jemalloc.h
├── json
│   ├── allocator.h
│   ├── assertions.h
│   ├── config.h
│   ├── forwards.h
│   ├── json.h
│   ├── json_features.h
│   ├── reader.h
│   ├── value.h
│   ├── version.h
│   └── writer.h
├── libcharset.h
├── libgccjit.h
├── libgccjit++.h
├── libiberty
│   ├── ansidecl.h
│   ├── demangle.h
│   ├── dyn-string.h
│   ├── fibheap.h
│   ├── floatformat.h
│   ├── hashtab.h
│   ├── libiberty.h
│   ├── objalloc.h
│   ├── partition.h
│   ├── safe-ctype.h
│   ├── sort.h
│   ├── splay-tree.h
│   └── timeval-utils.h
├── libintl.h
├── libmangle.h
├── libpng16
│   ├── png.h
│   ├── pngconf.h
│   └── pnglibconf.h
├── libpsl.h
├── libssh2.h
├── libssh2_publickey.h
├── libssh2_sftp.h
├── libtasn1.h
├── libxml2
│   └── libxml
│       ├── c14n.h
│       ├── catalog.h
│       ├── chvalid.h
│       ├── debugXML.h
│       ├── dict.h
│       ├── DOCBparser.h
│       ├── encoding.h
│       ├── entities.h
│       ├── globals.h
│       ├── hash.h
│       ├── HTMLparser.h
│       ├── HTMLtree.h
│       ├── list.h
│       ├── nanoftp.h
│       ├── nanohttp.h
│       ├── parser.h
│       ├── parserInternals.h
│       ├── pattern.h
│       ├── relaxng.h
│       ├── SAX.h
│       ├── SAX2.h
│       ├── schemasInternals.h
│       ├── schematron.h
│       ├── threads.h
│       ├── tree.h
│       ├── uri.h
│       ├── valid.h
│       ├── xinclude.h
│       ├── xlink.h
│       ├── xmlautomata.h
│       ├── xmlerror.h
│       ├── xmlexports.h
│       ├── xmlIO.h
│       ├── xmlmemory.h
│       ├── xmlmodule.h
│       ├── xmlreader.h
│       ├── xmlregexp.h
│       ├── xmlsave.h
│       ├── xmlschemas.h
│       ├── xmlschemastypes.h
│       ├── xmlstring.h
│       ├── xmlunicode.h
│       ├── xmlversion.h
│       ├── xmlwriter.h
│       ├── xpath.h
│       ├── xpathInternals.h
│       └── xpointer.h
├── llvm
│   ├── ADT
│   │   ├── AllocatorList.h
│   │   ├── Any.h
│   │   ├── APFixedPoint.h
│   │   ├── APFloat.h
│   │   ├── APInt.h
│   │   ├── APSInt.h
│   │   ├── ArrayRef.h
│   │   ├── bit.h
│   │   ├── Bitfields.h
│   │   ├── BitmaskEnum.h
│   │   ├── BitVector.h
│   │   ├── BreadthFirstIterator.h
│   │   ├── CachedHashString.h
│   │   ├── CoalescingBitVector.h
│   │   ├── DAGDeltaAlgorithm.h
│   │   ├── DeltaAlgorithm.h
│   │   ├── DenseMap.h
│   │   ├── DenseMapInfo.h
│   │   ├── DenseSet.h
│   │   ├── DepthFirstIterator.h
│   │   ├── DirectedGraph.h
│   │   ├── edit_distance.h
│   │   ├── EnumeratedArray.h
│   │   ├── EpochTracker.h
│   │   ├── EquivalenceClasses.h
│   │   ├── fallible_iterator.h
│   │   ├── FloatingPointMode.h
│   │   ├── FoldingSet.h
│   │   ├── FunctionExtras.h
│   │   ├── GraphTraits.h
│   │   ├── Hashing.h
│   │   ├── ilist.h
│   │   ├── ilist_base.h
│   │   ├── ilist_iterator.h
│   │   ├── ilist_node.h
│   │   ├── ilist_node_base.h
│   │   ├── ilist_node_options.h
│   │   ├── ImmutableList.h
│   │   ├── ImmutableMap.h
│   │   ├── ImmutableSet.h
│   │   ├── IndexedMap.h
│   │   ├── IntEqClasses.h
│   │   ├── IntervalMap.h
│   │   ├── IntrusiveRefCntPtr.h
│   │   ├── iterator.h
│   │   ├── iterator_range.h
│   │   ├── MapVector.h
│   │   ├── None.h
│   │   ├── Optional.h
│   │   ├── PackedVector.h
│   │   ├── PointerEmbeddedInt.h
│   │   ├── PointerIntPair.h
│   │   ├── PointerSumType.h
│   │   ├── PointerUnion.h
│   │   ├── PostOrderIterator.h
│   │   ├── PriorityQueue.h
│   │   ├── PriorityWorklist.h
│   │   ├── SCCIterator.h
│   │   ├── ScopedHashTable.h
│   │   ├── ScopeExit.h
│   │   ├── Sequence.h
│   │   ├── SetOperations.h
│   │   ├── SetVector.h
│   │   ├── simple_ilist.h
│   │   ├── SmallBitVector.h
│   │   ├── SmallPtrSet.h
│   │   ├── SmallSet.h
│   │   ├── SmallString.h
│   │   ├── SmallVector.h
│   │   ├── SparseBitVector.h
│   │   ├── SparseMultiSet.h
│   │   ├── SparseSet.h
│   │   ├── Statistic.h
│   │   ├── STLExtras.h
│   │   ├── STLForwardCompat.h
│   │   ├── StringExtras.h
│   │   ├── StringMap.h
│   │   ├── StringMapEntry.h
│   │   ├── StringRef.h
│   │   ├── StringSet.h
│   │   ├── StringSwitch.h
│   │   ├── TinyPtrVector.h
│   │   ├── Triple.h
│   │   ├── Twine.h
│   │   ├── TypeSwitch.h
│   │   ├── UniqueVector.h
│   │   └── Waymarking.h
│   ├── Analysis
│   │   ├── AliasAnalysis.h
│   │   ├── AliasAnalysisEvaluator.h
│   │   ├── AliasSetTracker.h
│   │   ├── AssumeBundleQueries.h
│   │   ├── AssumptionCache.h
│   │   ├── BasicAliasAnalysis.h
│   │   ├── BlockFrequencyInfo.h
│   │   ├── BlockFrequencyInfoImpl.h
│   │   ├── BranchProbabilityInfo.h
│   │   ├── CallGraph.h
│   │   ├── CallGraphSCCPass.h
│   │   ├── CallPrinter.h
│   │   ├── CaptureTracking.h
│   │   ├── CFG.h
│   │   ├── CFGPrinter.h
│   │   ├── CFLAliasAnalysisUtils.h
│   │   ├── CFLAndersAliasAnalysis.h
│   │   ├── CFLSteensAliasAnalysis.h
│   │   ├── CGSCCPassManager.h
│   │   ├── CmpInstAnalysis.h
│   │   ├── CodeMetrics.h
│   │   ├── ConstantFolding.h
│   │   ├── ConstraintSystem.h
│   │   ├── DDG.h
│   │   ├── DDGPrinter.h
│   │   ├── Delinearization.h
│   │   ├── DemandedBits.h
│   │   ├── DependenceAnalysis.h
│   │   ├── DependenceGraphBuilder.h
│   │   ├── DivergenceAnalysis.h
│   │   ├── DominanceFrontier.h
│   │   ├── DominanceFrontierImpl.h
│   │   ├── DomPrinter.h
│   │   ├── DomTreeUpdater.h
│   │   ├── DOTGraphTraitsPass.h
│   │   ├── EHPersonalities.h
│   │   ├── FunctionPropertiesAnalysis.h
│   │   ├── GlobalsModRef.h
│   │   ├── GuardUtils.h
│   │   ├── HeatUtils.h
│   │   ├── IndirectCallPromotionAnalysis.h
│   │   ├── IndirectCallVisitor.h
│   │   ├── InlineAdvisor.h
│   │   ├── InlineCost.h
│   │   ├── InlineModelFeatureMaps.h
│   │   ├── InlineSizeEstimatorAnalysis.h
│   │   ├── InstCount.h
│   │   ├── InstructionPrecedenceTracking.h
│   │   ├── InstructionSimplify.h
│   │   ├── Interval.h
│   │   ├── IntervalIterator.h
│   │   ├── IntervalPartition.h
│   │   ├── IRSimilarityIdentifier.h
│   │   ├── IteratedDominanceFrontier.h
│   │   ├── IVDescriptors.h
│   │   ├── IVUsers.h
│   │   ├── LazyBlockFrequencyInfo.h
│   │   ├── LazyBranchProbabilityInfo.h
│   │   ├── LazyCallGraph.h
│   │   ├── LazyValueInfo.h
│   │   ├── LegacyDivergenceAnalysis.h
│   │   ├── Lint.h
│   │   ├── Loads.h
│   │   ├── LoopAccessAnalysis.h
│   │   ├── LoopAnalysisManager.h
│   │   ├── LoopCacheAnalysis.h
│   │   ├── LoopInfo.h
│   │   ├── LoopInfoImpl.h
│   │   ├── LoopIterator.h
│   │   ├── LoopNestAnalysis.h
│   │   ├── LoopPass.h
│   │   ├── LoopUnrollAnalyzer.h
│   │   ├── MemDerefPrinter.h
│   │   ├── MemoryBuiltins.h
│   │   ├── MemoryDependenceAnalysis.h
│   │   ├── MemoryLocation.h
│   │   ├── MemorySSA.h
│   │   ├── MemorySSAUpdater.h
│   │   ├── MLInlineAdvisor.h
│   │   ├── MLModelRunner.h
│   │   ├── ModuleDebugInfoPrinter.h
│   │   ├── ModuleSummaryAnalysis.h
│   │   ├── MustExecute.h
│   │   ├── ObjCARCAliasAnalysis.h
│   │   ├── ObjCARCAnalysisUtils.h
│   │   ├── ObjCARCInstKind.h
│   │   ├── ObjCARCUtil.h
│   │   ├── OptimizationRemarkEmitter.h
│   │   ├── OverflowInstAnalysis.h
│   │   ├── Passes.h
│   │   ├── PHITransAddr.h
│   │   ├── PhiValues.h
│   │   ├── PostDominators.h
│   │   ├── ProfileSummaryInfo.h
│   │   ├── PtrUseVisitor.h
│   │   ├── RegionInfo.h
│   │   ├── RegionInfoImpl.h
│   │   ├── RegionIterator.h
│   │   ├── RegionPass.h
│   │   ├── RegionPrinter.h
│   │   ├── ReplayInlineAdvisor.h
│   │   ├── ScalarEvolution.h
│   │   ├── ScalarEvolutionAliasAnalysis.h
│   │   ├── ScalarEvolutionDivision.h
│   │   ├── ScalarEvolutionExpressions.h
│   │   ├── ScalarEvolutionNormalization.h
│   │   ├── ScopedNoAliasAA.h
│   │   ├── SparsePropagation.h
│   │   ├── StackLifetime.h
│   │   ├── StackSafetyAnalysis.h
│   │   ├── SyncDependenceAnalysis.h
│   │   ├── SyntheticCountsUtils.h
│   │   ├── TargetFolder.h
│   │   ├── TargetLibraryInfo.def
│   │   ├── TargetLibraryInfo.h
│   │   ├── TargetTransformInfo.h
│   │   ├── TargetTransformInfoImpl.h
│   │   ├── Trace.h
│   │   ├── TypeBasedAliasAnalysis.h
│   │   ├── TypeMetadataUtils.h
│   │   ├── Utils
│   │   │   ├── ImportedFunctionsInliningStatistics.h
│   │   │   ├── Local.h
│   │   │   └── TFUtils.h
│   │   ├── ValueLattice.h
│   │   ├── ValueLatticeUtils.h
│   │   ├── ValueTracking.h
│   │   ├── VecFuncs.def
│   │   └── VectorUtils.h
│   ├── AsmParser
│   │   ├── LLLexer.h
│   │   ├── LLParser.h
│   │   ├── LLToken.h
│   │   ├── Parser.h
│   │   └── SlotMapping.h
│   ├── BinaryFormat
│   │   ├── AMDGPUMetadataVerifier.h
│   │   ├── COFF.h
│   │   ├── Dwarf.def
│   │   ├── Dwarf.h
│   │   ├── DynamicTags.def
│   │   ├── ELF.h
│   │   ├── ELFRelocs
│   │   │   ├── AArch64.def
│   │   │   ├── AMDGPU.def
│   │   │   ├── ARC.def
│   │   │   ├── ARM.def
│   │   │   ├── AVR.def
│   │   │   ├── BPF.def
│   │   │   ├── CSKY.def
│   │   │   ├── Hexagon.def
│   │   │   ├── i386.def
│   │   │   ├── Lanai.def
│   │   │   ├── M68k.def
│   │   │   ├── Mips.def
│   │   │   ├── MSP430.def
│   │   │   ├── PowerPC.def
│   │   │   ├── PowerPC64.def
│   │   │   ├── RISCV.def
│   │   │   ├── Sparc.def
│   │   │   ├── SystemZ.def
│   │   │   ├── VE.def
│   │   │   └── x86_64.def
│   │   ├── MachO.def
│   │   ├── MachO.h
│   │   ├── Magic.h
│   │   ├── Minidump.h
│   │   ├── MinidumpConstants.def
│   │   ├── MsgPack.def
│   │   ├── MsgPack.h
│   │   ├── MsgPackDocument.h
│   │   ├── MsgPackReader.h
│   │   ├── MsgPackWriter.h
│   │   ├── Wasm.h
│   │   ├── WasmRelocs.def
│   │   ├── WasmTraits.h
│   │   └── XCOFF.h
│   ├── Bitcode
│   │   ├── BitcodeAnalyzer.h
│   │   ├── BitcodeCommon.h
│   │   ├── BitcodeConvenience.h
│   │   ├── BitcodeReader.h
│   │   ├── BitcodeWriter.h
│   │   ├── BitcodeWriterPass.h
│   │   └── LLVMBitCodes.h
│   ├── Bitstream
│   │   ├── BitCodes.h
│   │   ├── BitstreamReader.h
│   │   └── BitstreamWriter.h
│   ├── CodeGen
│   │   ├── AccelTable.h
│   │   ├── Analysis.h
│   │   ├── AntiDepBreaker.h
│   │   ├── AsmPrinter.h
│   │   ├── AsmPrinterHandler.h
│   │   ├── AtomicExpandUtils.h
│   │   ├── BasicBlockSectionUtils.h
│   │   ├── BasicTTIImpl.h
│   │   ├── CalcSpillWeights.h
│   │   ├── CallingConvLower.h
│   │   ├── CodeGenPassBuilder.h
│   │   ├── CommandFlags.h
│   │   ├── CostTable.h
│   │   ├── CSEConfigBase.h
│   │   ├── DAGCombine.h
│   │   ├── DbgEntityHistoryCalculator.h
│   │   ├── DebugHandlerBase.h
│   │   ├── DFAPacketizer.h
│   │   ├── DIE.h
│   │   ├── DIEValue.def
│   │   ├── DwarfStringPoolEntry.h
│   │   ├── EdgeBundles.h
│   │   ├── ExecutionDomainFix.h
│   │   ├── ExpandReductions.h
│   │   ├── ExpandVectorPredication.h
│   │   ├── FastISel.h
│   │   ├── FaultMaps.h
│   │   ├── FunctionLoweringInfo.h
│   │   ├── GCMetadata.h
│   │   ├── GCMetadataPrinter.h
│   │   ├── GlobalISel
│   │   │   ├── CallLowering.h
│   │   │   ├── Combiner.h
│   │   │   ├── CombinerHelper.h
│   │   │   ├── CombinerInfo.h
│   │   │   ├── CSEInfo.h
│   │   │   ├── CSEMIRBuilder.h
│   │   │   ├── GenericMachineInstrs.h
│   │   │   ├── GISelChangeObserver.h
│   │   │   ├── GISelKnownBits.h
│   │   │   ├── GISelWorkList.h
│   │   │   ├── InlineAsmLowering.h
│   │   │   ├── InstructionSelect.h
│   │   │   ├── InstructionSelector.h
│   │   │   ├── InstructionSelectorImpl.h
│   │   │   ├── IRTranslator.h
│   │   │   ├── LegacyLegalizerInfo.h
│   │   │   ├── LegalizationArtifactCombiner.h
│   │   │   ├── Legalizer.h
│   │   │   ├── LegalizerHelper.h
│   │   │   ├── LegalizerInfo.h
│   │   │   ├── Localizer.h
│   │   │   ├── LostDebugLocObserver.h
│   │   │   ├── MachineIRBuilder.h
│   │   │   ├── MIPatternMatch.h
│   │   │   ├── RegBankSelect.h
│   │   │   ├── RegisterBank.h
│   │   │   ├── RegisterBankInfo.h
│   │   │   └── Utils.h
│   │   ├── IndirectThunks.h
│   │   ├── IntrinsicLowering.h
│   │   ├── ISDOpcodes.h
│   │   ├── LatencyPriorityQueue.h
│   │   ├── LazyMachineBlockFrequencyInfo.h
│   │   ├── LexicalScopes.h
│   │   ├── LinkAllAsmWriterComponents.h
│   │   ├── LinkAllCodegenComponents.h
│   │   ├── LiveInterval.h
│   │   ├── LiveIntervalCalc.h
│   │   ├── LiveIntervals.h
│   │   ├── LiveIntervalUnion.h
│   │   ├── LivePhysRegs.h
│   │   ├── LiveRangeCalc.h
│   │   ├── LiveRangeEdit.h
│   │   ├── LiveRegMatrix.h
│   │   ├── LiveRegUnits.h
│   │   ├── LiveStacks.h
│   │   ├── LiveVariables.h
│   │   ├── LoopTraversal.h
│   │   ├── LowLevelType.h
│   │   ├── MachineBasicBlock.h
│   │   ├── MachineBlockFrequencyInfo.h
│   │   ├── MachineBranchProbabilityInfo.h
│   │   ├── MachineCombinerPattern.h
│   │   ├── MachineConstantPool.h
│   │   ├── MachineDominanceFrontier.h
│   │   ├── MachineDominators.h
│   │   ├── MachineFrameInfo.h
│   │   ├── MachineFunction.h
│   │   ├── MachineFunctionPass.h
│   │   ├── MachineInstr.h
│   │   ├── MachineInstrBuilder.h
│   │   ├── MachineInstrBundle.h
│   │   ├── MachineInstrBundleIterator.h
│   │   ├── MachineJumpTableInfo.h
│   │   ├── MachineLoopInfo.h
│   │   ├── MachineLoopUtils.h
│   │   ├── MachineMemOperand.h
│   │   ├── MachineModuleInfo.h
│   │   ├── MachineModuleInfoImpls.h
│   │   ├── MachineModuleSlotTracker.h
│   │   ├── MachineOperand.h
│   │   ├── MachineOptimizationRemarkEmitter.h
│   │   ├── MachineOutliner.h
│   │   ├── MachinePassManager.h
│   │   ├── MachinePassRegistry.def
│   │   ├── MachinePassRegistry.h
│   │   ├── MachinePipeliner.h
│   │   ├── MachinePostDominators.h
│   │   ├── MachineRegionInfo.h
│   │   ├── MachineRegisterInfo.h
│   │   ├── MachineScheduler.h
│   │   ├── MachineSizeOpts.h
│   │   ├── MachineSSAUpdater.h
│   │   ├── MachineStableHash.h
│   │   ├── MachineTraceMetrics.h
│   │   ├── MachORelocation.h
│   │   ├── MacroFusion.h
│   │   ├── MBFIWrapper.h
│   │   ├── MIRFormatter.h
│   │   ├── MIRFSDiscriminator.h
│   │   ├── MIRParser
│   │   │   ├── MIParser.h
│   │   │   └── MIRParser.h
│   │   ├── MIRPrinter.h
│   │   ├── MIRYamlMapping.h
│   │   ├── ModuloSchedule.h
│   │   ├── MultiHazardRecognizer.h
│   │   ├── NonRelocatableStringpool.h
│   │   ├── ParallelCG.h
│   │   ├── Passes.h
│   │   ├── PBQP
│   │   │   ├── CostAllocator.h
│   │   │   ├── Graph.h
│   │   │   ├── Math.h
│   │   │   ├── ReductionRules.h
│   │   │   └── Solution.h
│   │   ├── PBQPRAConstraint.h
│   │   ├── PreISelIntrinsicLowering.h
│   │   ├── PseudoSourceValue.h
│   │   ├── RDFGraph.h
│   │   ├── RDFLiveness.h
│   │   ├── RDFRegisters.h
│   │   ├── ReachingDefAnalysis.h
│   │   ├── RegAllocCommon.h
│   │   ├── RegAllocPBQP.h
│   │   ├── RegAllocRegistry.h
│   │   ├── Register.h
│   │   ├── RegisterClassInfo.h
│   │   ├── RegisterPressure.h
│   │   ├── RegisterScavenging.h
│   │   ├── RegisterUsageInfo.h
│   │   ├── ReplaceWithVeclib.h
│   │   ├── ResourcePriorityQueue.h
│   │   ├── RuntimeLibcalls.h
│   │   ├── ScheduleDAG.h
│   │   ├── ScheduleDAGInstrs.h
│   │   ├── ScheduleDAGMutation.h
│   │   ├── ScheduleDFS.h
│   │   ├── ScheduleHazardRecognizer.h
│   │   ├── SchedulerRegistry.h
│   │   ├── ScoreboardHazardRecognizer.h
│   │   ├── SDNodeProperties.td
│   │   ├── SelectionDAG.h
│   │   ├── SelectionDAGAddressAnalysis.h
│   │   ├── SelectionDAGISel.h
│   │   ├── SelectionDAGNodes.h
│   │   ├── SelectionDAGTargetInfo.h
│   │   ├── SlotIndexes.h
│   │   ├── Spiller.h
│   │   ├── StableHashing.h
│   │   ├── StackMaps.h
│   │   ├── StackProtector.h
│   │   ├── SwiftErrorValueTracking.h
│   │   ├── SwitchLoweringUtils.h
│   │   ├── TailDuplicator.h
│   │   ├── TargetCallingConv.h
│   │   ├── TargetFrameLowering.h
│   │   ├── TargetInstrInfo.h
│   │   ├── TargetLowering.h
│   │   ├── TargetLoweringObjectFileImpl.h
│   │   ├── TargetOpcodes.h
│   │   ├── TargetPassConfig.h
│   │   ├── TargetRegisterInfo.h
│   │   ├── TargetSchedule.h
│   │   ├── TargetSubtargetInfo.h
│   │   ├── TileShapeInfo.h
│   │   ├── UnreachableBlockElim.h
│   │   ├── ValueTypes.h
│   │   ├── ValueTypes.td
│   │   ├── VirtRegMap.h
│   │   ├── WasmEHFuncInfo.h
│   │   └── WinEHFuncInfo.h
│   ├── Config
│   │   ├── abi-breaking.h
│   │   ├── AsmParsers.def
│   │   ├── AsmPrinters.def
│   │   ├── Disassemblers.def
│   │   ├── llvm-config.h
│   │   └── Targets.def
│   ├── DebugInfo
│   │   ├── CodeView
│   │   │   ├── AppendingTypeTableBuilder.h
│   │   │   ├── CodeView.h
│   │   │   ├── CodeViewError.h
│   │   │   ├── CodeViewRecordIO.h
│   │   │   ├── CodeViewRegisters.def
│   │   │   ├── CodeViewSymbols.def
│   │   │   ├── CodeViewTypes.def
│   │   │   ├── ContinuationRecordBuilder.h
│   │   │   ├── CVRecord.h
│   │   │   ├── CVSymbolVisitor.h
│   │   │   ├── CVTypeVisitor.h
│   │   │   ├── DebugChecksumsSubsection.h
│   │   │   ├── DebugCrossExSubsection.h
│   │   │   ├── DebugCrossImpSubsection.h
│   │   │   ├── DebugFrameDataSubsection.h
│   │   │   ├── DebugInlineeLinesSubsection.h
│   │   │   ├── DebugLinesSubsection.h
│   │   │   ├── DebugStringTableSubsection.h
│   │   │   ├── DebugSubsection.h
│   │   │   ├── DebugSubsectionRecord.h
│   │   │   ├── DebugSubsectionVisitor.h
│   │   │   ├── DebugSymbolRVASubsection.h
│   │   │   ├── DebugSymbolsSubsection.h
│   │   │   ├── DebugUnknownSubsection.h
│   │   │   ├── EnumTables.h
│   │   │   ├── Formatters.h
│   │   │   ├── FunctionId.h
│   │   │   ├── GlobalTypeTableBuilder.h
│   │   │   ├── GUID.h
│   │   │   ├── LazyRandomTypeCollection.h
│   │   │   ├── Line.h
│   │   │   ├── MergingTypeTableBuilder.h
│   │   │   ├── RecordName.h
│   │   │   ├── RecordSerialization.h
│   │   │   ├── SimpleTypeSerializer.h
│   │   │   ├── StringsAndChecksums.h
│   │   │   ├── SymbolDeserializer.h
│   │   │   ├── SymbolDumpDelegate.h
│   │   │   ├── SymbolDumper.h
│   │   │   ├── SymbolRecord.h
│   │   │   ├── SymbolRecordHelpers.h
│   │   │   ├── SymbolRecordMapping.h
│   │   │   ├── SymbolSerializer.h
│   │   │   ├── SymbolVisitorCallbackPipeline.h
│   │   │   ├── SymbolVisitorCallbacks.h
│   │   │   ├── SymbolVisitorDelegate.h
│   │   │   ├── TypeCollection.h
│   │   │   ├── TypeDeserializer.h
│   │   │   ├── TypeDumpVisitor.h
│   │   │   ├── TypeHashing.h
│   │   │   ├── TypeIndex.h
│   │   │   ├── TypeIndexDiscovery.h
│   │   │   ├── TypeRecord.h
│   │   │   ├── TypeRecordHelpers.h
│   │   │   ├── TypeRecordMapping.h
│   │   │   ├── TypeStreamMerger.h
│   │   │   ├── TypeSymbolEmitter.h
│   │   │   ├── TypeTableCollection.h
│   │   │   ├── TypeVisitorCallbackPipeline.h
│   │   │   └── TypeVisitorCallbacks.h
│   │   ├── DIContext.h
│   │   ├── DWARF
│   │   │   ├── DWARFAbbreviationDeclaration.h
│   │   │   ├── DWARFAcceleratorTable.h
│   │   │   ├── DWARFAddressRange.h
│   │   │   ├── DWARFAttribute.h
│   │   │   ├── DWARFCompileUnit.h
│   │   │   ├── DWARFContext.h
│   │   │   ├── DWARFDataExtractor.h
│   │   │   ├── DWARFDebugAbbrev.h
│   │   │   ├── DWARFDebugAddr.h
│   │   │   ├── DWARFDebugAranges.h
│   │   │   ├── DWARFDebugArangeSet.h
│   │   │   ├── DWARFDebugFrame.h
│   │   │   ├── DWARFDebugInfoEntry.h
│   │   │   ├── DWARFDebugLine.h
│   │   │   ├── DWARFDebugLoc.h
│   │   │   ├── DWARFDebugMacro.h
│   │   │   ├── DWARFDebugPubTable.h
│   │   │   ├── DWARFDebugRangeList.h
│   │   │   ├── DWARFDebugRnglists.h
│   │   │   ├── DWARFDie.h
│   │   │   ├── DWARFExpression.h
│   │   │   ├── DWARFFormValue.h
│   │   │   ├── DWARFGdbIndex.h
│   │   │   ├── DWARFListTable.h
│   │   │   ├── DWARFLocationExpression.h
│   │   │   ├── DWARFObject.h
│   │   │   ├── DWARFRelocMap.h
│   │   │   ├── DWARFSection.h
│   │   │   ├── DWARFTypeUnit.h
│   │   │   ├── DWARFUnit.h
│   │   │   ├── DWARFUnitIndex.h
│   │   │   └── DWARFVerifier.h
│   │   ├── GSYM
│   │   │   ├── DwarfTransformer.h
│   │   │   ├── FileEntry.h
│   │   │   ├── FileWriter.h
│   │   │   ├── FunctionInfo.h
│   │   │   ├── GsymCreator.h
│   │   │   ├── GsymReader.h
│   │   │   ├── Header.h
│   │   │   ├── InlineInfo.h
│   │   │   ├── LineEntry.h
│   │   │   ├── LineTable.h
│   │   │   ├── LookupResult.h
│   │   │   ├── ObjectFileTransformer.h
│   │   │   ├── Range.h
│   │   │   └── StringTable.h
│   │   ├── MSF
│   │   │   ├── IMSFFile.h
│   │   │   ├── MappedBlockStream.h
│   │   │   ├── MSFBuilder.h
│   │   │   ├── MSFCommon.h
│   │   │   └── MSFError.h
│   │   ├── PDB
│   │   │   ├── ConcreteSymbolEnumerator.h
│   │   │   ├── DIA
│   │   │   │   ├── DIADataStream.h
│   │   │   │   ├── DIAEnumDebugStreams.h
│   │   │   │   ├── DIAEnumFrameData.h
│   │   │   │   ├── DIAEnumInjectedSources.h
│   │   │   │   ├── DIAEnumLineNumbers.h
│   │   │   │   ├── DIAEnumSectionContribs.h
│   │   │   │   ├── DIAEnumSourceFiles.h
│   │   │   │   ├── DIAEnumSymbols.h
│   │   │   │   ├── DIAEnumTables.h
│   │   │   │   ├── DIAError.h
│   │   │   │   ├── DIAFrameData.h
│   │   │   │   ├── DIAInjectedSource.h
│   │   │   │   ├── DIALineNumber.h
│   │   │   │   ├── DIARawSymbol.h
│   │   │   │   ├── DIASectionContrib.h
│   │   │   │   ├── DIASession.h
│   │   │   │   ├── DIASourceFile.h
│   │   │   │   ├── DIASupport.h
│   │   │   │   ├── DIATable.h
│   │   │   │   └── DIAUtils.h
│   │   │   ├── GenericError.h
│   │   │   ├── IPDBDataStream.h
│   │   │   ├── IPDBEnumChildren.h
│   │   │   ├── IPDBFrameData.h
│   │   │   ├── IPDBInjectedSource.h
│   │   │   ├── IPDBLineNumber.h
│   │   │   ├── IPDBRawSymbol.h
│   │   │   ├── IPDBSectionContrib.h
│   │   │   ├── IPDBSession.h
│   │   │   ├── IPDBSourceFile.h
│   │   │   ├── IPDBTable.h
│   │   │   ├── Native
│   │   │   │   ├── DbiModuleDescriptor.h
│   │   │   │   ├── DbiModuleDescriptorBuilder.h
│   │   │   │   ├── DbiModuleList.h
│   │   │   │   ├── DbiStream.h
│   │   │   │   ├── DbiStreamBuilder.h
│   │   │   │   ├── EnumTables.h
│   │   │   │   ├── Formatters.h
│   │   │   │   ├── GlobalsStream.h
│   │   │   │   ├── GSIStreamBuilder.h
│   │   │   │   ├── Hash.h
│   │   │   │   ├── HashTable.h
│   │   │   │   ├── InfoStream.h
│   │   │   │   ├── InfoStreamBuilder.h
│   │   │   │   ├── InjectedSourceStream.h
│   │   │   │   ├── ISectionContribVisitor.h
│   │   │   │   ├── ModuleDebugStream.h
│   │   │   │   ├── NamedStreamMap.h
│   │   │   │   ├── NativeCompilandSymbol.h
│   │   │   │   ├── NativeEnumGlobals.h
│   │   │   │   ├── NativeEnumInjectedSources.h
│   │   │   │   ├── NativeEnumLineNumbers.h
│   │   │   │   ├── NativeEnumModules.h
│   │   │   │   ├── NativeEnumSymbols.h
│   │   │   │   ├── NativeEnumTypes.h
│   │   │   │   ├── NativeExeSymbol.h
│   │   │   │   ├── NativeFunctionSymbol.h
│   │   │   │   ├── NativeInlineSiteSymbol.h
│   │   │   │   ├── NativeLineNumber.h
│   │   │   │   ├── NativePublicSymbol.h
│   │   │   │   ├── NativeRawSymbol.h
│   │   │   │   ├── NativeSession.h
│   │   │   │   ├── NativeSourceFile.h
│   │   │   │   ├── NativeSymbolEnumerator.h
│   │   │   │   ├── NativeTypeArray.h
│   │   │   │   ├── NativeTypeBuiltin.h
│   │   │   │   ├── NativeTypeEnum.h
│   │   │   │   ├── NativeTypeFunctionSig.h
│   │   │   │   ├── NativeTypePointer.h
│   │   │   │   ├── NativeTypeTypedef.h
│   │   │   │   ├── NativeTypeUDT.h
│   │   │   │   ├── NativeTypeVTShape.h
│   │   │   │   ├── PDBFile.h
│   │   │   │   ├── PDBFileBuilder.h
│   │   │   │   ├── PDBStringTable.h
│   │   │   │   ├── PDBStringTableBuilder.h
│   │   │   │   ├── PublicsStream.h
│   │   │   │   ├── RawConstants.h
│   │   │   │   ├── RawError.h
│   │   │   │   ├── RawTypes.h
│   │   │   │   ├── SymbolCache.h
│   │   │   │   ├── SymbolStream.h
│   │   │   │   ├── TpiHashing.h
│   │   │   │   ├── TpiStream.h
│   │   │   │   └── TpiStreamBuilder.h
│   │   │   ├── PDB.h
│   │   │   ├── PDBContext.h
│   │   │   ├── PDBExtras.h
│   │   │   ├── PDBSymbol.h
│   │   │   ├── PDBSymbolAnnotation.h
│   │   │   ├── PDBSymbolBlock.h
│   │   │   ├── PDBSymbolCompiland.h
│   │   │   ├── PDBSymbolCompilandDetails.h
│   │   │   ├── PDBSymbolCompilandEnv.h
│   │   │   ├── PDBSymbolCustom.h
│   │   │   ├── PDBSymbolData.h
│   │   │   ├── PDBSymbolExe.h
│   │   │   ├── PDBSymbolFunc.h
│   │   │   ├── PDBSymbolFuncDebugEnd.h
│   │   │   ├── PDBSymbolFuncDebugStart.h
│   │   │   ├── PDBSymbolLabel.h
│   │   │   ├── PDBSymbolPublicSymbol.h
│   │   │   ├── PDBSymbolThunk.h
│   │   │   ├── PDBSymbolTypeArray.h
│   │   │   ├── PDBSymbolTypeBaseClass.h
│   │   │   ├── PDBSymbolTypeBuiltin.h
│   │   │   ├── PDBSymbolTypeCustom.h
│   │   │   ├── PDBSymbolTypeDimension.h
│   │   │   ├── PDBSymbolTypeEnum.h
│   │   │   ├── PDBSymbolTypeFriend.h
│   │   │   ├── PDBSymbolTypeFunctionArg.h
│   │   │   ├── PDBSymbolTypeFunctionSig.h
│   │   │   ├── PDBSymbolTypeManaged.h
│   │   │   ├── PDBSymbolTypePointer.h
│   │   │   ├── PDBSymbolTypeTypedef.h
│   │   │   ├── PDBSymbolTypeUDT.h
│   │   │   ├── PDBSymbolTypeVTable.h
│   │   │   ├── PDBSymbolTypeVTableShape.h
│   │   │   ├── PDBSymbolUnknown.h
│   │   │   ├── PDBSymbolUsingNamespace.h
│   │   │   ├── PDBSymDumper.h
│   │   │   ├── PDBTypes.h
│   │   │   └── UDTLayout.h
│   │   └── Symbolize
│   │       ├── DIPrinter.h
│   │       ├── SymbolizableModule.h
│   │       └── Symbolize.h
│   ├── Demangle
│   │   ├── Demangle.h
│   │   ├── DemangleConfig.h
│   │   ├── ItaniumDemangle.h
│   │   ├── MicrosoftDemangle.h
│   │   ├── MicrosoftDemangleNodes.h
│   │   ├── StringView.h
│   │   └── Utility.h
│   ├── DWARFLinker
│   │   ├── DWARFLinker.h
│   │   ├── DWARFLinkerCompileUnit.h
│   │   ├── DWARFLinkerDeclContext.h
│   │   └── DWARFStreamer.h
│   ├── DWP
│   │   ├── DWP.h
│   │   ├── DWPError.h
│   │   └── DWPStringPool.h
│   ├── ExecutionEngine
│   │   ├── ExecutionEngine.h
│   │   ├── GenericValue.h
│   │   ├── Interpreter.h
│   │   ├── JITEventListener.h
│   │   ├── JITLink
│   │   │   ├── EHFrameSupport.h
│   │   │   ├── ELF.h
│   │   │   ├── ELF_riscv.h
│   │   │   ├── ELF_x86_64.h
│   │   │   ├── JITLink.h
│   │   │   ├── JITLinkDylib.h
│   │   │   ├── JITLinkMemoryManager.h
│   │   │   ├── MachO.h
│   │   │   ├── MachO_arm64.h
│   │   │   ├── MachO_x86_64.h
│   │   │   ├── riscv.h
│   │   │   └── x86_64.h
│   │   ├── JITSymbol.h
│   │   ├── MCJIT.h
│   │   ├── ObjectCache.h
│   │   ├── OProfileWrapper.h
│   │   ├── Orc
│   │   │   ├── CompileOnDemandLayer.h
│   │   │   ├── CompileUtils.h
│   │   │   ├── Core.h
│   │   │   ├── DebugObjectManagerPlugin.h
│   │   │   ├── DebugUtils.h
│   │   │   ├── EPCDebugObjectRegistrar.h
│   │   │   ├── EPCDynamicLibrarySearchGenerator.h
│   │   │   ├── EPCEHFrameRegistrar.h
│   │   │   ├── EPCIndirectionUtils.h
│   │   │   ├── ExecutionUtils.h
│   │   │   ├── ExecutorProcessControl.h
│   │   │   ├── IndirectionUtils.h
│   │   │   ├── IRCompileLayer.h
│   │   │   ├── IRTransformLayer.h
│   │   │   ├── JITTargetMachineBuilder.h
│   │   │   ├── Layer.h
│   │   │   ├── LazyReexports.h
│   │   │   ├── LLJIT.h
│   │   │   ├── LLVMSPSSerializers.h
│   │   │   ├── MachOPlatform.h
│   │   │   ├── Mangling.h
│   │   │   ├── ObjectLinkingLayer.h
│   │   │   ├── ObjectTransformLayer.h
│   │   │   ├── OrcABISupport.h
│   │   │   ├── OrcRemoteTargetClient.h
│   │   │   ├── OrcRemoteTargetRPCAPI.h
│   │   │   ├── OrcRemoteTargetServer.h
│   │   │   ├── OrcRPCExecutorProcessControl.h
│   │   │   ├── RTDyldObjectLinkingLayer.h
│   │   │   ├── Shared
│   │   │   │   ├── ExecutorAddress.h
│   │   │   │   ├── FDRawByteChannel.h
│   │   │   │   ├── OrcError.h
│   │   │   │   ├── RawByteChannel.h
│   │   │   │   ├── RPCUtils.h
│   │   │   │   ├── Serialization.h
│   │   │   │   ├── SimplePackedSerialization.h
│   │   │   │   ├── TargetProcessControlTypes.h
│   │   │   │   └── WrapperFunctionUtils.h
│   │   │   ├── SpeculateAnalyses.h
│   │   │   ├── Speculation.h
│   │   │   ├── SymbolStringPool.h
│   │   │   ├── TargetProcess
│   │   │   │   ├── JITLoaderGDB.h
│   │   │   │   ├── OrcRPCTPCServer.h
│   │   │   │   ├── RegisterEHFrames.h
│   │   │   │   └── TargetExecutionUtils.h
│   │   │   └── ThreadSafeModule.h
│   │   ├── OrcMCJITReplacement.h
│   │   ├── OrcV1Deprecation.h
│   │   ├── RTDyldMemoryManager.h
│   │   ├── RuntimeDyld.h
│   │   ├── RuntimeDyldChecker.h
│   │   └── SectionMemoryManager.h
│   ├── FileCheck
│   │   └── FileCheck.h
│   ├── Frontend
│   │   ├── Directive
│   │   │   └── DirectiveBase.td
│   │   ├── OpenACC
│   │   │   ├── ACC.h.inc
│   │   │   ├── ACC.inc
│   │   │   └── ACC.td
│   │   └── OpenMP
│   │       ├── OMP.h.inc
│   │       ├── OMP.inc
│   │       ├── OMP.td
│   │       ├── OMPConstants.h
│   │       ├── OMPContext.h
│   │       ├── OMPGridValues.h
│   │       ├── OMPIRBuilder.h
│   │       └── OMPKinds.def
│   ├── FuzzMutate
│   │   ├── FuzzerCLI.h
│   │   ├── IRMutator.h
│   │   ├── OpDescriptor.h
│   │   ├── Operations.h
│   │   ├── Random.h
│   │   └── RandomIRBuilder.h
│   ├── InitializePasses.h
│   ├── InterfaceStub
│   │   ├── ELFObjHandler.h
│   │   ├── IFSHandler.h
│   │   └── IFSStub.h
│   ├── IR
│   │   ├── AbstractCallSite.h
│   │   ├── Argument.h
│   │   ├── AssemblyAnnotationWriter.h
│   │   ├── Assumptions.h
│   │   ├── Attributes.h
│   │   ├── Attributes.inc
│   │   ├── Attributes.td
│   │   ├── AutoUpgrade.h
│   │   ├── BasicBlock.h
│   │   ├── BuiltinGCs.h
│   │   ├── CallingConv.h
│   │   ├── CFG.h
│   │   ├── Comdat.h
│   │   ├── Constant.h
│   │   ├── ConstantFolder.h
│   │   ├── ConstantRange.h
│   │   ├── Constants.h
│   │   ├── ConstrainedOps.def
│   │   ├── DataLayout.h
│   │   ├── DebugInfo.h
│   │   ├── DebugInfoFlags.def
│   │   ├── DebugInfoMetadata.h
│   │   ├── DebugLoc.h
│   │   ├── DerivedTypes.h
│   │   ├── DerivedUser.h
│   │   ├── DiagnosticHandler.h
│   │   ├── DiagnosticInfo.h
│   │   ├── DiagnosticPrinter.h
│   │   ├── DIBuilder.h
│   │   ├── Dominators.h
│   │   ├── FixedMetadataKinds.def
│   │   ├── FixedPointBuilder.h
│   │   ├── FPEnv.h
│   │   ├── Function.h
│   │   ├── GCStrategy.h
│   │   ├── GetElementPtrTypeIterator.h
│   │   ├── GlobalAlias.h
│   │   ├── GlobalIFunc.h
│   │   ├── GlobalIndirectSymbol.h
│   │   ├── GlobalObject.h
│   │   ├── GlobalValue.h
│   │   ├── GlobalVariable.h
│   │   ├── GVMaterializer.h
│   │   ├── InlineAsm.h
│   │   ├── InstIterator.h
│   │   ├── InstrTypes.h
│   │   ├── Instruction.def
│   │   ├── Instruction.h
│   │   ├── Instructions.h
│   │   ├── InstVisitor.h
│   │   ├── IntrinsicEnums.inc
│   │   ├── IntrinsicImpl.inc
│   │   ├── IntrinsicInst.h
│   │   ├── Intrinsics.h
│   │   ├── Intrinsics.td
│   │   ├── IntrinsicsAArch64.h
│   │   ├── IntrinsicsAArch64.td
│   │   ├── IntrinsicsAMDGPU.h
│   │   ├── IntrinsicsAMDGPU.td
│   │   ├── IntrinsicsARM.h
│   │   ├── IntrinsicsARM.td
│   │   ├── IntrinsicsBPF.h
│   │   ├── IntrinsicsBPF.td
│   │   ├── IntrinsicsHexagon.h
│   │   ├── IntrinsicsHexagon.td
│   │   ├── IntrinsicsHexagonDep.td
│   │   ├── IntrinsicsMips.h
│   │   ├── IntrinsicsMips.td
│   │   ├── IntrinsicsNVPTX.h
│   │   ├── IntrinsicsNVVM.td
│   │   ├── IntrinsicsPowerPC.h
│   │   ├── IntrinsicsPowerPC.td
│   │   ├── IntrinsicsR600.h
│   │   ├── IntrinsicsRISCV.h
│   │   ├── IntrinsicsRISCV.td
│   │   ├── IntrinsicsS390.h
│   │   ├── IntrinsicsSystemZ.td
│   │   ├── IntrinsicsVE.h
│   │   ├── IntrinsicsVE.td
│   │   ├── IntrinsicsVEVL.gen.td
│   │   ├── IntrinsicsWebAssembly.h
│   │   ├── IntrinsicsWebAssembly.td
│   │   ├── IntrinsicsX86.h
│   │   ├── IntrinsicsX86.td
│   │   ├── IntrinsicsXCore.h
│   │   ├── IntrinsicsXCore.td
│   │   ├── IRBuilder.h
│   │   ├── IRBuilderFolder.h
│   │   ├── IRPrintingPasses.h
│   │   ├── LegacyPassManager.h
│   │   ├── LegacyPassManagers.h
│   │   ├── LegacyPassNameParser.h
│   │   ├── LLVMContext.h
│   │   ├── LLVMRemarkStreamer.h
│   │   ├── Mangler.h
│   │   ├── MatrixBuilder.h
│   │   ├── MDBuilder.h
│   │   ├── Metadata.def
│   │   ├── Metadata.h
│   │   ├── Module.h
│   │   ├── ModuleSlotTracker.h
│   │   ├── ModuleSummaryIndex.h
│   │   ├── ModuleSummaryIndexYAML.h
│   │   ├── NoFolder.h
│   │   ├── OperandTraits.h
│   │   ├── Operator.h
│   │   ├── OptBisect.h
│   │   ├── PassInstrumentation.h
│   │   ├── PassManager.h
│   │   ├── PassManagerImpl.h
│   │   ├── PassManagerInternal.h
│   │   ├── PassTimingInfo.h
│   │   ├── PatternMatch.h
│   │   ├── PredIteratorCache.h
│   │   ├── PrintPasses.h
│   │   ├── ProfileSummary.h
│   │   ├── PseudoProbe.h
│   │   ├── ReplaceConstant.h
│   │   ├── RuntimeLibcalls.def
│   │   ├── SafepointIRVerifier.h
│   │   ├── Statepoint.h
│   │   ├── StructuralHash.h
│   │   ├── SymbolTableListTraits.h
│   │   ├── TrackingMDRef.h
│   │   ├── Type.h
│   │   ├── TypeFinder.h
│   │   ├── Use.h
│   │   ├── UseListOrder.h
│   │   ├── User.h
│   │   ├── Value.def
│   │   ├── Value.h
│   │   ├── ValueHandle.h
│   │   ├── ValueMap.h
│   │   ├── ValueSymbolTable.h
│   │   ├── Verifier.h
│   │   └── VPIntrinsics.def
│   ├── IRReader
│   │   └── IRReader.h
│   ├── LineEditor
│   │   └── LineEditor.h
│   ├── LinkAllIR.h
│   ├── LinkAllPasses.h
│   ├── Linker
│   │   ├── IRMover.h
│   │   └── Linker.h
│   ├── LTO
│   │   ├── Caching.h
│   │   ├── Config.h
│   │   ├── legacy
│   │   │   ├── LTOCodeGenerator.h
│   │   │   ├── LTOModule.h
│   │   │   ├── ThinLTOCodeGenerator.h
│   │   │   └── UpdateCompilerUsed.h
│   │   ├── LTO.h
│   │   ├── LTOBackend.h
│   │   └── SummaryBasedOptimizations.h
│   ├── MC
│   │   ├── ConstantPools.h
│   │   ├── LaneBitmask.h
│   │   ├── MachineLocation.h
│   │   ├── MCAsmBackend.h
│   │   ├── MCAsmInfo.h
│   │   ├── MCAsmInfoCOFF.h
│   │   ├── MCAsmInfoDarwin.h
│   │   ├── MCAsmInfoELF.h
│   │   ├── MCAsmInfoWasm.h
│   │   ├── MCAsmInfoXCOFF.h
│   │   ├── MCAsmLayout.h
│   │   ├── MCAsmMacro.h
│   │   ├── MCAssembler.h
│   │   ├── MCCodeEmitter.h
│   │   ├── MCCodeView.h
│   │   ├── MCContext.h
│   │   ├── MCDirectives.h
│   │   ├── MCDisassembler
│   │   │   ├── MCDisassembler.h
│   │   │   ├── MCExternalSymbolizer.h
│   │   │   ├── MCRelocationInfo.h
│   │   │   └── MCSymbolizer.h
│   │   ├── MCDwarf.h
│   │   ├── MCELFObjectWriter.h
│   │   ├── MCELFStreamer.h
│   │   ├── MCExpr.h
│   │   ├── MCFixedLenDisassembler.h
│   │   ├── MCFixup.h
│   │   ├── MCFixupKindInfo.h
│   │   ├── MCFragment.h
│   │   ├── MCInst.h
│   │   ├── MCInstBuilder.h
│   │   ├── MCInstPrinter.h
│   │   ├── MCInstrAnalysis.h
│   │   ├── MCInstrDesc.h
│   │   ├── MCInstrInfo.h
│   │   ├── MCInstrItineraries.h
│   │   ├── MCLabel.h
│   │   ├── MCLinkerOptimizationHint.h
│   │   ├── MCMachObjectWriter.h
│   │   ├── MCObjectFileInfo.h
│   │   ├── MCObjectStreamer.h
│   │   ├── MCObjectWriter.h
│   │   ├── MCParser
│   │   │   ├── AsmCond.h
│   │   │   ├── AsmLexer.h
│   │   │   ├── MCAsmLexer.h
│   │   │   ├── MCAsmParser.h
│   │   │   ├── MCAsmParserExtension.h
│   │   │   ├── MCAsmParserUtils.h
│   │   │   ├── MCParsedAsmOperand.h
│   │   │   └── MCTargetAsmParser.h
│   │   ├── MCPseudoProbe.h
│   │   ├── MCRegister.h
│   │   ├── MCRegisterInfo.h
│   │   ├── MCSchedule.h
│   │   ├── MCSection.h
│   │   ├── MCSectionCOFF.h
│   │   ├── MCSectionELF.h
│   │   ├── MCSectionGOFF.h
│   │   ├── MCSectionMachO.h
│   │   ├── MCSectionWasm.h
│   │   ├── MCSectionXCOFF.h
│   │   ├── MCStreamer.h
│   │   ├── MCSubtargetInfo.h
│   │   ├── MCSymbol.h
│   │   ├── MCSymbolCOFF.h
│   │   ├── MCSymbolELF.h
│   │   ├── MCSymbolGOFF.h
│   │   ├── MCSymbolMachO.h
│   │   ├── MCSymbolWasm.h
│   │   ├── MCSymbolXCOFF.h
│   │   ├── MCTargetOptions.h
│   │   ├── MCTargetOptionsCommandFlags.h
│   │   ├── MCValue.h
│   │   ├── MCWasmObjectWriter.h
│   │   ├── MCWasmStreamer.h
│   │   ├── MCWin64EH.h
│   │   ├── MCWinCOFFObjectWriter.h
│   │   ├── MCWinCOFFStreamer.h
│   │   ├── MCWinEH.h
│   │   ├── MCXCOFFObjectWriter.h
│   │   ├── MCXCOFFStreamer.h
│   │   ├── SectionKind.h
│   │   ├── StringTableBuilder.h
│   │   └── SubtargetFeature.h
│   ├── MCA
│   │   ├── CodeEmitter.h
│   │   ├── Context.h
│   │   ├── CustomBehaviour.h
│   │   ├── HardwareUnits
│   │   │   ├── HardwareUnit.h
│   │   │   ├── LSUnit.h
│   │   │   ├── RegisterFile.h
│   │   │   ├── ResourceManager.h
│   │   │   ├── RetireControlUnit.h
│   │   │   └── Scheduler.h
│   │   ├── HWEventListener.h
│   │   ├── InstrBuilder.h
│   │   ├── Instruction.h
│   │   ├── Pipeline.h
│   │   ├── SourceMgr.h
│   │   ├── Stages
│   │   │   ├── DispatchStage.h
│   │   │   ├── EntryStage.h
│   │   │   ├── ExecuteStage.h
│   │   │   ├── InOrderIssueStage.h
│   │   │   ├── InstructionTables.h
│   │   │   ├── MicroOpQueueStage.h
│   │   │   ├── RetireStage.h
│   │   │   └── Stage.h
│   │   └── Support.h
│   ├── Object
│   │   ├── Archive.h
│   │   ├── ArchiveWriter.h
│   │   ├── Binary.h
│   │   ├── COFF.h
│   │   ├── COFFImportFile.h
│   │   ├── COFFModuleDefinition.h
│   │   ├── CVDebugRecord.h
│   │   ├── Decompressor.h
│   │   ├── ELF.h
│   │   ├── ELFObjectFile.h
│   │   ├── ELFTypes.h
│   │   ├── Error.h
│   │   ├── FaultMapParser.h
│   │   ├── IRObjectFile.h
│   │   ├── IRSymtab.h
│   │   ├── MachO.h
│   │   ├── MachOUniversal.h
│   │   ├── MachOUniversalWriter.h
│   │   ├── Minidump.h
│   │   ├── ModuleSymbolTable.h
│   │   ├── ObjectFile.h
│   │   ├── RelocationResolver.h
│   │   ├── StackMapParser.h
│   │   ├── SymbolicFile.h
│   │   ├── SymbolSize.h
│   │   ├── TapiFile.h
│   │   ├── TapiUniversal.h
│   │   ├── Wasm.h
│   │   ├── WindowsMachineFlag.h
│   │   ├── WindowsResource.h
│   │   └── XCOFFObjectFile.h
│   ├── ObjectYAML
│   │   ├── ArchiveYAML.h
│   │   ├── CodeViewYAMLDebugSections.h
│   │   ├── CodeViewYAMLSymbols.h
│   │   ├── CodeViewYAMLTypeHashing.h
│   │   ├── CodeViewYAMLTypes.h
│   │   ├── COFFYAML.h
│   │   ├── DWARFEmitter.h
│   │   ├── DWARFYAML.h
│   │   ├── ELFYAML.h
│   │   ├── MachOYAML.h
│   │   ├── MinidumpYAML.h
│   │   ├── ObjectYAML.h
│   │   ├── WasmYAML.h
│   │   ├── XCOFFYAML.h
│   │   ├── YAML.h
│   │   └── yaml2obj.h
│   ├── Option
│   │   ├── Arg.h
│   │   ├── ArgList.h
│   │   ├── Option.h
│   │   ├── OptParser.td
│   │   ├── OptSpecifier.h
│   │   └── OptTable.h
│   ├── Pass.h
│   ├── PassAnalysisSupport.h
│   ├── Passes
│   │   ├── PassBuilder.h
│   │   ├── PassPlugin.h
│   │   └── StandardInstrumentations.h
│   ├── PassInfo.h
│   ├── PassRegistry.h
│   ├── PassSupport.h
│   ├── ProfileData
│   │   ├── Coverage
│   │   │   ├── CoverageMapping.h
│   │   │   ├── CoverageMappingReader.h
│   │   │   └── CoverageMappingWriter.h
│   │   ├── GCOV.h
│   │   ├── InstrProf.h
│   │   ├── InstrProfData.inc
│   │   ├── InstrProfReader.h
│   │   ├── InstrProfWriter.h
│   │   ├── ProfileCommon.h
│   │   ├── SampleProf.h
│   │   ├── SampleProfReader.h
│   │   └── SampleProfWriter.h
│   ├── Remarks
│   │   ├── BitstreamRemarkContainer.h
│   │   ├── BitstreamRemarkParser.h
│   │   ├── BitstreamRemarkSerializer.h
│   │   ├── HotnessThresholdParser.h
│   │   ├── Remark.h
│   │   ├── RemarkFormat.h
│   │   ├── RemarkLinker.h
│   │   ├── RemarkParser.h
│   │   ├── RemarkSerializer.h
│   │   ├── RemarkStreamer.h
│   │   ├── RemarkStringTable.h
│   │   └── YAMLRemarkSerializer.h
│   ├── Support
│   │   ├── AArch64TargetParser.def
│   │   ├── AArch64TargetParser.h
│   │   ├── Alignment.h
│   │   ├── AlignOf.h
│   │   ├── Allocator.h
│   │   ├── AllocatorBase.h
│   │   ├── AMDGPUMetadata.h
│   │   ├── AMDHSAKernelDescriptor.h
│   │   ├── ARMAttributeParser.h
│   │   ├── ARMBuildAttributes.h
│   │   ├── ARMEHABI.h
│   │   ├── ARMTargetParser.def
│   │   ├── ARMTargetParser.h
│   │   ├── ARMWinEH.h
│   │   ├── ArrayRecycler.h
│   │   ├── Atomic.h
│   │   ├── AtomicOrdering.h
│   │   ├── AutoConvert.h
│   │   ├── Automaton.h
│   │   ├── Base64.h
│   │   ├── BCD.h
│   │   ├── BinaryByteStream.h
│   │   ├── BinaryItemStream.h
│   │   ├── BinaryStream.h
│   │   ├── BinaryStreamArray.h
│   │   ├── BinaryStreamError.h
│   │   ├── BinaryStreamReader.h
│   │   ├── BinaryStreamRef.h
│   │   ├── BinaryStreamWriter.h
│   │   ├── BlockFrequency.h
│   │   ├── BranchProbability.h
│   │   ├── BuryPointer.h
│   │   ├── CachePruning.h
│   │   ├── Capacity.h
│   │   ├── Casting.h
│   │   ├── CBindingWrapping.h
│   │   ├── CFGDiff.h
│   │   ├── CFGUpdate.h
│   │   ├── CheckedArithmetic.h
│   │   ├── Chrono.h
│   │   ├── circular_raw_ostream.h
│   │   ├── CodeGen.h
│   │   ├── CodeGenCoverage.h
│   │   ├── COM.h
│   │   ├── CommandLine.h
│   │   ├── Compiler.h
│   │   ├── Compression.h
│   │   ├── ConvertUTF.h
│   │   ├── CrashRecoveryContext.h
│   │   ├── CRC.h
│   │   ├── DataExtractor.h
│   │   ├── DataTypes.h
│   │   ├── Debug.h
│   │   ├── DebugCounter.h
│   │   ├── Discriminator.h
│   │   ├── DJB.h
│   │   ├── DOTGraphTraits.h
│   │   ├── DynamicLibrary.h
│   │   ├── ELFAttributeParser.h
│   │   ├── ELFAttributes.h
│   │   ├── Endian.h
│   │   ├── EndianStream.h
│   │   ├── Errc.h
│   │   ├── Errno.h
│   │   ├── Error.h
│   │   ├── ErrorHandling.h
│   │   ├── ErrorOr.h
│   │   ├── ExitCodes.h
│   │   ├── ExtensibleRTTI.h
│   │   ├── Extension.def
│   │   ├── FileCollector.h
│   │   ├── FileOutputBuffer.h
│   │   ├── FileSystem
│   │   │   └── UniqueID.h
│   │   ├── FileSystem.h
│   │   ├── FileUtilities.h
│   │   ├── Format.h
│   │   ├── FormatAdapters.h
│   │   ├── FormatCommon.h
│   │   ├── FormatProviders.h
│   │   ├── FormattedStream.h
│   │   ├── FormatVariadic.h
│   │   ├── FormatVariadicDetails.h
│   │   ├── GenericDomTree.h
│   │   ├── GenericDomTreeConstruction.h
│   │   ├── GenericIteratedDominanceFrontier.h
│   │   ├── GlobPattern.h
│   │   ├── GraphWriter.h
│   │   ├── Host.h
│   │   ├── InitLLVM.h
│   │   ├── InstructionCost.h
│   │   ├── ItaniumManglingCanonicalizer.h
│   │   ├── JSON.h
│   │   ├── KnownBits.h
│   │   ├── LEB128.h
│   │   ├── LICENSE.TXT
│   │   ├── LineIterator.h
│   │   ├── Locale.h
│   │   ├── LockFileManager.h
│   │   ├── LowLevelTypeImpl.h
│   │   ├── MachineValueType.h
│   │   ├── ManagedStatic.h
│   │   ├── MathExtras.h
│   │   ├── MD5.h
│   │   ├── MemAlloc.h
│   │   ├── Memory.h
│   │   ├── MemoryBuffer.h
│   │   ├── MemoryBufferRef.h
│   │   ├── MipsABIFlags.h
│   │   ├── MSVCErrorWorkarounds.h
│   │   ├── Mutex.h
│   │   ├── NativeFormatting.h
│   │   ├── OnDiskHashTable.h
│   │   ├── OptimizedStructLayout.h
│   │   ├── Parallel.h
│   │   ├── Path.h
│   │   ├── PluginLoader.h
│   │   ├── PointerLikeTypeTraits.h
│   │   ├── PrettyStackTrace.h
│   │   ├── Printable.h
│   │   ├── Process.h
│   │   ├── Program.h
│   │   ├── RandomNumberGenerator.h
│   │   ├── raw_os_ostream.h
│   │   ├── raw_ostream.h
│   │   ├── raw_sha1_ostream.h
│   │   ├── Recycler.h
│   │   ├── RecyclingAllocator.h
│   │   ├── Regex.h
│   │   ├── Registry.h
│   │   ├── ReverseIteration.h
│   │   ├── RISCVAttributeParser.h
│   │   ├── RISCVAttributes.h
│   │   ├── RISCVTargetParser.def
│   │   ├── RWMutex.h
│   │   ├── SaveAndRestore.h
│   │   ├── ScaledNumber.h
│   │   ├── ScopedPrinter.h
│   │   ├── SHA1.h
│   │   ├── SHA256.h
│   │   ├── Signals.h
│   │   ├── Signposts.h
│   │   ├── SmallVectorMemoryBuffer.h
│   │   ├── SMLoc.h
│   │   ├── SMTAPI.h
│   │   ├── Solaris
│   │   │   └── sys
│   │   │       └── regset.h
│   │   ├── SourceMgr.h
│   │   ├── SpecialCaseList.h
│   │   ├── StringSaver.h
│   │   ├── SuffixTree.h
│   │   ├── SwapByteOrder.h
│   │   ├── SymbolRemappingReader.h
│   │   ├── SystemUtils.h
│   │   ├── TargetOpcodes.def
│   │   ├── TargetParser.h
│   │   ├── TargetRegistry.h
│   │   ├── TargetSelect.h
│   │   ├── TarWriter.h
│   │   ├── TaskQueue.h
│   │   ├── thread.h
│   │   ├── Threading.h
│   │   ├── ThreadLocal.h
│   │   ├── ThreadPool.h
│   │   ├── TimeProfiler.h
│   │   ├── Timer.h
│   │   ├── ToolOutputFile.h
│   │   ├── TrailingObjects.h
│   │   ├── TrigramIndex.h
│   │   ├── type_traits.h
│   │   ├── TypeName.h
│   │   ├── TypeSize.h
│   │   ├── Unicode.h
│   │   ├── UnicodeCharRanges.h
│   │   ├── Valgrind.h
│   │   ├── VCSRevision.h
│   │   ├── VersionTuple.h
│   │   ├── VirtualFileSystem.h
│   │   ├── Watchdog.h
│   │   ├── Win64EH.h
│   │   ├── Windows
│   │   │   └── WindowsSupport.h
│   │   ├── WindowsError.h
│   │   ├── WithColor.h
│   │   ├── X86DisassemblerDecoderCommon.h
│   │   ├── X86TargetParser.def
│   │   ├── X86TargetParser.h
│   │   ├── xxhash.h
│   │   ├── YAMLParser.h
│   │   └── YAMLTraits.h
│   ├── TableGen
│   │   ├── Automaton.td
│   │   ├── DirectiveEmitter.h
│   │   ├── Error.h
│   │   ├── Main.h
│   │   ├── Record.h
│   │   ├── SearchableTable.td
│   │   ├── SetTheory.h
│   │   ├── StringMatcher.h
│   │   ├── StringToOffsetTable.h
│   │   └── TableGenBackend.h
│   ├── Target
│   │   ├── CGPassBuilderOption.h
│   │   ├── CodeGenCWrappers.h
│   │   ├── GenericOpcodes.td
│   │   ├── GlobalISel
│   │   │   ├── Combine.td
│   │   │   ├── RegisterBank.td
│   │   │   ├── SelectionDAGCompat.td
│   │   │   └── Target.td
│   │   ├── Target.td
│   │   ├── TargetCallingConv.td
│   │   ├── TargetInstrPredicate.td
│   │   ├── TargetIntrinsicInfo.h
│   │   ├── TargetItinerary.td
│   │   ├── TargetLoweringObjectFile.h
│   │   ├── TargetMachine.h
│   │   ├── TargetOptions.h
│   │   ├── TargetPfmCounters.td
│   │   ├── TargetSchedule.td
│   │   └── TargetSelectionDAG.td
│   ├── Testing
│   │   └── Support
│   │       ├── Annotations.h
│   │       ├── Error.h
│   │       └── SupportHelpers.h
│   ├── TextAPI
│   │   ├── Architecture.def
│   │   ├── Architecture.h
│   │   ├── ArchitectureSet.h
│   │   ├── InterfaceFile.h
│   │   ├── PackedVersion.h
│   │   ├── Platform.h
│   │   ├── Symbol.h
│   │   ├── Target.h
│   │   ├── TextAPIReader.h
│   │   └── TextAPIWriter.h
│   ├── ToolDrivers
│   │   ├── llvm-dlltool
│   │   │   └── DlltoolDriver.h
│   │   └── llvm-lib
│   │       └── LibDriver.h
│   ├── Transforms
│   │   ├── AggressiveInstCombine
│   │   │   └── AggressiveInstCombine.h
│   │   ├── CFGuard.h
│   │   ├── Coroutines
│   │   │   ├── CoroCleanup.h
│   │   │   ├── CoroEarly.h
│   │   │   ├── CoroElide.h
│   │   │   └── CoroSplit.h
│   │   ├── Coroutines.h
│   │   ├── InstCombine
│   │   │   ├── InstCombine.h
│   │   │   ├── InstCombiner.h
│   │   │   └── InstCombineWorklist.h
│   │   ├── Instrumentation
│   │   │   ├── AddressSanitizer.h
│   │   │   ├── AddressSanitizerCommon.h
│   │   │   ├── AddressSanitizerOptions.h
│   │   │   ├── BoundsChecking.h
│   │   │   ├── CGProfile.h
│   │   │   ├── ControlHeightReduction.h
│   │   │   ├── DataFlowSanitizer.h
│   │   │   ├── GCOVProfiler.h
│   │   │   ├── HWAddressSanitizer.h
│   │   │   ├── InstrOrderFile.h
│   │   │   ├── InstrProfiling.h
│   │   │   ├── MemorySanitizer.h
│   │   │   ├── MemProfiler.h
│   │   │   ├── PGOInstrumentation.h
│   │   │   ├── PoisonChecking.h
│   │   │   ├── SanitizerCoverage.h
│   │   │   └── ThreadSanitizer.h
│   │   ├── Instrumentation.h
│   │   ├── IPO
│   │   │   ├── AlwaysInliner.h
│   │   │   ├── Annotation2Metadata.h
│   │   │   ├── ArgumentPromotion.h
│   │   │   ├── Attributor.h
│   │   │   ├── BlockExtractor.h
│   │   │   ├── CalledValuePropagation.h
│   │   │   ├── ConstantMerge.h
│   │   │   ├── CrossDSOCFI.h
│   │   │   ├── DeadArgumentElimination.h
│   │   │   ├── ElimAvailExtern.h
│   │   │   ├── ForceFunctionAttrs.h
│   │   │   ├── FunctionAttrs.h
│   │   │   ├── FunctionImport.h
│   │   │   ├── GlobalDCE.h
│   │   │   ├── GlobalOpt.h
│   │   │   ├── GlobalSplit.h
│   │   │   ├── HotColdSplitting.h
│   │   │   ├── InferFunctionAttrs.h
│   │   │   ├── Inliner.h
│   │   │   ├── Internalize.h
│   │   │   ├── IROutliner.h
│   │   │   ├── LoopExtractor.h
│   │   │   ├── LowerTypeTests.h
│   │   │   ├── MergeFunctions.h
│   │   │   ├── OpenMPOpt.h
│   │   │   ├── PartialInlining.h
│   │   │   ├── PassManagerBuilder.h
│   │   │   ├── ProfiledCallGraph.h
│   │   │   ├── SampleContextTracker.h
│   │   │   ├── SampleProfile.h
│   │   │   ├── SampleProfileProbe.h
│   │   │   ├── SCCP.h
│   │   │   ├── StripDeadPrototypes.h
│   │   │   ├── StripSymbols.h
│   │   │   ├── SyntheticCountsPropagation.h
│   │   │   ├── ThinLTOBitcodeWriter.h
│   │   │   └── WholeProgramDevirt.h
│   │   ├── IPO.h
│   │   ├── ObjCARC.h
│   │   ├── Scalar
│   │   │   ├── ADCE.h
│   │   │   ├── AlignmentFromAssumptions.h
│   │   │   ├── AnnotationRemarks.h
│   │   │   ├── BDCE.h
│   │   │   ├── CallSiteSplitting.h
│   │   │   ├── ConstantHoisting.h
│   │   │   ├── ConstraintElimination.h
│   │   │   ├── CorrelatedValuePropagation.h
│   │   │   ├── DCE.h
│   │   │   ├── DeadStoreElimination.h
│   │   │   ├── DFAJumpThreading.h
│   │   │   ├── DivRemPairs.h
│   │   │   ├── EarlyCSE.h
│   │   │   ├── Float2Int.h
│   │   │   ├── GuardWidening.h
│   │   │   ├── GVN.h
│   │   │   ├── GVNExpression.h
│   │   │   ├── InductiveRangeCheckElimination.h
│   │   │   ├── IndVarSimplify.h
│   │   │   ├── InferAddressSpaces.h
│   │   │   ├── InstSimplifyPass.h
│   │   │   ├── IVUsersPrinter.h
│   │   │   ├── JumpThreading.h
│   │   │   ├── LICM.h
│   │   │   ├── LoopAccessAnalysisPrinter.h
│   │   │   ├── LoopBoundSplit.h
│   │   │   ├── LoopDataPrefetch.h
│   │   │   ├── LoopDeletion.h
│   │   │   ├── LoopDistribute.h
│   │   │   ├── LoopFlatten.h
│   │   │   ├── LoopFuse.h
│   │   │   ├── LoopIdiomRecognize.h
│   │   │   ├── LoopInstSimplify.h
│   │   │   ├── LoopInterchange.h
│   │   │   ├── LoopLoadElimination.h
│   │   │   ├── LoopPassManager.h
│   │   │   ├── LoopPredication.h
│   │   │   ├── LoopReroll.h
│   │   │   ├── LoopRotation.h
│   │   │   ├── LoopSimplifyCFG.h
│   │   │   ├── LoopSink.h
│   │   │   ├── LoopStrengthReduce.h
│   │   │   ├── LoopUnrollAndJamPass.h
│   │   │   ├── LoopUnrollPass.h
│   │   │   ├── LoopVersioningLICM.h
│   │   │   ├── LowerAtomic.h
│   │   │   ├── LowerConstantIntrinsics.h
│   │   │   ├── LowerExpectIntrinsic.h
│   │   │   ├── LowerGuardIntrinsic.h
│   │   │   ├── LowerMatrixIntrinsics.h
│   │   │   ├── LowerWidenableCondition.h
│   │   │   ├── MakeGuardsExplicit.h
│   │   │   ├── MemCpyOptimizer.h
│   │   │   ├── MergedLoadStoreMotion.h
│   │   │   ├── MergeICmps.h
│   │   │   ├── NaryReassociate.h
│   │   │   ├── NewGVN.h
│   │   │   ├── PartiallyInlineLibCalls.h
│   │   │   ├── Reassociate.h
│   │   │   ├── Reg2Mem.h
│   │   │   ├── RewriteStatepointsForGC.h
│   │   │   ├── ScalarizeMaskedMemIntrin.h
│   │   │   ├── Scalarizer.h
│   │   │   ├── SCCP.h
│   │   │   ├── SeparateConstOffsetFromGEP.h
│   │   │   ├── SimpleLoopUnswitch.h
│   │   │   ├── SimplifyCFG.h
│   │   │   ├── Sink.h
│   │   │   ├── SpeculativeExecution.h
│   │   │   ├── SROA.h
│   │   │   ├── StraightLineStrengthReduce.h
│   │   │   ├── StructurizeCFG.h
│   │   │   ├── TailRecursionElimination.h
│   │   │   └── WarnMissedTransforms.h
│   │   ├── Scalar.h
│   │   ├── Utils
│   │   │   ├── AddDiscriminators.h
│   │   │   ├── AMDGPUEmitPrintf.h
│   │   │   ├── ASanStackFrameLayout.h
│   │   │   ├── AssumeBundleBuilder.h
│   │   │   ├── BasicBlockUtils.h
│   │   │   ├── BreakCriticalEdges.h
│   │   │   ├── BuildLibCalls.h
│   │   │   ├── BypassSlowDivision.h
│   │   │   ├── CallGraphUpdater.h
│   │   │   ├── CallPromotionUtils.h
│   │   │   ├── CanonicalizeAliases.h
│   │   │   ├── CanonicalizeFreezeInLoops.h
│   │   │   ├── Cloning.h
│   │   │   ├── CodeExtractor.h
│   │   │   ├── CodeMoverUtils.h
│   │   │   ├── CtorUtils.h
│   │   │   ├── Debugify.h
│   │   │   ├── EntryExitInstrumenter.h
│   │   │   ├── EscapeEnumerator.h
│   │   │   ├── Evaluator.h
│   │   │   ├── FixIrreducible.h
│   │   │   ├── FunctionComparator.h
│   │   │   ├── FunctionImportUtils.h
│   │   │   ├── GlobalStatus.h
│   │   │   ├── GuardUtils.h
│   │   │   ├── HelloWorld.h
│   │   │   ├── InjectTLIMappings.h
│   │   │   ├── InstructionNamer.h
│   │   │   ├── IntegerDivision.h
│   │   │   ├── LCSSA.h
│   │   │   ├── LibCallsShrinkWrap.h
│   │   │   ├── Local.h
│   │   │   ├── LoopPeel.h
│   │   │   ├── LoopRotationUtils.h
│   │   │   ├── LoopSimplify.h
│   │   │   ├── LoopUtils.h
│   │   │   ├── LoopVersioning.h
│   │   │   ├── LowerInvoke.h
│   │   │   ├── LowerMemIntrinsics.h
│   │   │   ├── LowerSwitch.h
│   │   │   ├── MatrixUtils.h
│   │   │   ├── Mem2Reg.h
│   │   │   ├── MemoryOpRemark.h
│   │   │   ├── MetaRenamer.h
│   │   │   ├── ModuleUtils.h
│   │   │   ├── NameAnonGlobals.h
│   │   │   ├── PredicateInfo.h
│   │   │   ├── PromoteMemToReg.h
│   │   │   ├── RelLookupTableConverter.h
│   │   │   ├── SampleProfileLoaderBaseImpl.h
│   │   │   ├── SampleProfileLoaderBaseUtil.h
│   │   │   ├── SanitizerStats.h
│   │   │   ├── ScalarEvolutionExpander.h
│   │   │   ├── SCCPSolver.h
│   │   │   ├── SimplifyCFGOptions.h
│   │   │   ├── SimplifyIndVar.h
│   │   │   ├── SimplifyLibCalls.h
│   │   │   ├── SizeOpts.h
│   │   │   ├── SplitModule.h
│   │   │   ├── SSAUpdater.h
│   │   │   ├── SSAUpdaterBulk.h
│   │   │   ├── SSAUpdaterImpl.h
│   │   │   ├── StripGCRelocates.h
│   │   │   ├── StripNonLineTableDebugInfo.h
│   │   │   ├── SymbolRewriter.h
│   │   │   ├── UnifyFunctionExitNodes.h
│   │   │   ├── UnifyLoopExits.h
│   │   │   ├── UnrollLoop.h
│   │   │   ├── ValueMapper.h
│   │   │   └── VNCoercion.h
│   │   ├── Utils.h
│   │   ├── Vectorize
│   │   │   ├── LoadStoreVectorizer.h
│   │   │   ├── LoopVectorizationLegality.h
│   │   │   ├── LoopVectorize.h
│   │   │   ├── SLPVectorizer.h
│   │   │   └── VectorCombine.h
│   │   └── Vectorize.h
│   ├── WindowsManifest
│   │   └── WindowsManifestMerger.h
│   ├── WindowsResource
│   │   ├── ResourceProcessor.h
│   │   ├── ResourceScriptToken.h
│   │   └── ResourceScriptTokenList.h
│   └── XRay
│       ├── BlockIndexer.h
│       ├── BlockPrinter.h
│       ├── BlockVerifier.h
│       ├── FDRLogBuilder.h
│       ├── FDRRecordConsumer.h
│       ├── FDRRecordProducer.h
│       ├── FDRRecords.h
│       ├── FDRTraceExpander.h
│       ├── FDRTraceWriter.h
│       ├── FileHeaderReader.h
│       ├── Graph.h
│       ├── InstrumentationMap.h
│       ├── Profile.h
│       ├── RecordPrinter.h
│       ├── Trace.h
│       ├── XRayRecord.h
│       └── YAMLXRayRecord.h
├── llvm-c
│   ├── Analysis.h
│   ├── BitReader.h
│   ├── BitWriter.h
│   ├── Comdat.h
│   ├── Core.h
│   ├── DataTypes.h
│   ├── DebugInfo.h
│   ├── Disassembler.h
│   ├── DisassemblerTypes.h
│   ├── Error.h
│   ├── ErrorHandling.h
│   ├── ExecutionEngine.h
│   ├── ExternC.h
│   ├── Initialization.h
│   ├── IRReader.h
│   ├── Linker.h
│   ├── LLJIT.h
│   ├── lto.h
│   ├── Object.h
│   ├── Orc.h
│   ├── OrcEE.h
│   ├── Remarks.h
│   ├── Support.h
│   ├── Target.h
│   ├── TargetMachine.h
│   ├── Transforms
│   │   ├── AggressiveInstCombine.h
│   │   ├── Coroutines.h
│   │   ├── InstCombine.h
│   │   ├── IPO.h
│   │   ├── PassBuilder.h
│   │   ├── PassManagerBuilder.h
│   │   ├── Scalar.h
│   │   ├── Utils.h
│   │   └── Vectorize.h
│   └── Types.h
├── localcharset.h
├── lz4.h
├── lz4frame.h
├── lz4frame_static.h
├── lz4hc.h
├── lzma
│   ├── base.h
│   ├── bcj.h
│   ├── block.h
│   ├── check.h
│   ├── container.h
│   ├── delta.h
│   ├── filter.h
│   ├── hardware.h
│   ├── index.h
│   ├── index_hash.h
│   ├── lzma12.h
│   ├── stream_flags.h
│   ├── version.h
│   └── vli.h
├── lzma.h
├── mpc.h
├── mpdecimal.h
├── mpf2mpfr.h
├── mpfr.h
├── mysqlStubs.h
├── ncurses
│   ├── curses.h
│   ├── cursesapp.h
│   ├── cursesf.h
│   ├── cursesm.h
│   ├── cursesp.h
│   ├── cursesw.h
│   ├── cursslk.h
│   ├── eti.h
│   ├── etip.h
│   ├── form.h
│   ├── menu.h
│   ├── nc_mingw.h
│   ├── nc_tparm.h
│   ├── ncurses.h
│   ├── ncurses_dll.h
│   ├── ncurses_mingw.h
│   ├── panel.h
│   ├── term.h
│   ├── term_entry.h
│   ├── termcap.h
│   ├── tic.h
│   └── unctrl.h
├── ncursesw
│   ├── curses.h
│   ├── cursesapp.h
│   ├── cursesf.h
│   ├── cursesm.h
│   ├── cursesp.h
│   ├── cursesw.h
│   ├── cursslk.h
│   ├── eti.h
│   ├── etip.h
│   ├── form.h
│   ├── menu.h
│   ├── nc_mingw.h
│   ├── nc_tparm.h
│   ├── ncurses.h
│   ├── ncurses_dll.h
│   ├── ncurses_mingw.h
│   ├── panel.h
│   ├── term.h
│   ├── term_entry.h
│   ├── termcap.h
│   ├── tic.h
│   └── unctrl.h
├── nettle
│   ├── aes.h
│   ├── arcfour.h
│   ├── arctwo.h
│   ├── asn1.h
│   ├── base16.h
│   ├── base64.h
│   ├── bignum.h
│   ├── blowfish.h
│   ├── buffer.h
│   ├── camellia.h
│   ├── cast128.h
│   ├── cbc.h
│   ├── ccm.h
│   ├── cfb.h
│   ├── chacha.h
│   ├── chacha-poly1305.h
│   ├── cmac.h
│   ├── ctr.h
│   ├── curve25519.h
│   ├── curve448.h
│   ├── des.h
│   ├── dsa.h
│   ├── dsa-compat.h
│   ├── eax.h
│   ├── ecc.h
│   ├── ecc-curve.h
│   ├── ecdsa.h
│   ├── eddsa.h
│   ├── gcm.h
│   ├── gostdsa.h
│   ├── gosthash94.h
│   ├── hkdf.h
│   ├── hmac.h
│   ├── knuth-lfib.h
│   ├── macros.h
│   ├── md2.h
│   ├── md4.h
│   ├── md5.h
│   ├── md5-compat.h
│   ├── memops.h
│   ├── memxor.h
│   ├── nettle-meta.h
│   ├── nettle-types.h
│   ├── pbkdf2.h
│   ├── pgp.h
│   ├── pkcs1.h
│   ├── poly1305.h
│   ├── pss.h
│   ├── pss-mgf1.h
│   ├── realloc.h
│   ├── ripemd160.h
│   ├── rsa.h
│   ├── salsa20.h
│   ├── serpent.h
│   ├── sexp.h
│   ├── sha.h
│   ├── sha1.h
│   ├── sha2.h
│   ├── sha3.h
│   ├── siv-cmac.h
│   ├── streebog.h
│   ├── twofish.h
│   ├── umac.h
│   ├── version.h
│   ├── xts.h
│   └── yarrow.h
├── nghttp2
│   ├── nghttp2.h
│   └── nghttp2ver.h
├── odbcStubs.h
├── openssl
│   ├── aes.h
│   ├── applink.c
│   ├── asn1.h
│   ├── asn1_mac.h
│   ├── asn1err.h
│   ├── asn1t.h
│   ├── async.h
│   ├── asyncerr.h
│   ├── bio.h
│   ├── bioerr.h
│   ├── blowfish.h
│   ├── bn.h
│   ├── bnerr.h
│   ├── buffer.h
│   ├── buffererr.h
│   ├── camellia.h
│   ├── cast.h
│   ├── cmac.h
│   ├── cms.h
│   ├── cmserr.h
│   ├── comp.h
│   ├── comperr.h
│   ├── conf.h
│   ├── conf_api.h
│   ├── conferr.h
│   ├── crypto.h
│   ├── cryptoerr.h
│   ├── ct.h
│   ├── cterr.h
│   ├── des.h
│   ├── dh.h
│   ├── dherr.h
│   ├── dsa.h
│   ├── dsaerr.h
│   ├── dtls1.h
│   ├── e_os2.h
│   ├── ebcdic.h
│   ├── ec.h
│   ├── ecdh.h
│   ├── ecdsa.h
│   ├── ecerr.h
│   ├── engine.h
│   ├── engineerr.h
│   ├── err.h
│   ├── evp.h
│   ├── evperr.h
│   ├── hmac.h
│   ├── idea.h
│   ├── kdf.h
│   ├── kdferr.h
│   ├── lhash.h
│   ├── md2.h
│   ├── md4.h
│   ├── md5.h
│   ├── mdc2.h
│   ├── modes.h
│   ├── obj_mac.h
│   ├── objects.h
│   ├── objectserr.h
│   ├── ocsp.h
│   ├── ocsperr.h
│   ├── opensslconf.h
│   ├── opensslv.h
│   ├── ossl_typ.h
│   ├── pem.h
│   ├── pem2.h
│   ├── pemerr.h
│   ├── pkcs12.h
│   ├── pkcs12err.h
│   ├── pkcs7.h
│   ├── pkcs7err.h
│   ├── rand.h
│   ├── rand_drbg.h
│   ├── randerr.h
│   ├── rc2.h
│   ├── rc4.h
│   ├── rc5.h
│   ├── ripemd.h
│   ├── rsa.h
│   ├── rsaerr.h
│   ├── safestack.h
│   ├── seed.h
│   ├── sha.h
│   ├── srp.h
│   ├── srtp.h
│   ├── ssl.h
│   ├── ssl2.h
│   ├── ssl3.h
│   ├── sslerr.h
│   ├── stack.h
│   ├── store.h
│   ├── storeerr.h
│   ├── symhacks.h
│   ├── tls1.h
│   ├── ts.h
│   ├── tserr.h
│   ├── txt_db.h
│   ├── ui.h
│   ├── uierr.h
│   ├── whrlpool.h
│   ├── x509.h
│   ├── x509_vfy.h
│   ├── x509err.h
│   ├── x509v3.h
│   └── x509v3err.h
├── p11-kit-1
│   └── p11-kit
│       ├── deprecated.h
│       ├── iter.h
│       ├── p11-kit.h
│       ├── pin.h
│       ├── pkcs11.h
│       ├── pkcs11x.h
│       ├── remote.h
│       └── uri.h
├── pcre.h
├── pcre_scanner.h
├── pcre_stringpiece.h
├── pcrecpp.h
├── pcrecpparg.h
├── pcreposix.h
├── pkgconf
│   └── libpkgconf
│       ├── bsdstubs.h
│       ├── iter.h
│       ├── libpkgconf.h
│       ├── libpkgconf-api.h
│       └── stdinc.h
├── png.h
├── pngconf.h
├── pnglibconf.h
├── pqStubs.h
├── python3.9
│   ├── abstract.h
│   ├── asdl.h
│   ├── ast.h
│   ├── bitset.h
│   ├── bltinmodule.h
│   ├── boolobject.h
│   ├── bytearrayobject.h
│   ├── bytesobject.h
│   ├── cellobject.h
│   ├── ceval.h
│   ├── classobject.h
│   ├── code.h
│   ├── codecs.h
│   ├── compile.h
│   ├── complexobject.h
│   ├── context.h
│   ├── cpython
│   │   ├── abstract.h
│   │   ├── bytearrayobject.h
│   │   ├── bytesobject.h
│   │   ├── ceval.h
│   │   ├── code.h
│   │   ├── dictobject.h
│   │   ├── fileobject.h
│   │   ├── fileutils.h
│   │   ├── frameobject.h
│   │   ├── import.h
│   │   ├── initconfig.h
│   │   ├── interpreteridobject.h
│   │   ├── listobject.h
│   │   ├── methodobject.h
│   │   ├── object.h
│   │   ├── objimpl.h
│   │   ├── pyerrors.h
│   │   ├── pylifecycle.h
│   │   ├── pymem.h
│   │   ├── pystate.h
│   │   ├── sysmodule.h
│   │   ├── traceback.h
│   │   ├── tupleobject.h
│   │   └── unicodeobject.h
│   ├── datetime.h
│   ├── descrobject.h
│   ├── dictobject.h
│   ├── dynamic_annotations.h
│   ├── enumobject.h
│   ├── errcode.h
│   ├── eval.h
│   ├── exports.h
│   ├── fileobject.h
│   ├── fileutils.h
│   ├── floatobject.h
│   ├── frameobject.h
│   ├── funcobject.h
│   ├── genericaliasobject.h
│   ├── genobject.h
│   ├── graminit.h
│   ├── grammar.h
│   ├── import.h
│   ├── internal
│   │   ├── pegen_interface.h
│   │   ├── pycore_abstract.h
│   │   ├── pycore_accu.h
│   │   ├── pycore_atomic.h
│   │   ├── pycore_bytes_methods.h
│   │   ├── pycore_byteswap.h
│   │   ├── pycore_call.h
│   │   ├── pycore_ceval.h
│   │   ├── pycore_code.h
│   │   ├── pycore_condvar.h
│   │   ├── pycore_context.h
│   │   ├── pycore_dtoa.h
│   │   ├── pycore_fileutils.h
│   │   ├── pycore_gc.h
│   │   ├── pycore_getopt.h
│   │   ├── pycore_gil.h
│   │   ├── pycore_hamt.h
│   │   ├── pycore_hashtable.h
│   │   ├── pycore_import.h
│   │   ├── pycore_initconfig.h
│   │   ├── pycore_interp.h
│   │   ├── pycore_object.h
│   │   ├── pycore_pathconfig.h
│   │   ├── pycore_pyerrors.h
│   │   ├── pycore_pyhash.h
│   │   ├── pycore_pylifecycle.h
│   │   ├── pycore_pymem.h
│   │   ├── pycore_pystate.h
│   │   ├── pycore_runtime.h
│   │   ├── pycore_sysmodule.h
│   │   ├── pycore_traceback.h
│   │   ├── pycore_tupleobject.h
│   │   └── pycore_warnings.h
│   ├── interpreteridobject.h
│   ├── intrcheck.h
│   ├── iscygpty.h
│   ├── iterobject.h
│   ├── listobject.h
│   ├── longintrepr.h
│   ├── longobject.h
│   ├── marshal.h
│   ├── memoryobject.h
│   ├── methodobject.h
│   ├── modsupport.h
│   ├── moduleobject.h
│   ├── namespaceobject.h
│   ├── node.h
│   ├── object.h
│   ├── objimpl.h
│   ├── odictobject.h
│   ├── opcode.h
│   ├── osdefs.h
│   ├── osmodule.h
│   ├── parsetok.h
│   ├── patchlevel.h
│   ├── picklebufobject.h
│   ├── py_curses.h
│   ├── pyarena.h
│   ├── pycapsule.h
│   ├── pyconfig.h
│   ├── pyctype.h
│   ├── pydebug.h
│   ├── pydtrace.h
│   ├── pyerrors.h
│   ├── pyexpat.h
│   ├── pyfpe.h
│   ├── pyframe.h
│   ├── pyhash.h
│   ├── pylifecycle.h
│   ├── pymacconfig.h
│   ├── pymacro.h
│   ├── pymath.h
│   ├── pymem.h
│   ├── pyport.h
│   ├── pystate.h
│   ├── pystrcmp.h
│   ├── pystrhex.h
│   ├── pystrtod.h
│   ├── Python.h
│   ├── Python-ast.h
│   ├── pythonrun.h
│   ├── pythread.h
│   ├── pytime.h
│   ├── rangeobject.h
│   ├── setobject.h
│   ├── sliceobject.h
│   ├── structmember.h
│   ├── structseq.h
│   ├── symtable.h
│   ├── sysmodule.h
│   ├── token.h
│   ├── traceback.h
│   ├── tracemalloc.h
│   ├── tupleobject.h
│   ├── typeslots.h
│   ├── ucnhash.h
│   ├── unicodeobject.h
│   ├── warnings.h
│   └── weakrefobject.h
├── re2
│   ├── filtered_re2.h
│   ├── re2.h
│   ├── set.h
│   └── stringpiece.h
├── readline
│   ├── chardefs.h
│   ├── history.h
│   ├── keymaps.h
│   ├── readline.h
│   ├── rlconf.h
│   ├── rlstdc.h
│   ├── rltypedefs.h
│   └── tilde.h
├── regex.h
├── rhash.h
├── rhash_torrent.h
├── spdlog
│   ├── async.h
│   ├── async_logger.h
│   ├── async_logger-inl.h
│   ├── cfg
│   │   ├── argv.h
│   │   ├── env.h
│   │   ├── helpers.h
│   │   └── helpers-inl.h
│   ├── common.h
│   ├── common-inl.h
│   ├── details
│   │   ├── backtracer.h
│   │   ├── backtracer-inl.h
│   │   ├── circular_q.h
│   │   ├── console_globals.h
│   │   ├── file_helper.h
│   │   ├── file_helper-inl.h
│   │   ├── fmt_helper.h
│   │   ├── log_msg.h
│   │   ├── log_msg_buffer.h
│   │   ├── log_msg_buffer-inl.h
│   │   ├── log_msg-inl.h
│   │   ├── mpmc_blocking_q.h
│   │   ├── null_mutex.h
│   │   ├── os.h
│   │   ├── os-inl.h
│   │   ├── periodic_worker.h
│   │   ├── periodic_worker-inl.h
│   │   ├── registry.h
│   │   ├── registry-inl.h
│   │   ├── synchronous_factory.h
│   │   ├── tcp_client.h
│   │   ├── tcp_client-windows.h
│   │   ├── thread_pool.h
│   │   ├── thread_pool-inl.h
│   │   └── windows_include.h
│   ├── fmt
│   │   ├── bin_to_hex.h
│   │   ├── chrono.h
│   │   ├── compile.h
│   │   ├── fmt.h
│   │   ├── ostr.h
│   │   └── xchar.h
│   ├── formatter.h
│   ├── fwd.h
│   ├── logger.h
│   ├── logger-inl.h
│   ├── pattern_formatter.h
│   ├── pattern_formatter-inl.h
│   ├── sinks
│   │   ├── android_sink.h
│   │   ├── ansicolor_sink.h
│   │   ├── ansicolor_sink-inl.h
│   │   ├── base_sink.h
│   │   ├── base_sink-inl.h
│   │   ├── basic_file_sink.h
│   │   ├── basic_file_sink-inl.h
│   │   ├── daily_file_sink.h
│   │   ├── dist_sink.h
│   │   ├── dup_filter_sink.h
│   │   ├── hourly_file_sink.h
│   │   ├── mongo_sink.h
│   │   ├── msvc_sink.h
│   │   ├── null_sink.h
│   │   ├── ostream_sink.h
│   │   ├── qt_sinks.h
│   │   ├── ringbuffer_sink.h
│   │   ├── rotating_file_sink.h
│   │   ├── rotating_file_sink-inl.h
│   │   ├── sink.h
│   │   ├── sink-inl.h
│   │   ├── stdout_color_sinks.h
│   │   ├── stdout_color_sinks-inl.h
│   │   ├── stdout_sinks.h
│   │   ├── stdout_sinks-inl.h
│   │   ├── syslog_sink.h
│   │   ├── systemd_sink.h
│   │   ├── tcp_sink.h
│   │   ├── win_eventlog_sink.h
│   │   ├── wincolor_sink.h
│   │   └── wincolor_sink-inl.h
│   ├── spdlog.h
│   ├── spdlog-inl.h
│   ├── stopwatch.h
│   ├── tweakme.h
│   └── version.h
├── sqlite3.h
├── sqlite3ext.h
├── tcl.h
├── tcl8.6
│   └── tcl-private
│       ├── generic
│       │   ├── fakemysql.h
│       │   ├── fakepq.h
│       │   ├── fakesql.h
│       │   ├── itcl.h
│       │   ├── itcl2TclOO.h
│       │   ├── itclDecls.h
│       │   ├── itclInt.h
│       │   ├── itclIntDecls.h
│       │   ├── itclMigrate2TclCore.h
│       │   ├── itclTclIntStubsFcn.h
│       │   ├── mysqlStubs.h
│       │   ├── odbcStubs.h
│       │   ├── pqStubs.h
│       │   ├── regcustom.h
│       │   ├── regerrs.h
│       │   ├── regex.h
│       │   ├── regguts.h
│       │   ├── tcl.h
│       │   ├── tclCompile.h
│       │   ├── tclDecls.h
│       │   ├── tclFileSystem.h
│       │   ├── tclInt.h
│       │   ├── tclIntDecls.h
│       │   ├── tclIntPlatDecls.h
│       │   ├── tclIO.h
│       │   ├── tclOO.h
│       │   ├── tclOODecls.h
│       │   ├── tclOOInt.h
│       │   ├── tclOOIntDecls.h
│       │   ├── tclParse.h
│       │   ├── tclPlatDecls.h
│       │   ├── tclPort.h
│       │   ├── tclRegexp.h
│       │   ├── tclStringRep.h
│       │   ├── tclStringTrim.h
│       │   ├── tclThread.h
│       │   ├── tclTomMath.h
│       │   ├── tclTomMathDecls.h
│       │   ├── tclTomMathInt.h
│       │   ├── tdbc.h
│       │   ├── tdbcDecls.h
│       │   ├── tdbcInt.h
│       │   └── tommath.h
│       └── win
│           ├── tclWinInt.h
│           └── tclWinPort.h
├── tclDecls.h
├── tclOO.h
├── tclOODecls.h
├── tclPlatDecls.h
├── tclThread.h
├── tclTomMath.h
├── tclTomMathDecls.h
├── tdbc.h
├── tdbcDecls.h
├── tdbcInt.h
├── termcap.h
├── tk.h
├── tk8.6
│   └── tk-private
│       ├── generic
│       │   ├── default.h
│       │   ├── ks_names.h
│       │   ├── tk.h
│       │   ├── tk3d.h
│       │   ├── tkArray.h
│       │   ├── tkBusy.h
│       │   ├── tkButton.h
│       │   ├── tkCanvas.h
│       │   ├── tkColor.h
│       │   ├── tkDecls.h
│       │   ├── tkDList.h
│       │   ├── tkEntry.h
│       │   ├── tkFileFilter.h
│       │   ├── tkFont.h
│       │   ├── tkImgPhoto.h
│       │   ├── tkInt.h
│       │   ├── tkIntDecls.h
│       │   ├── tkIntPlatDecls.h
│       │   ├── tkIntXlibDecls.h
│       │   ├── tkMenu.h
│       │   ├── tkMenubutton.h
│       │   ├── tkPlatDecls.h
│       │   ├── tkPort.h
│       │   ├── tkScale.h
│       │   ├── tkScrollbar.h
│       │   ├── tkSelect.h
│       │   ├── tkText.h
│       │   ├── tkUndo.h
│       │   └── ttk
│       │       ├── ttkDecls.h
│       │       ├── ttkManager.h
│       │       ├── ttkTheme.h
│       │       ├── ttkThemeInt.h
│       │       └── ttkWidget.h
│       └── win
│           ├── tkWin.h
│           ├── tkWinDefault.h
│           ├── tkWinInt.h
│           ├── tkWinPort.h
│           └── tkWinSendCom.h
├── tkDecls.h
├── tkIntXlibDecls.h
├── tkPlatDecls.h
├── tre
│   ├── regex.h
│   ├── tre.h
│   └── tre-config.h
├── treeout.txt
├── unicase.h
├── uniconv.h
├── unictype.h
├── unigbrk.h
├── unilbrk.h
├── uniname.h
├── uninorm.h
├── unistdio.h
├── unistr.h
├── unistring
│   ├── cdefs.h
│   ├── iconveh.h
│   ├── inline.h
│   ├── localcharset.h
│   ├── stdbool.h
│   ├── stdint.h
│   ├── version.h
│   └── woe32dll.h
├── unitypes.h
├── uniwbrk.h
├── uniwidth.h
├── uv
│   ├── errno.h
│   ├── threadpool.h
│   ├── tree.h
│   ├── version.h
│   └── win.h
├── uv.h
├── X11
│   ├── ap_keysym.h
│   ├── cursorfont.h
│   ├── DECkeysym.h
│   ├── HPkeysym.h
│   ├── keysym.h
│   ├── keysymdef.h
│   ├── simx.h
│   ├── Sunkeysym.h
│   ├── X.h
│   ├── Xatom.h
│   ├── XF86keysym.h
│   ├── Xfuncproto.h
│   ├── Xlib.h
│   ├── xpm.h
│   └── Xutil.h
├── xxh3.h
├── xxhash.h
├── yaml.h
├── zconf.h
├── zdict.h
├── zlib.h
├── zstd.h
└── zstd_errors.h

298 directories, 5074 files

edit: Actually I'm not sure about that last statement. Since MinGW64 is another environment, maybe MSYS includes dont matter. Those provide different C libraries after all. After a bit of thinking, maybe only the mingw64 includes play a role, I'll ask for context, out of my own curiosity aswell.

@rizsotto
Copy link
Owner

Thanks so much @FrostKiwi this is very good...

After a quick look, I see that there is no spawn.h (CMake did not find it), but there is unistd.h (CMake did find it). Which means I can't use posix_spawn call, but fork and exec. This will take more time to change... But I have not found the unistd.h in the zip files you've sent. Can you confirm the fork and execve functions are available? Or maybe the spawn.h is also available, but CMake was not looking into the right place.

@FrostKiwi
Copy link
Author

FrostKiwi commented Nov 28, 2021

In the MinGW64-packages repo issue it was mentioned... msys2/MINGW-packages#7411 (comment)

but I'm also not sure due to that constraint if bear should be in MINGW-packages and I think it might be better off in MSYS2-packages

...Maybe I'm creating the wrong approach here. Bear might be more of a basic sysutil and may not need to be compiled with the Windows-Native MinGW64 toolchain. Only thing regarding fork I find is this comment: https://news.ycombinator.com/item?id=11391797

There does not seem to be a spawn.h and there man fork returns just GNU awk's fork man page. Though I have zero idea how any of this works or how to compile for MSYS, instead of the Windows native MinGW64...

@rizsotto
Copy link
Owner

Oh, so there is no POSIX layer in MinGW. And Bear should call Windows native... That will be challenging.

@FrostKiwi
Copy link
Author

I asked around and maybe my it really is the best to not build Bear Windows native and not try to square the circle.
A year ago this was commented here msys2/MINGW-packages#7411 (comment)

I'm also not sure due to that constraint if bear should be in MINGW-packages and I think it might be better off in MSYS2-packages

And again when I asked yesturday: msys2/MINGW-packages#7411 (comment)

Native tools are preferred when possible but it doesn't seem doable here so I think it should be ok.

So since Bear is more of a tool close to the system, maybe it should remain within the MSYS environment and get access to all that emulated POSIX goodness. Unfortunately I have zero idea how to build in that environment or how to get those emulated Posix features.

@memoks
Copy link

memoks commented Jul 4, 2022

Hi all,

I kind of stuck in windows. So, are there any progress here?

I am using mingw-w64 as well. Bear cannot be built on msys2 environment alone because Bear's dependencies doesn't exist as msys2 package.

I tried building Bear on mingw-w64 after installing dependencies. I am a bit confused here. Bear doesn't seem to have the macro definitions to see these system headers as posix headers:

configure output:

$ cmake -DENABLE_UNIT_TESTS=OFF -DENABLE_FUNC_TESTS=OFF ..
-- Building for: Ninja
-- The C compiler identification is GNU 12.1.0
-- The CXX compiler identification is GNU 12.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Users/mehmet.basaran/Desktop/msys2/mingw64/bin/cc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Users/mehmet.basaran/Desktop/msys2/mingw64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Setting build type to 'Release' as none was specified.
-- Looking for nlohman_json dependency
-- Looking for nlohman_json dependency -- found
-- Looking for fmt dependency
-- Looking for fmt dependency -- found
-- Looking for spdlog dependency
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Looking for spdlog dependency -- found
-- Looking for gRPC::grpc++ dependency
-- Found PkgConfig: C:/Users/mehmet.basaran/Desktop/msys2/mingw64/bin/pkg-config.exe (found version "1.8.0")
-- Checking for modules 'protobuf>=3.11;grpc++>=1.26'
-- Found protobuf, version 3.16.0.0
-- Found grpc++, version 1.45.2
-- Looking for gRPC::grpc++ dependency -- found
-- Looking for protoc
-- Looking for protoc -- found
-- Looking for grpc_cpp_plugin
-- Looking for grpc_cpp_plugin -- found
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/mehmet.basaran/Desktop/Bear-master/build

Build output

$ ninja
[1/9] Creating directories for 'BearSource'
[2/9] No download step for 'BearSource'
[3/9] No update step for 'BearSource'
[4/9] No patch step for 'BearSource'
[5/9] Performing configure step for 'BearSource'
loading initial cache file C:/Users/mehmet.basaran/Desktop/Bear-master/build/subprojects/tmp/BearSource/BearSource-cache-Release.cmake
-- The C compiler identification is GNU 12.1.0
-- The CXX compiler identification is GNU 12.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Users/mehmet.basaran/Desktop/msys2/mingw64/bin/cc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Users/mehmet.basaran/Desktop/msys2/mingw64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found nlohmann_json: C:/Users/mehmet.basaran/Desktop/msys2/usr/lib/cmake/nlohmann_json/nlohmann_jsonConfig.cmake (found version "3.10.5")
-- Found PkgConfig: C:/Users/mehmet.basaran/Desktop/msys2/mingw64/bin/pkg-config.exe (found version "1.8.0")
-- Checking for modules 'protobuf;grpc++'
-- Found protobuf, version 3.16.0.0
-- Found grpc++, version 1.45.2
-- Looking for spawn.h
-- Looking for spawn.h - not found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for dlfcn.h
-- Looking for dlfcn.h - not found
-- Looking for errno.h
-- Looking for errno.h - found
-- Looking for sys/utsname.h
-- Looking for sys/utsname.h - not found
-- Looking for sys/wait.h
-- Looking for sys/wait.h - not found
-- Looking for sys/time.h
-- Looking for sys/time.h - found
-- Looking for sys/stat.h
-- Looking for sys/stat.h - found
-- Looking for gnu/lib-names.h
-- Looking for gnu/lib-names.h - not found
-- Looking for _NSGetEnviron
-- Looking for NSGetEnviron - not found
-- Looking for dlopen
-- Looking for dlopen - not found
-- Looking for dlsym
-- Looking for dlsym - not found
-- Looking for dlerror
-- Looking for dlerror - not found
-- Looking for dlclose
-- Looking for dlclose - not found
-- Looking for RTLD_NEXT
-- Looking for RTLD_NEXT - not found
-- Looking for EACCES
-- Looking for EACCES - found
-- Looking for ENOENT
-- Looking for ENOENT - found
-- Looking for strerror_r
-- Looking for strerror_r - not found
-- Looking for environ
-- Looking for environ - not found
-- Looking for uname
-- Looking for uname - not found
-- Looking for confstr
-- Looking for confstr - not found
-- Looking for CS_PATH
-- Looking for CS_PATH - not found
-- Looking for CS_GNU_LIBC_VERSION
-- Looking for CS_GNU_LIBC_VERSION - not found
-- Looking for CS_GNU_LIBPTHREAD_VERSION
-- Looking for CS_GNU_LIBPTHREAD_VERSION - not found
-- Looking for protoc ... C:/Users/mehmet.basaran/Desktop/msys2/mingw64/bin/protoc.exe
-- Looking for grpc_cpp_plugin ... C:/Users/mehmet.basaran/Desktop/msys2/mingw64/bin/grpc_cpp_plugin.exe
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/mehmet.basaran/Desktop/Bear-master/build/subprojects/Build/BearSource
[6/9] Performing build step for 'BearSource'
FAILED: subprojects/Stamp/BearSource/BearSource-build C:/Users/mehmet.basaran/Desktop/Bear-master/build/subprojects/Stamp/BearSource/BearSource-build
cmd.exe /C "cd /D C:\Users\mehmet.basaran\Desktop\Bear-master\build\subprojects\Build\BearSource && C:\Users\mehmet.basaran\Desktop\msys2\mingw64\bin\cmake.exe --build .op/Bear-master/build/subprojects/Stamp/BearSource/BearSource-build"
[1/60] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Errors.cc.obj
[2/60] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Guard.cc.obj
[3/60] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Signal.cc.obj
FAILED: libsys/CMakeFiles/sys_a.dir/source/Signal.cc.obj
C:\Users\mehmet.basaran\Desktop\msys2\mingw64\bin\c++.exe -DFMT_LOCALE -DFMT_SHARED -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -IC:/Users/mehmet.baster/source/libsys/include -IC:/Users/mehmet.basaran/Desktop/Bear-master/build/subprojects/Build/BearSource/libsys/include -IC:/Users/mehmet.basaran/Desktop/Bear-master/s -O3 -DNDEBUG -Wa,-mbig-obj -std=c++17 -MD -MT libsys/CMakeFiles/sys_a.dir/source/Signal.cc.obj -MF libsys\CMakeFiles\sys_a.dir\source\Signal.cc.obj.d -o libsys/CMakeFilSignal.cc
In file included from C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Signal.cc:20:
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/include/libsys/Signal.h:39:9: error: 'pid_t' does not name a type
39 | pid_t pid
;
| ^~~~~
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Signal.cc: In function 'constexpr bool {anonymous}::shall_forward(int)':
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Signal.cc:30:18: error: 'SIGKILL' was not declared in this scope; did you mean 'SIGILL'?
30 | case SIGKILL:
| ^~~~~~~
| SIGILL
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Signal.cc:31:18: error: 'SIGCHLD' was not declared in this scope
31 | case SIGCHLD:
| ^~~~~~~
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Signal.cc: In function 'void {anonymous}::handler(int)':
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Signal.cc:43:19: error: '::kill' has not been declared
43 | ::kill(pid, signum);
| ^~~~
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Signal.cc: In constructor 'sys::SignalForwarder::SignalForwarder(const sys::Process&)':
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Signal.cc:52:15: error: class 'sys::SignalForwarder' does not have any field named 'pid
'
52 | : pid
(child.get_pid())
| ^~~~
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Signal.cc:55:32: error: 'pid
' was not declared in this scope; did you mean 'pid_t'?
55 | CHILD_PROCESSES.insert(pid
);
| ^~~~
| pid_t
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Signal.cc: In destructor 'sys::SignalForwarder::~SignalForwarder()':
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Signal.cc:63:31: error: 'pid
' was not declared in this scope; did you mean 'pid_t'?
63 | CHILD_PROCESSES.erase(pid
);
| ^~~~
| pid_t
[4/60] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Os.cc.obj
[5/60] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Path.cc.obj
[6/60] Building CXX object intercept/CMakeFiles/exec_a.dir/source/report/libexec/Buffer.cc.obj
[7/60] Building CXX object intercept/CMakeFiles/exec_a.dir/source/report/libexec/Environment.cc.obj
[8/60] Building CXX object libflags/CMakeFiles/flags_a.dir/source/Flags.cc.obj
[9/60] Building CXX object libsys/CMakeFiles/sys_a.dir/source/Process.cc.obj
FAILED: libsys/CMakeFiles/sys_a.dir/source/Process.cc.obj
C:\Users\mehmet.basaran\Desktop\msys2\mingw64\bin\c++.exe -DFMT_LOCALE -DFMT_SHARED -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -IC:/Users/mehmet.baster/source/libsys/include -IC:/Users/mehmet.basaran/Desktop/Bear-master/build/subprojects/Build/BearSource/libsys/include -IC:/Users/mehmet.basaran/Desktop/Bear-master/s -O3 -DNDEBUG -Wa,-mbig-obj -std=c++17 -MD -MT libsys/CMakeFiles/sys_a.dir/source/Process.cc.obj -MF libsys\CMakeFiles\sys_a.dir\source\Process.cc.obj.d -o libsys/CMakeFce/Process.cc
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:76:15: error: 'posix_spawn_file_actions_t' does not name a type
76 | const posix_spawn_file_actions_t* file_actions_ptr,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:77:15: error: 'posix_spawnattr_t' does not name a type
77 | const posix_spawnattr_t* attr_ptr,
| ^~~~~~~~~~~~~~~~~
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc: In lambda function:
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:93:24: error: '::posix_spawnp' has not been declared; did you mean 'posix_spawn_t'?
93 | if (0 != ::posix_spawnp(&child, path, nullptr, nullptr, const_cast<char**>(argv), const_cast<char**>(envp))) {
| ^~~~~~~~~~~~
| posix_spawn_t
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc: In function 'rust::Resultsys::Process {anonymous}::spawn_process(spawn_function_t, const sd::map<std::__cxx11::basic_string, std::__cxx11::basic_string >&)':
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:150:18: error: no match for call to '({anonymous}::spawn_function_t {aka std::function<rust::h::value_type*, char**, char**)'
150 | return fp(program.c_str(), args.data(), const_cast<char**>(env.data()))
| ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from C:/Users/mehmet.basaran/Desktop/msys2/mingw64/include/c++/12.1.0/functional:59,
from C:/Users/mehmet.basaran/Desktop/Bear-master/source/libresult/include/libresult/Result.h:22,
from C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/include/libsys/Process.h:23,
from C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:20:
C:/Users/mehmet.basaran/Desktop/msys2/mingw64/include/c++/12.1.0/bits/std_function.h:587:7: note: candidate: '_Res std::function<_Res(_ArgTypes ...)>::operator()(_ArgTypconst*}]'
587 | operator()(_ArgTypes... __args) const
| ^~~~~~~~
C:/Users/mehmet.basaran/Desktop/msys2/mingw64/include/c++/12.1.0/bits/std_function.h:587:27: note: no known conversion for argument 1 from 'const std::filesystem::__cx
587 | operator()(_ArgTypes... args) const
| ~~~~~~~~~^~~~~~~~~~
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:157:34: error: expected primary-expression before '>' token
157 | .mapsys::Process([](const auto& pid) {
| ^
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:160:18: error: 'struct {anonymous}::spawn_process(spawn_function_t, const std::filesystem::1::basic_string, std::cxx11::basic_string >&)::<lambda(const auto:9&)>' has no member named 'on_success'
160 | .on_success([&parameters](const auto& process) {
| ^~~~~~~~~~
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc: In function 'rust::Resultsys::ExitStatus {anonymous}::wait_for(pid_t, bool)':
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:172:49: error: 'WUNTRACED' was not declared in this scope
172 | const int mask = request_for_signals ? (WUNTRACED | WCONTINUED) : 0;
| ^~~~~~~~~
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:172:61: error: 'WCONTINUED' was not declared in this scope; did you mean 'IDCONTINUE'?
172 | const int mask = request_for_signals ? (WUNTRACED | WCONTINUED) : 0;
| ^~~~~~~~~~
| IDCONTINUE
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:173:33: error: '::waitpid' has not been declared
173 | if (int status; -1 != ::waitpid(pid, &status, mask)) {
| ^~~~~~~
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:174:17: error: 'WIFEXITED' was not declared in this scope
174 | if (WIFEXITED(status)) {
| ^~~~~~~~~
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:175:55: error: 'WEXITSTATUS' was not declared in this scope
175 | return rust::Ok(sys::ExitStatus(true, WEXITSTATUS(status)));
| ^~~~~~~~~~~
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:176:24: error: 'WIFSIGNALED' was not declared in this scope
176 | } else if (WIFSIGNALED(status)) {
| ^~~~~~~~~~~
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:177:56: error: 'WTERMSIG' was not declared in this scope
177 | return rust::Ok(sys::ExitStatus(false, WTERMSIG(status)));
| ^~~~~~~~
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:178:24: error: 'WIFSTOPPED' was not declared in this scope
178 | } else if (WIFSTOPPED(status)) {
| ^~~~~~~~~~
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:179:56: error: 'WSTOPSIG' was not declared in this scope
179 | return rust::Ok(sys::ExitStatus(false, WSTOPSIG(status)));
| ^~~~~~~~
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:180:24: error: 'WIFCONTINUED' was not declared in this scope; did you mean 'IDCONTINUE'?
180 | } else if (WIFCONTINUED(status)) {
| ^~~~~~~~~~~~
| IDCONTINUE
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:181:56: error: 'SIGCONT' was not declared in this scope; did you mean 'SIGINT'?
181 | return rust::Ok(sys::ExitStatus(false, SIGCONT));
| ^~~~~~~
| SIGINT
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc: In function 'rust::Result {anonymous}::send_signal(pid_t, int)':
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:194:34: error: '::kill' has not been declared
194 | if (const int result = ::kill(pid, num); 0 == result) {
| ^~~~
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc: In member function 'bool sys::ExitStatus::is_exited() const':
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:228:39: error: 'SIGCONT' was not declared in this scope; did you mean 'SIGINT'?
228 | return is_code
|| ((code
!= SIGCONT) && (code
!= SIGSTOP));
| ^~~~~~~
| SIGINT
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:228:61: error: 'SIGSTOP' was not declared in this scope
228 | return is_code
|| ((code
!= SIGCONT) && (code
!= SIGSTOP));
| ^~~~~~~
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc: In lambda function:
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:99:9: warning: control reaches end of non-void function [-Wreturn-type]
99 | };
| ^
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc: At global scope:
C:/Users/mehmet.basaran/Desktop/Bear-master/source/libsys/source/Process.cc:59:19: warning: 'std::ostream& {anonymous}::operator<<(std::ostream&, const Arguments&)' defi
59 | std::ostream& operator<<(std::ostream& os, const Arguments& arguments)
| ^~~~~~~~
[10/60] Building CXX object libshell/CMakeFiles/shell_a.dir/source/Command.cc.obj
[11/60] Building CXX object libmain/CMakeFiles/main_a.dir/source/ApplicationLogConfig.cc.obj
[12/60] Building CXX object libmain/CMakeFiles/main_a.dir/source/ApplicationFromArgs.cc.obj
ninja: build stopped: subcommand failed.
ninja: build stopped: subcommand failed.

Environment variables

$ env
ProgramFiles(x86)=C:\Program Files (x86)
!::=::
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
!F:=F:
SHELL=/usr/bin/bash
NUMBER_OF_PROCESSORS=8
PROCESSOR_LEVEL=6
IWBPath=C:\Program Files (x86)\SAP\FrontEnd\iwb
TERM_PROGRAM_VERSION=3.6.1
MINGW_PREFIX=/mingw64
PKG_CONFIG_PATH=/mingw64/lib/pkgconfig:/mingw64/share/pkgconfig
USERDOMAIN_ROAMINGPROFILE=TBTK
HOSTNAME=BLG-BB05943
PROGRAMFILES=C:\Program Files
MSYSTEM=MINGW64
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
ORIGINAL_TEMP=/c/Users/MEHMET1.BAS/AppData/Local/Temp
MINGW_CHOST=x86_64-w64-mingw32
OS=Windows_NT
HOMEDRIVE=C:
MSYSTEM_CARCH=x86_64
SSF_LIBRARY_PATH_64=C:\Program Files\SAP\FrontEnd\SecureLogin\lib\sapcrypto.dll
USERDOMAIN=TBTK
USERDNSDOMAIN=TBTK.GOV.TR
PWD=/c/Users/mehmet.basaran/Desktop/Bear-master/build
USERPROFILE=C:\Users\mehmet.basaran
MANPATH=/mingw64/local/man:/mingw64/share/man:/usr/local/man:/usr/share/man:/usr/man:/share/man
PRINTER=\SRV-UniFlow\GuvenliBaski
TZ=Europe/Istanbul
MINGW_PACKAGE_PREFIX=mingw-w64-x86_64
tmp=C:\Users\MEHMET
1.BAS\AppData\Local\Temp
ALLUSERSPROFILE=C:\ProgramData
ORIGINAL_PATH=/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/
CommonProgramW6432=C:\Program Files\Common Files
HOME=/home/mehmet.basaran
USERNAME=mehmet.basaran
COMSPEC=C:\Windows\system32\cmd.exe
APPDATA=C:\Users\mehmet.basaran\AppData\Roaming
SYSTEMROOT=C:\Windows
LOCALAPPDATA=C:\Users\mehmet.basaran\AppData\Local
SSF_LIBRARY_PATH=C:\Program Files (x86)\SAP\FrontEnd\SecureLogin\lib\sapcrypto.dll
SNC_LIB_64=C:\Program Files\SAP\FrontEnd\SecureLogin\lib\sapcrypto.dll
COMPUTERNAME=BLG-BB05943
INFOPATH=/usr/local/info:/usr/share/info:/usr/info:/share/info
TERM=xterm
LOGONSERVER=\BIRUNI
ACLOCAL_PATH=/mingw64/share/aclocal:/usr/share/aclocal
USER=mehmet.basaran
PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules
TEMP=/tmp
temp=C:\Users\MEHMET1.BAS\AppData\Local\Temp
MSYSTEM_CHOST=x86_64-w64-mingw32
ORIGINAL_TMP=/c/Users/MEHMET
1.BAS/AppData/Local/Temp
SHLVL=1
PROCESSOR_REVISION=1e05
DriverData=C:\Windows\System32\Drivers\DriverData
COMMONPROGRAMFILES=C:\Program Files\Common Files
LC_CTYPE=tr_TR.UTF-8
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 30 Stepping 5, GenuineIntel
SESSIONNAME=Console
PS1=[\e]0;\w\a]\n[\e[32m]\u@\h [\e[35m]$MSYSTEM[\e[0m] [\e[33m]\w[\e[0m]\n$
SNC_LIB=C:\Program Files (x86)\SAP\FrontEnd\SecureLogin\lib\sapcrypto.dll
HOMEPATH=\Users\mehmet.basaran
XDG_DATA_DIRS=/mingw64/share/:/usr/local/share/:/usr/share/
MSYSCON=mintty.exe
TMP=/tmp
CONFIG_SITE=/etc/config.site
PATH=/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
ProgramW6432=C:\Program Files
MSYSTEM_PREFIX=/mingw64
WINDIR=C:\Windows
PROCESSOR_ARCHITECTURE=AMD64
PUBLIC=C:\Users\Public
SYSTEMDRIVE=C:
OLDPWD=/c/Users/mehmet.basaran/Desktop/Bear-master
TERM_PROGRAM=mintty
ProgramData=C:\ProgramData
_=/usr/bin/env

Bear version: c5fb0ea

I'll be happy to help & provide more details.
Thanks in advance.

@rizsotto
Copy link
Owner

rizsotto commented Jul 5, 2022

Hey @memoks , thanks for the follow up... There are no progress on this unfortunately.

The code is written mostly by me, who has experience and access for POSIX based OSes. Happy to have contributions to port some of the OS specific parts (process creation) to Windows.

@FrostKiwi
Copy link
Author

FrostKiwi commented Jul 5, 2022

If you intend to use Bear to make LSP to work properly from within MSYS2, here are some alternatives that all worked for me.
Both ccls and clangd support a simple txt file to define the compilation rules. In case of ccls ( https://github.com/MaskRay/ccls/wiki/Project-Setup#ccls-file ) it's called .ccls, should be placed in the project root and looks like this in my case:

cc
-Iinc
-Iinc/external
-std=c17
-pipe
-O0
-DGLEW_STATIC
-Wall

Works flawlessly. Clangd has the same thing ( https://clang.llvm.org/docs/JSONCompilationDatabase.html#alternatives ) , called compile_flags.txt. I wrote them manually, but now just autogenerate the .ccls file with my Makefile.

Alternatively, if you compile with clang, you have the ability to output the json formatted compilation database information ( https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-mj-arg ), if your project is more complex than what a single compile flags collection can express.
If you compile with clang, you can pass the -MJ flag. In my Makefile it looks like -MJ $<.json. This will place a .json file along side each source file, which you have to paste manually into the final compile_commands.json, encapsulated by square brackets [] and each separated by commas. This can be also automated in a makefile I guess.

All these worked for me, but I ended up using ccls and simply outputting the .ccls file.

@memoks
Copy link

memoks commented Jul 5, 2022

Hi all,

@FrostKiwi Huge thanks for the suggestions. I am, in fact, trying to get LSP+emacs to work :). Unfortunately, my project is a a bit complex where compilation commands can change on per file basis. And I am using GNU compiler toolchain.

One approach, as you have pointed out, would be to have the makefiles output compilation commands. This should be very easy through changing makefiles (if they are well organized). But this is not the case and I don't have the permission to change all the makefiles. So, I am trying to work around this for now.

@rizsotto After evaluating the situation further, maybe using mingw was a mistake. Out of curiosity, I am trying to compile Bear using cygwin this time. Because cygwin is basically POSIX this should work if I can manage the dependencies. I will write the steps if it succeeds. And there is also WSL (Windows subsystem for Linux) which I don't have atm and probably is the better way to do this.

@FrostKiwi
Copy link
Author

@memoks also Emacs + LSP here :]

Both cygwin and WSL2 would indeed sidestep the problem, but it depends on your use-case. AFAIK, Cygwin means shipping a bunch (maybe just 1?) of .dll files with your program, creating an extra dependency and WSL2 requires the whole WSL2 subsystem to be installed for the program to run. That's the reason I stuck with MinGW64, as you can produce dependent free binaries, for the installer-free user experience.

@memoks
Copy link

memoks commented Jul 7, 2022

@FrostKiwi You are right about .dll files and dependencies. Mingw is the most dependency free compared to other alternatives.

Unfortunately, cygwin could not sidestep the problem here. One of the dependencies of grpc, doesn't support cygwin.

In file included from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/config.h:67,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/internal/scheduling_mode.h:21,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h:24,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc:22:
/cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/policy_checks.h:40:2: hata: #error "Cygwin is not supported."
40 | #error "Cygwin is not supported."
| ^~~~~
In file included from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/config.h:67,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/random/seed_gen_exception.h:31,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/random/seed_gen_exception.cc:15:
/cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/policy_checks.h:40:2: hata: #error "Cygwin is not supported."
40 | #error "Cygwin is not supported."
| ^~~~~
In file included from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/config.h:67,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.h:20,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc:15:
/cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/policy_checks.h:40:2: hata: #error "Cygwin is not supported."
40 | #error "Cygwin is not supported."
| ^~~~~
In file included from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/config.h:67,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/random/internal/randen_traits.h:25,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc:15:
/cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/policy_checks.h:40:2: hata: #error "Cygwin is not supported."
40 | #error "Cygwin is not supported."
| ^~~~~
make[5]: *** [third_party/abseil-cpp/absl/random/CMakeFiles/random_internal_platform.dir/build.make:76: third_party/abseil-cpp/absl/random/CMakeFiles/random_internal_platform.dir/internal/randen_round_keys.cc.o] Error 1
make[4]: *** [CMakeFiles/Makefile2:3499: third_party/abseil-cpp/absl/random/CMakeFiles/random_internal_platform.dir/all] Error 2
make[4]: *** Bitmemiş işler için bekliyor....
In file included from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/config.h:67,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/numeric/int128.h:37,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/numeric/int128.cc:15:
/cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/policy_checks.h:40:2: hata: #error "Cygwin is not supported."
40 | #error "Cygwin is not supported."
| ^~~~~
make[5]: *** [third_party/abseil-cpp/absl/base/CMakeFiles/spinlock_wait.dir/build.make:76: third_party/abseil-cpp/absl/base/CMakeFiles/spinlock_wait.dir/internal/spinlock_wait.cc.o] Error 1
make[4]: *** [CMakeFiles/Makefile2:2052: third_party/abseil-cpp/absl/base/CMakeFiles/spinlock_wait.dir/all] Error 2
In file included from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/config.h:67,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/attributes.h:37,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/log_severity.h:21,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/log_severity.cc:15:
/cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/policy_checks.h:40:2: hata: #error "Cygwin is not supported."
40 | #error "Cygwin is not supported."
| ^~~~~
In file included from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/config.h:67,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h:20,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc:15:
/cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/policy_checks.h:40:2: hata: #error "Cygwin is not supported."
40 | #error "Cygwin is not supported."
| ^~~~~
In file included from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/config.h:67,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc:27:
/cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/policy_checks.h:40:2: hata: #error "Cygwin is not supported."
40 | #error "Cygwin is not supported."
| ^~~~~
make[5]: *** [third_party/abseil-cpp/absl/profiling/CMakeFiles/exponential_biased.dir/build.make:76: third_party/abseil-cpp/absl/profiling/CMakeFiles/exponential_biased.dir/internal/exponential_biased.cc.o] Error 1
make[4]: *** [CMakeFiles/Makefile2:3271: third_party/abseil-cpp/absl/profiling/CMakeFiles/exponential_biased.dir/all] Error 2
make[5]: *** [third_party/abseil-cpp/absl/base/CMakeFiles/log_severity.dir/build.make:76: third_party/abseil-cpp/absl/base/CMakeFiles/log_severity.dir/log_severity.cc.o] Error 1
make[4]: *** [CMakeFiles/Makefile2:2000: third_party/abseil-cpp/absl/base/CMakeFiles/log_severity.dir/all] Error 2
make[5]: *** [third_party/abseil-cpp/absl/random/CMakeFiles/random_seed_gen_exception.dir/build.make:76: third_party/abseil-cpp/absl/random/CMakeFiles/random_seed_gen_exception.dir/seed_gen_exception.cc.o] Error 1
make[4]: *** [CMakeFiles/Makefile2:3356: third_party/abseil-cpp/absl/random/CMakeFiles/random_seed_gen_exception.dir/all] Error 2
make[5]: *** [third_party/abseil-cpp/absl/numeric/CMakeFiles/int128.dir/build.make:76: third_party/abseil-cpp/absl/numeric/CMakeFiles/int128.dir/int128.cc.o] Error 1
make[4]: *** [CMakeFiles/Makefile2:3245: third_party/abseil-cpp/absl/numeric/CMakeFiles/int128.dir/all] Error 2
make[5]: *** [third_party/abseil-cpp/absl/time/CMakeFiles/time_zone.dir/build.make:76: third_party/abseil-cpp/absl/time/CMakeFiles/time_zone.dir/internal/cctz/src/time_zone_fixed.cc.o] Error 1
make[5]: *** Bitmemiş işler için bekliyor....
make[5]: *** [third_party/abseil-cpp/absl/time/CMakeFiles/time_zone.dir/build.make:90: third_party/abseil-cpp/absl/time/CMakeFiles/time_zone.dir/internal/cctz/src/time_zone_format.cc.o] Error 1
In file included from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/config.h:67,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h:23,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc:15:
/cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/policy_checks.h:40:2: hata: #error "Cygwin is not supported."
40 | #error "Cygwin is not supported."
| ^~~~~
In file included from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/config.h:67,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h:21,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc:15:
/cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/policy_checks.h:40:2: hata: #error "Cygwin is not supported."
40 | #error "Cygwin is not supported."
| ^~~~~
In file included from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/config.h:67,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h:24,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc:33:
/cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/policy_checks.h:40:2: hata: #error "Cygwin is not supported."
40 | #error "Cygwin is not supported."
| ^~~~~
In file included from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/config.h:67,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h:20,
from /cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc:19:
/cygdrive/c/Users/mehmet.basaran/Desktop/cyg32/Bear-master/build/subprojects/Source/grpc_dependency/third_party/abseil-cpp/absl/base/policy_checks.h:40:2: hata: #error "Cygwin is not supported."
40 | #error "Cygwin is not supported."
| ^~~~~
make[5]: *** [third_party/abseil-cpp/absl/time/CMakeFiles/time_zone.dir/build.make:104: third_party/abseil-cpp/absl/time/CMakeFiles/time_zone.dir/internal/cctz/src/time_zone_if.cc.o] Error 1
make[5]: *** [third_party/abseil-cpp/absl/time/CMakeFiles/time_zone.dir/build.make:146: third_party/abseil-cpp/absl/time/CMakeFiles/time_zone.dir/internal/cctz/src/time_zone_libc.cc.o] Error 1
make[5]: *** [third_party/abseil-cpp/absl/time/CMakeFiles/time_zone.dir/build.make:118: third_party/abseil-cpp/absl/time/CMakeFiles/time_zone.dir/internal/cctz/src/time_zone_impl.cc.o] Error 1
make[5]: *** [third_party/abseil-cpp/absl/time/CMakeFiles/time_zone.dir/build.make:132: third_party/abseil-cpp/absl/time/CMakeFiles/time_zone.dir/internal/cctz/src/time_zone_info.cc.o] Error 1
make[4]: *** [CMakeFiles/Makefile2:4246: third_party/abseil-cpp/absl/time/CMakeFiles/time_zone.dir/all] Error 2
make[3]: *** [Makefile:156: all] Error 2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants