mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
This patch fixes the location of the llvm remote inspection headers for MSVC header lookup. MSVC appears to search in the directory of the current header before returning to the specified header search directories. When building SwiftRemoteMirror, the file contains a reference to `swift/RemoteInspection/ReflectionContext.h`. Under RelfectionContext.h, there is an include of "llvm/BinaryFormat/COFF.h". Because there is an `llvm` and `llvm-c` directory inside of `swift/RemoteInspection/`, and `ReflectionContext.h` is in that directory, MSVC is expanding the `COFF.h` inside of the RemoteInspection headers instead of the copy in LLVM itself, resulting in eventually finding usages of `countPopulation` instead of using the new `llvm::popcount` API, ultimately resulting in a build failure. The fix is to ensure that the `llvm` header directory does not live immediately next to the headers in RemoteInspection, but instead offset them by one. The LLVM headers copied into RemoteInspection are supposed to be used when compiling the runtime libraries, so I chose the name "RuntimeHeaders".
25 lines
663 B
C++
25 lines
663 B
C++
//===-- llvm/BinaryFormat/Swift.h ---Swift Constants-------------*- C++ -*-===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
|
|
#ifndef LLVM_BINARYFORMAT_SWIFT_H
|
|
#define LLVM_BINARYFORMAT_SWIFT_H
|
|
|
|
namespace llvm {
|
|
namespace binaryformat {
|
|
|
|
enum Swift5ReflectionSectionKind {
|
|
#define HANDLE_SWIFT_SECTION(KIND, MACHO, ELF, COFF) KIND,
|
|
#include "llvm/BinaryFormat/Swift.def"
|
|
#undef HANDLE_SWIFT_SECTION
|
|
unknown,
|
|
last = unknown
|
|
};
|
|
} // end of namespace binaryformat
|
|
} // end of namespace llvm
|
|
|
|
#endif
|