SuccessChanges

Summary

  1. [TSan][libdispatch] Fix compilation error on Linux (details)
  2. [gn build] Fix COMPILER_RT_HAS_* defines for libclang_rt.profile (details)
  3. [clang] Add missing .def files to Clang's modulemap (details)
Commit 4cefa8614ffe18cf8de0fe86297df81f4385e08f by julian.lettner
[TSan][libdispatch] Fix compilation error on Linux

The interceptor for the block variants of the API references the
function versions (via `REAL(name##_f)`).  On Linux, this accesses the
underlying "real pointer", defined by the interceptor macro.  So we need
to declare interceptors in the right order to avoid undefined symbol
compiler error:
```
error: no member named 'real_dispatch_async_and_wait_f' in namespace '__tsan::__interception'
```

rdar://68181542
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_libdispatch.cpp (diff)
Commit 1426ac0482951d4cb98f84ab9fc89c745f95602e by thakis
[gn build] Fix COMPILER_RT_HAS_* defines for libclang_rt.profile

The cmake build uses COMPILER_RT_TARGET_HAS_* in the CMakeLists.txt
but then translates it to -DCOMPILER_RT_HAS_* flags which the
c++ code checks for. So we need to define the latter, not the former.
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/profile/BUILD.gn (diff)
Commit e0e7eb2e2648aee83caf2ecfe2972ce2f653d306 by Raphael Isemann
[clang] Add missing .def files to Clang's modulemap

These new .def files weren't marked as textual so they ended up being compiled
into the Clang module (which completely defeats the purpose of .def files).
The file was modifiedclang/include/clang/module.modulemap (diff)