[llvm-branch-commits] [clang] [llvm] [Instrumentor] Add unreachable support; unreachable stack trace printing (PR #195408)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu May 7 20:24:29 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 134459 tests passed
* 3251 tests skipped
* 2 tests failed

## Failed Tests
(click on a test name to see its output)

### Clang
<details>
<summary>Clang.Instrumentor/InstrumentorStackUsage.cpp</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\clang.exe --driver-mode=g++ -O0 C:\_work\llvm-project\llvm-project\clang\test\Instrumentor/StackUsageRT.cpp -o C:\_work\llvm-project\llvm-project\build\tools\clang\test\Instrumentor\Output\InstrumentorStackUsage.cpp.tmp.StackUsageRT.o -c
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\clang.exe' --driver-mode=g++ -O0 'C:\_work\llvm-project\llvm-project\clang\test\Instrumentor/StackUsageRT.cpp' -o 'C:\_work\llvm-project\llvm-project\build\tools\clang\test\Instrumentor\Output\InstrumentorStackUsage.cpp.tmp.StackUsageRT.o' -c
# note: command had no output on stdout or stderr
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\clang.exe --driver-mode=g++ -O0 -mllvm -enable-instrumentor -mllvm -instrumentor-read-config-file=C:\_work\llvm-project\llvm-project\clang\test\Instrumentor/StackUsageRT.json C:\_work\llvm-project\llvm-project\build\tools\clang\test\Instrumentor\Output\InstrumentorStackUsage.cpp.tmp.StackUsageRT.o -o C:\_work\llvm-project\llvm-project\build\tools\clang\test\Instrumentor\Output\InstrumentorStackUsage.cpp.tmp C:\_work\llvm-project\llvm-project\clang\test\Instrumentor\InstrumentorStackUsage.cpp
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\clang.exe' --driver-mode=g++ -O0 -mllvm -enable-instrumentor -mllvm '-instrumentor-read-config-file=C:\_work\llvm-project\llvm-project\clang\test\Instrumentor/StackUsageRT.json' 'C:\_work\llvm-project\llvm-project\build\tools\clang\test\Instrumentor\Output\InstrumentorStackUsage.cpp.tmp.StackUsageRT.o' -o 'C:\_work\llvm-project\llvm-project\build\tools\clang\test\Instrumentor\Output\InstrumentorStackUsage.cpp.tmp' 'C:\_work\llvm-project\llvm-project\clang\test\Instrumentor\InstrumentorStackUsage.cpp'
# .---command stderr------------
# | fatal error: error in backend: IO sandbox violation
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
# | Stack dump:
# | 0.	Program arguments: C:\\_work\\llvm-project\\llvm-project\\build\\bin\\clang.exe -cc1 -triple x86_64-pc-windows-msvc19.44.35226 -O0 -emit-obj -dumpdir C:\\_work\\llvm-project\\llvm-project\\build\\tools\\clang\\test\\Instrumentor\\Output\\InstrumentorStackUsage.cpp.tmp- -disable-free -clear-ast-before-backend -main-file-name InstrumentorStackUsage.cpp -mrelocation-model pic -pic-level 2 -mframe-pointer=none -relaxed-aliasing -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -fms-volatile -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -fdebug-compilation-dir=C:\\_work\\llvm-project\\llvm-project\\build\\tools\\clang\\test\\Instrumentor -fcoverage-compilation-dir=C:\\_work\\llvm-project\\llvm-project\\build\\tools\\clang\\test\\Instrumentor -resource-dir C:\\_work\\llvm-project\\llvm-project\\build\\lib\\clang\\23 -internal-isystem C:\\_work\\llvm-project\\llvm-project\\build\\lib\\clang\\23\\include -internal-isystem C:\\BuildTools\\VC\\Tools\\MSVC\\14.44.35207\\include -internal-isystem C:\\BuildTools\\VC\\Tools\\MSVC\\14.44.35207\\ATLMFC\\include -internal-isystem C:\\BuildTools\\VC\\Auxiliary\\VS\\include -internal-isystem "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.26100.0\\ucrt" -internal-isystem "C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\um" -internal-isystem "C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\shared" -internal-isystem "C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\winrt" -internal-isystem "C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\cppwinrt" -internal-isystem "C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\include\\um" -fdeprecated-macro -ferror-limit 19 -fno-use-cxa-atexit -fms-extensions -fms-compatibility -fms-compatibility-version=19.44.35226 -std=c++14 -fskip-odr-check-in-gmf -fdelayed-template-parsing -fcxx-exceptions -fexceptions -mllvm -enable-instrumentor -mllvm -instrumentor-read-config-file=C:\\_work\\llvm-project\\llvm-project\\clang\\test\\Instrumentor/StackUsageRT.json -faddrsig -o C:\\Users\\ContainerAdministrator\\AppData\\Local\\Temp\\lit-tmp-g6qz0onq\\InstrumentorStackUsage-81412d.o -x c++ C:\\_work\\llvm-project\\llvm-project\\clang\\test\\Instrumentor\\InstrumentorStackUsage.cpp
# | 1.	<eof> parser at end of file
# | 2.	Optimizer
# | 3.	Running pass "instrumentor" on module "C:\_work\llvm-project\llvm-project\clang\test\Instrumentor\InstrumentorStackUsage.cpp"
# | clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
# | clang version 23.0.0git (https://github.com/llvm/llvm-project 9533a2d90e85751870f7911d912139ff83d153ed)
# | Target: x86_64-pc-windows-msvc
# | Thread model: posix
# | InstalledDir: C:\_work\llvm-project\llvm-project\build\bin
# | Build config: +assertions
# | clang: note: diagnostic msg: 
# | ********************
# | 
# | PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
# | Preprocessed source(s) and associated run script(s) are located at:
# | clang: note: diagnostic msg: C:\Users\ContainerAdministrator\AppData\Local\Temp\lit-tmp-g6qz0onq\InstrumentorStackUsage-58be2c.cpp
# | clang: note: diagnostic msg: C:\Users\ContainerAdministrator\AppData\Local\Temp\lit-tmp-g6qz0onq\InstrumentorStackUsage-58be2c.sh
# | clang: note: diagnostic msg: 
# | 
# | ********************
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>Clang.Instrumentor/InstrumentorUnreachable.cpp</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\clang.exe --driver-mode=g++ -O0 -IC:\_work\llvm-project\llvm-project\build/include/ -IC:\_work\llvm-project\llvm-project\llvm/include/ C:\_work\llvm-project\llvm-project\clang\test\Instrumentor/UnreachableRT.cpp -o C:\_work\llvm-project\llvm-project\build\tools\clang\test\Instrumentor\Output\InstrumentorUnreachable.cpp.tmp.UnreachableRT.o -c
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\clang.exe' --driver-mode=g++ -O0 '-IC:\_work\llvm-project\llvm-project\build/include/' '-IC:\_work\llvm-project\llvm-project\llvm/include/' 'C:\_work\llvm-project\llvm-project\clang\test\Instrumentor/UnreachableRT.cpp' -o 'C:\_work\llvm-project\llvm-project\build\tools\clang\test\Instrumentor\Output\InstrumentorUnreachable.cpp.tmp.UnreachableRT.o' -c
# .---command stderr------------
# | In file included from C:\_work\llvm-project\llvm-project\clang\test\Instrumentor/UnreachableRT.cpp:13:
# | In file included from C:\_work\llvm-project\llvm-project\llvm/include\llvm/Support/raw_ostream.h:16:
# | In file included from C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/SmallVector.h:18:
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/DenseMapInfo.h:28:19: warning: nested namespace definition is a C++17 extension; define each namespace separately [-Wc++17-extensions]
# |    28 | namespace densemap::detail {
# |       |                   ^~~~~~~~
# |       |                    { namespace detail
# |    29 | // A bit mixer with very low latency using one multiplications and one
# |    30 | // xor-shift. The constant is from splitmix64.
# |    31 | inline uint64_t mix(uint64_t x) {
# |    32 |   x *= 0xbf58476d1ce4e5b9u;
# |    33 |   x ^= x >> 31;
# |    34 |   return x;
# |    35 | }
# |    36 | } // namespace densemap::detail
# |       | } 
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/DenseMapInfo.h:117:8: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
# |   117 |     if constexpr (std::is_unsigned_v<T> || std::is_same_v<T, long>)
# |       |        ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/DenseMapInfo.h:239:48: error: no member named 'optional' in namespace 'std'
# |   239 | template <typename T> struct DenseMapInfo<std::optional<T>> {
# |       |                                                ^~~~~~~~
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/DenseMapInfo.h:239:57: error: 'T' does not refer to a value
# |   239 | template <typename T> struct DenseMapInfo<std::optional<T>> {
# |       |                                                         ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/DenseMapInfo.h:239:20: note: declared here
# |   239 | template <typename T> struct DenseMapInfo<std::optional<T>> {
# |       |                    ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/DenseMapInfo.h:239:59: error: expected unqualified-id
# |   239 | template <typename T> struct DenseMapInfo<std::optional<T>> {
# |       |                                                           ^
# | In file included from C:\_work\llvm-project\llvm-project\clang\test\Instrumentor/UnreachableRT.cpp:13:
# | In file included from C:\_work\llvm-project\llvm-project\llvm/include\llvm/Support/raw_ostream.h:17:
# | In file included from C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/StringRef.h:13:
# | In file included from C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLFunctionalExtras.h:18:
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:36:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    36 | inline constexpr T e_v          = T(0x1.5bf0a8b145769P+1); // (2.7182818284590452354) https://oeis.org/A001113
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:38:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    38 | inline constexpr T egamma_v     = T(0x1.2788cfc6fb619P-1); // (.57721566490153286061) https://oeis.org/A001620
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:40:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    40 | inline constexpr T ln2_v        = T(0x1.62e42fefa39efP-1); // (.69314718055994530942) https://oeis.org/A002162
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:42:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    42 | inline constexpr T ln10_v       = T(0x1.26bb1bbb55516P+1); // (2.3025850929940456840) https://oeis.org/A002392
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:44:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    44 | inline constexpr T log2e_v      = T(0x1.71547652b82feP+0); // (1.4426950408889634074)
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:46:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    46 | inline constexpr T log10e_v     = T(0x1.bcb7b1526e50eP-2); // (.43429448190325182765)
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:48:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    48 | inline constexpr T pi_v         = T(0x1.921fb54442d18P+1); // (3.1415926535897932385) https://oeis.org/A000796
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:50:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    50 | inline constexpr T inv_pi_v     = T(0x1.45f306dc9c883P-2); // (.31830988618379067154) https://oeis.org/A049541
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:52:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    52 | inline constexpr T inv_sqrtpi_v = T(0x1.20dd750429b6dP-1); // (.56418958354775628695) https://oeis.org/A087197
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:54:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    54 | inline constexpr T sqrt2_v      = T(0x1.6a09e667f3bcdP+0); // (1.4142135623730950488) https://oeis.org/A00219
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:56:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    56 | inline constexpr T inv_sqrt2_v  = T(0x1.6a09e667f3bcdP-1); // (.70710678118654752440)
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:58:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    58 | inline constexpr T sqrt3_v      = T(0x1.bb67ae8584caaP+0); // (1.7320508075688772935) https://oeis.org/A002194
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:60:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    60 | inline constexpr T inv_sqrt3_v  = T(0x1.279a74590331cP-1); // (.57735026918962576451)
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:62:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    62 | inline constexpr T phi_v        = T(0x1.9e3779b97f4a8P+0); // (1.6180339887498948482) https://oeis.org/A001622
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:64:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    64 | inline constexpr double e          = e_v<double>;
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:65:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    65 | inline constexpr double egamma     = egamma_v<double>;
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:66:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    66 | inline constexpr double ln2        = ln2_v<double>;
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:67:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    67 | inline constexpr double ln10       = ln10_v<double>;
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:68:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    68 | inline constexpr double log2e      = log2e_v<double>;
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:69:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    69 | inline constexpr double log10e     = log10e_v<double>;
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:70:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    70 | inline constexpr double pi         = pi_v<double>;
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:71:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    71 | inline constexpr double inv_pi     = inv_pi_v<double>;
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:72:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    72 | inline constexpr double inv_sqrtpi = inv_sqrtpi_v<double>;
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:73:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    73 | inline constexpr double sqrt2      = sqrt2_v<double>;
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:74:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    74 | inline constexpr double inv_sqrt2  = inv_sqrt2_v<double>;
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:75:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    75 | inline constexpr double sqrt3      = sqrt3_v<double>;
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:76:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    76 | inline constexpr double inv_sqrt3  = inv_sqrt3_v<double>;
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:77:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |    77 | inline constexpr double phi        = phi_v<double>;
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:149:39: warning: 'static_assert' with no message is a C++17 extension [-Wc++17-extensions]
# |   149 |   static_assert(!std::is_function_v<T>);
# |       |                                       ^
# |       |                                       , ""
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:156:16: error: no template named 'invoke_result_t' in namespace 'std'; did you mean '_Invoke_result_t'?
# |   156 | constexpr std::invoke_result_t<FnT, ArgsT...>
# |       |           ~~~~~^~~~~~~~~~~~~~~
# |       |                _Invoke_result_t
# | C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\type_traits:1821:1: note: '_Invoke_result_t' declared here
# |  1821 | using _Invoke_result_t = typename _Select_invoke_traits<_Callable, _Args...>::type;
# |       | ^
# | In file included from C:\_work\llvm-project\llvm-project\clang\test\Instrumentor/UnreachableRT.cpp:13:
# | In file included from C:\_work\llvm-project\llvm-project\llvm/include\llvm/Support/raw_ostream.h:17:
# | In file included from C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/StringRef.h:13:
# | In file included from C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLFunctionalExtras.h:18:
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:158:15: error: no member named 'apply' in namespace 'std'
# |   158 |   return std::apply(std::forward<FnT>(Fn),
# |       |               ^~~~~
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:187:16: error: no template named 'optional' in namespace 'std'
# |   187 | constexpr std::optional<remove_cvref_t<std::invoke_result_t<Function, Value>>>
# |       |           ~~~~~^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:187:45: error: no template named 'invoke_result_t' in namespace 'std'; did you mean '_Invoke_result_t'?
# |   187 | constexpr std::optional<remove_cvref_t<std::invoke_result_t<Function, Value>>>
# |       |                                        ~~~~~^~~~~~~~~~~~~~~
# |       |                                             _Invoke_result_t
# | C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\type_traits:1821:1: note: '_Invoke_result_t' declared here
# |  1821 | using _Invoke_result_t = typename _Select_invoke_traits<_Callable, _Args...>::type;
# |       | ^
# | In file included from C:\_work\llvm-project\llvm-project\clang\test\Instrumentor/UnreachableRT.cpp:13:
# | In file included from C:\_work\llvm-project\llvm-project\llvm/include\llvm/Support/raw_ostream.h:17:
# | In file included from C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/StringRef.h:13:
# | In file included from C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLFunctionalExtras.h:18:
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:192:15: error: no member named 'nullopt' in namespace 'std'
# |   192 |   return std::nullopt;
# |       |               ^~~~~~~
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:206:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
# |   206 | inline constexpr from_range_t from_range{};
# |       | ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:230:11: error: 'auto' not allowed in template parameter until C++17
# |   230 | template <auto ConstFn> struct FnConstant {
# |       |           ^~~~
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:264:8: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
# |   264 |     if constexpr (BindFront)
# |       |        ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:274:8: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
# |   274 |     if constexpr (BindFront)
# |       |        ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:300:11: error: 'auto' not allowed in template parameter until C++17
# |   300 | template <auto ConstFn, typename... BindArgsT>
# |       |           ^~~~
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:303:6: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
# |   303 |   if constexpr (std::is_pointer_v<decltype(ConstFn)> ||
# |       |      ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:305:37: warning: 'static_assert' with no message is a C++17 extension [-Wc++17-extensions]
# |   305 |     static_assert(ConstFn != nullptr);
# |       |                                     ^
# |       |                                     , ""
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:329:11: error: 'auto' not allowed in template parameter until C++17
# |   329 | template <auto ConstFn, typename... BindArgsT>
# |       |           ^~~~
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:332:6: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
# |   332 |   if constexpr (std::is_pointer_v<decltype(ConstFn)> ||
# |       |      ^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/STLForwardCompat.h:334:37: warning: 'static_assert' with no message is a C++17 extension [-Wc++17-extensions]
# |   334 |     static_assert(ConstFn != nullptr);
# |       |                                     ^
# |       |                                     , ""
# | In file included from C:\_work\llvm-project\llvm-project\clang\test\Instrumentor/UnreachableRT.cpp:13:
# | In file included from C:\_work\llvm-project\llvm-project\llvm/include\llvm/Support/raw_ostream.h:17:
# | In file included from C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/StringRef.h:14:
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/iterator_range.h:63:1: error: a type specifier is required for all declarations
# |    63 | iterator_range(Container &&)
# |       | ^
# | In file included from C:\_work\llvm-project\llvm-project\clang\test\Instrumentor/UnreachableRT.cpp:13:
# | In file included from C:\_work\llvm-project\llvm-project\llvm/include\llvm/Support/raw_ostream.h:17:
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/StringRef.h:106:41: error: no type named 'string_view' in namespace 'std'
# |   106 |   /*implicit*/ constexpr StringRef(std::string_view Str)
# |       |                                    ~~~~~^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/StringRef.h:248:27: error: no type named 'string_view' in namespace 'std'
# |   248 |   constexpr operator std::string_view() const {
# |       |                      ~~~~~^
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/StringRef.h:94:30: error: no member named 'string_view' in namespace 'std'
# |    94 |       : StringRef(Str ? std::string_view(Str) : std::string_view()) {}
# |       |                              ^~~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/StringRef.h:94:54: error: no member named 'string_view' in namespace 'std'
# |    94 |       : StringRef(Str ? std::string_view(Str) : std::string_view()) {}
# |       |                                                      ^~~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/StringRef.h:290:17: error: no member named 'string_view' in namespace 'std'
# |   290 |     return std::string_view(*this).find(C, From);
# |       |                 ^~~~~~~~~~~
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/StringRef.h:344:26: error: no member named 'not_fn' in namespace 'std'
# |   344 |     return rfind_if(std::not_fn(F), End);
# |       |                          ^~~~~~
# | C:\_work\llvm-project\llvm-project\llvm/include\llvm/ADT/StringRef.h:655:10: error: use of undeclared identifier 'starts_with'
# |   655 |     if (!starts_with(Prefix))
# |       |          ^~~~~~~~~~~
# | fatal error: too many errors emitted, stopping now [-ferror-limit=]
# | 38 warnings and 20 errors generated.
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/195408


More information about the llvm-branch-commits mailing list