Skip to content

Commit

Permalink
[Shims] Include SwiftShims headers without ../
Browse files Browse the repository at this point in the history
This replaces a number of `#include`-s like this:
```
#include "../../../stdlib/public/SwiftShims/Visibility.h"
```
with this:
```
#include "swift/shims/Visibility.h"
```

This is needed to allow SwiftCompilerSources to use C++ headers which include SwiftShims headers. Currently trying to do that results in errors:
```
swift/swift/include/swift/Demangling/../../../stdlib/public/SwiftShims/module.modulemap:1:8: error: redefinition of module 'SwiftShims'
module SwiftShims {
       ^
Builds.noindex/swift/swift/bootstrapping0/lib/swift/shims/module.modulemap:1:8: note: previously defined here
module SwiftShims {
       ^
```
This happens because the headers in both the source dir and the build dir refer to SwiftShims headers by relative path, and both the source root and the build root contain SwiftShims headers (which are equivalent, but since they are located in different dirs, Clang treats them as different modules).
  • Loading branch information
egorzhdan committed Sep 14, 2022
1 parent 435af14 commit 84a1ffc
Show file tree
Hide file tree
Showing 99 changed files with 84 additions and 82 deletions.
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -735,6 +735,7 @@ get_filename_component(SWIFT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} REALPATH)
set(SWIFT_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}")
set(SWIFT_CMAKE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
set(SWIFT_MAIN_INCLUDE_DIR "${SWIFT_SOURCE_DIR}/include")
set(SWIFT_SHIMS_INCLUDE_DIR "${SWIFT_SOURCE_DIR}/stdlib/public/SwiftShims")
set(SWIFT_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/include")

set(SWIFT_RUNTIME_OUTPUT_INTDIR "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin")
Expand Down Expand Up @@ -785,6 +786,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
include_directories(BEFORE
${SWIFT_MAIN_INCLUDE_DIR}
${SWIFT_INCLUDE_DIR}
${SWIFT_SHIMS_INCLUDE_DIR}
)

# Configuration flags passed to all of our invocations of gyb. Try to
Expand Down
2 changes: 1 addition & 1 deletion cmake/modules/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ set(SWIFT_CONFIG_EXPORTS ${SWIFT_EXPORTS} ${SWIFT_BUILDTREE_EXPORTS})
export(TARGETS ${SWIFT_CONFIG_EXPORTS} FILE ${SWIFT_EXPORTS_FILE})


set(SWIFT_INCLUDE_DIRS ${SWIFT_INCLUDE_DIR} ${SWIFT_MAIN_INCLUDE_DIR})
set(SWIFT_INCLUDE_DIRS ${SWIFT_INCLUDE_DIR} ${SWIFT_MAIN_INCLUDE_DIR} ${SWIFT_SHIMS_INCLUDE_DIR})
set(SWIFT_LIBRARY_DIRS ${SWIFT_LIBRARY_OUTPUT_INTDIR})

configure_file(
Expand Down
2 changes: 1 addition & 1 deletion include/swift/ABI/HeapObject.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@
#ifndef SWIFT_ABI_HEAPOBJECT_H
#define SWIFT_ABI_HEAPOBJECT_H

#include "../../../stdlib/public/SwiftShims/HeapObject.h"
#include "swift/shims/HeapObject.h"

#endif // SWIFT_ABI_HEAPOBJECT_H
2 changes: 1 addition & 1 deletion include/swift/ABI/KeyPath.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

#include <cstdint>
#include <cassert>
#include "../../../stdlib/public/SwiftShims/KeyPath.h"
#include "swift/shims/KeyPath.h"

namespace swift {

Expand Down
2 changes: 1 addition & 1 deletion include/swift/ABI/Metadata.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
#include "swift/Demangling/Demangle.h"
#include "swift/Demangling/ManglingMacros.h"
#include "swift/Basic/Unreachable.h"
#include "../../../stdlib/public/SwiftShims/HeapObject.h"
#include "swift/shims/HeapObject.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/Casting.h"

Expand Down
2 changes: 1 addition & 1 deletion include/swift/ABI/System.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@
#ifndef SWIFT_ABI_SYSTEM_H
#define SWIFT_ABI_SYSTEM_H

#include "../../../stdlib/public/SwiftShims/System.h"
#include "swift/shims/System.h"

#endif // SWIFT_ABI_SYSTEM_H
2 changes: 1 addition & 1 deletion include/swift/Demangling/Errors.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
#ifndef SWIFT_DEMANGLING_ERRORS_H
#define SWIFT_DEMANGLING_ERRORS_H

#include "../../../stdlib/public/SwiftShims/Visibility.h"
#include "swift/Demangling/NamespaceMacros.h"
#include "swift/shims/Visibility.h"
#include <inttypes.h>
#include <stdarg.h>

Expand Down
2 changes: 1 addition & 1 deletion include/swift/Runtime/Config.h
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ extern uintptr_t __COMPATIBILITY_LIBRARIES_CANNOT_CHECK_THE_IS_SWIFT_BIT_DIRECTL
#endif

// Bring in visibility attribute macros
#include "../../../stdlib/public/SwiftShims/Visibility.h"
#include "swift/shims/Visibility.h"

// Define mappings for calling conventions.

Expand Down
2 changes: 1 addition & 1 deletion include/swift/Runtime/Heap.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
#include <utility>

#include "swift/Runtime/Config.h"
#include "../../../stdlib/public/SwiftShims/Visibility.h"
#include "swift/shims/Visibility.h"

namespace swift {
// Allocate plain old memory. This is the generalized entry point
Expand Down
4 changes: 2 additions & 2 deletions include/swift/Runtime/HeapObject.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
#endif // SWIFT_OBJC_INTEROP

// Bring in the definition of HeapObject
#include "../../../stdlib/public/SwiftShims/HeapObject.h"
#include "../../../stdlib/public/SwiftShims/Visibility.h"
#include "swift/shims/HeapObject.h"
#include "swift/shims/Visibility.h"

namespace swift {

Expand Down
2 changes: 1 addition & 1 deletion include/swift/Runtime/Metadata.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
#include "swift/ABI/Metadata.h"
#include "swift/Reflection/Records.h"
#include "swift/Runtime/Once.h"
#include "../../../stdlib/public/SwiftShims/Visibility.h"
#include "swift/shims/Visibility.h"

namespace swift {

Expand Down
2 changes: 1 addition & 1 deletion lib/Demangling/CrashReporter.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
#if SWIFT_HAVE_CRASHREPORTERCLIENT

// For SWIFT_LIBRARY_VISIBILITY
#include "../../stdlib/public/SwiftShims/Visibility.h"
#include "swift/shims/Visibility.h"

#include <inttypes.h>

Expand Down
2 changes: 1 addition & 1 deletion stdlib/linker-support/magic-symbols-for-install-name.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

#include <Availability.h>
#include <TargetConditionals.h>
#include "../public/SwiftShims/Visibility.h"
#include "swift/shims/Visibility.h"

#define RPATH_INSTALL_NAME_DIRECTIVE_IMPL2(name, major, minor) \
SWIFT_RUNTIME_EXPORT const char install_name_ ## major ## _ ## minor \
Expand Down
2 changes: 1 addition & 1 deletion stdlib/public/BackDeployConcurrency/Error.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

#include "swift/Basic/Compiler.h"

#include "../SwiftShims/Visibility.h"
#include "swift/shims/Visibility.h"
#include <cstdarg>
#include <cstdint>
#include <cstdlib>
Expand Down
2 changes: 1 addition & 1 deletion stdlib/public/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ if(CXX_SUPPORTS_EXIT_TIME_DESTRUCTORS_WARNING)
"-Werror=exit-time-destructors")
endif()

add_subdirectory(SwiftShims)
add_subdirectory(SwiftShims/swift/shims)
add_subdirectory(CommandLineSupport)
add_subdirectory(Threading)

Expand Down
6 changes: 3 additions & 3 deletions stdlib/public/CommandLineSupport/CommandLine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@

#include "swift/Runtime/Debug.h"

#include "../SwiftShims/GlobalObjects.h"
#include "../SwiftShims/RuntimeStubs.h"
#include "../SwiftShims/Visibility.h"
#include "swift/shims/GlobalObjects.h"
#include "swift/shims/RuntimeStubs.h"
#include "swift/shims/Visibility.h"

#if defined(_WIN32)
#define WIN32_LEAN_AND_MEAN
Expand Down
2 changes: 1 addition & 1 deletion stdlib/public/Concurrency/Error.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

#include "swift/Basic/Compiler.h"

#include "../SwiftShims/Visibility.h"
#include "swift/shims/Visibility.h"
#include <cstdarg>
#include <cstdint>
#include <cstdlib>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

#include <Availability.h>
#include <TargetConditionals.h>
#include "../../SwiftShims/Visibility.h"
#include "swift/shims/Visibility.h"

#define RPATH_INSTALL_NAME_DIRECTIVE_IMPL2(name, major, minor) \
SWIFT_RUNTIME_EXPORT const char install_name_ ## major ## _ ## minor \
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion stdlib/public/runtime/AnyHashableSupport.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
//
//===----------------------------------------------------------------------===//

#include "../SwiftShims/Visibility.h"
#include "Private.h"
#include "SwiftHashableSupport.h"
#include "SwiftValue.h"
Expand All @@ -20,6 +19,7 @@
#include "swift/Runtime/Config.h"
#include "swift/Runtime/Debug.h"
#include "swift/Runtime/HeapObject.h"
#include "swift/shims/Visibility.h"

#include <new>

Expand Down
2 changes: 1 addition & 1 deletion stdlib/public/runtime/Bincompat.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
#include "swift/Runtime/Debug.h"
#include "swift/Runtime/EnvironmentVariables.h"
#include "swift/Threading/Once.h"
#include "../SwiftShims/RuntimeShims.h"
#include "swift/shims/RuntimeShims.h"
#include <stdint.h>

// If this is an Apple OS, use the Apple binary compatibility rules
Expand Down
4 changes: 2 additions & 2 deletions stdlib/public/runtime/Casting.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@

#include "swift/Runtime/Casting.h"
#include "../CompatibilityOverride/CompatibilityOverride.h"
#include "../SwiftShims/GlobalObjects.h"
#include "../SwiftShims/RuntimeShims.h"
#include "ErrorObject.h"
#include "ExistentialMetadataImpl.h"
#include "Private.h"
Expand All @@ -32,6 +30,8 @@
#include "swift/Runtime/ExistentialContainer.h"
#include "swift/Runtime/HeapObject.h"
#include "swift/Runtime/Metadata.h"
#include "swift/shims/GlobalObjects.h"
#include "swift/shims/RuntimeShims.h"
#include "swift/Threading/Mutex.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/PointerIntPair.h"
Expand Down
2 changes: 1 addition & 1 deletion stdlib/public/runtime/Exclusivity.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#endif

#include "swift/Runtime/Exclusivity.h"
#include "../SwiftShims/Visibility.h"
#include "swift/shims/Visibility.h"
#include "SwiftTLSContext.h"
#include "swift/Basic/Lazy.h"
#include "swift/Runtime/Config.h"
Expand Down
2 changes: 1 addition & 1 deletion stdlib/public/runtime/Float16Support.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
#if (defined(__ANDROID__) && defined(__ARM_ARCH_7A__) && defined(__ARM_EABI__)) || \
((defined(__i386__) || defined(__i686__) || defined(__x86_64__)) && !defined(__APPLE__))

#include "../SwiftShims/Visibility.h"
#include "swift/shims/Visibility.h"

static unsigned toEncoding(float f) {
unsigned e;
Expand Down
2 changes: 1 addition & 1 deletion stdlib/public/runtime/Heap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
#include "swift/Runtime/Heap.h"
#include "Private.h"
#include "swift/Runtime/Debug.h"
#include "../SwiftShims/RuntimeShims.h"
#include "swift/shims/RuntimeShims.h"
#include <algorithm>
#include <stdlib.h>
#if defined(__APPLE__) && SWIFT_STDLIB_HAS_DARWIN_LIBMALLOC
Expand Down
4 changes: 2 additions & 2 deletions stdlib/public/runtime/HeapObject.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,15 @@
#include "WeakReference.h"
#include "swift/Runtime/Debug.h"
#include "swift/Runtime/InstrumentsSupport.h"
#include "swift/shims/GlobalObjects.h"
#include "swift/shims/RuntimeShims.h"
#include <algorithm>
#include <cassert>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <new>
#include <thread>
#include "../SwiftShims/GlobalObjects.h"
#include "../SwiftShims/RuntimeShims.h"
#if SWIFT_OBJC_INTEROP
# include <objc/NSObject.h>
# include <objc/runtime.h>
Expand Down
4 changes: 2 additions & 2 deletions stdlib/public/runtime/ImageInspectionCommon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@

#if !defined(__MACH__)

#include "../SwiftShims/Visibility.h"
#include "../SwiftShims/MetadataSections.h"
#include "swift/shims/Visibility.h"
#include "swift/shims/MetadataSections.h"
#include "ImageInspection.h"
#include "swift/Basic/Lazy.h"
#include "swift/Runtime/Concurrent.h"
Expand Down
2 changes: 1 addition & 1 deletion stdlib/public/runtime/ImageInspectionCommon.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
#define SWIFT_REFLECTION_METADATA_ELF_NOTE_MAGIC_STRING "swift_reflection_metadata_magic_string"
#endif // defined(__ELF__)

#include "../SwiftShims/Visibility.h"
#include "swift/shims/Visibility.h"
#include <cstdint>
#include <cstddef>

Expand Down
2 changes: 1 addition & 1 deletion stdlib/public/runtime/ImageInspectionELF.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

#if defined(__ELF__)

#include "../SwiftShims/MetadataSections.h"
#include "swift/shims/MetadataSections.h"
#include "ImageInspection.h"
#include <dlfcn.h>

Expand Down
2 changes: 1 addition & 1 deletion stdlib/public/runtime/ImageInspectionWasm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

#if defined(__wasm__)

#include "../SwiftShims/MetadataSections.h"
#include "swift/shims/MetadataSections.h"
#include "ImageInspection.h"

using namespace swift;
Expand Down
2 changes: 1 addition & 1 deletion stdlib/public/runtime/Leaks.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

#if SWIFT_RUNTIME_ENABLE_LEAK_CHECKER

#include "../SwiftShims/Visibility.h"
#include "swift/shims/Visibility.h"

#include "swift/Runtime/Config.h"

Expand Down
2 changes: 1 addition & 1 deletion stdlib/public/runtime/MetadataCache.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
#include "swift/Runtime/Metadata.h"
#include "swift/Threading/Mutex.h"

#include "../SwiftShims/Visibility.h"
#include "swift/shims/Visibility.h"

#include "llvm/ADT/Hashing.h"
#include "llvm/ADT/STLExtras.h"
Expand Down
2 changes: 1 addition & 1 deletion stdlib/public/runtime/Private.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
#include "swift/Demangling/TypeLookupError.h"
#include "swift/Runtime/Config.h"
#include "swift/Runtime/Metadata.h"
#include "../SwiftShims/Visibility.h"
#include "swift/shims/Visibility.h"

#if defined(__APPLE__) && __has_include(<TargetConditionals.h>)
#include <TargetConditionals.h>
Expand Down
2 changes: 1 addition & 1 deletion stdlib/public/runtime/ReflectionMirror.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@

#ifdef SWIFT_ENABLE_REFLECTION

#include "../SwiftShims/Reflection.h"
#include "ImageInspection.h"
#include "Private.h"
#include "WeakReference.h"
Expand All @@ -27,6 +26,7 @@
#include "swift/Runtime/Metadata.h"
#include "swift/Runtime/Portability.h"
#include "swift/Runtime/Reflection.h"
#include "swift/shims/Reflection.h"
#include <cassert>
#include <cinttypes>
#include <cstdio>
Expand Down
4 changes: 2 additions & 2 deletions stdlib/public/runtime/SwiftObject.mm
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
#include "swift/Runtime/ObjCBridge.h"
#include "swift/Runtime/Portability.h"
#include "swift/Strings.h"
#include "../SwiftShims/RuntimeShims.h"
#include "../SwiftShims/AssertionReporting.h"
#include "swift/shims/RuntimeShims.h"
#include "swift/shims/AssertionReporting.h"
#include "../CompatibilityOverride/CompatibilityOverride.h"
#include "ErrorObject.h"
#include "Private.h"
Expand Down
2 changes: 1 addition & 1 deletion stdlib/public/runtime/SwiftRT-COFF.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
//===----------------------------------------------------------------------===//

#include "ImageInspectionCommon.h"
#include "../SwiftShims/MetadataSections.h"
#include "swift/shims/MetadataSections.h"

#include <cstdint>
#include <new>
Expand Down
2 changes: 1 addition & 1 deletion stdlib/public/runtime/SwiftRT-ELF.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
//===----------------------------------------------------------------------===//

#include "ImageInspectionCommon.h"
#include "../SwiftShims/MetadataSections.h"
#include "swift/shims/MetadataSections.h"

#include <cstddef>
#include <new>
Expand Down
4 changes: 2 additions & 2 deletions stdlib/public/runtime/WeakReference.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
#ifndef SWIFT_RUNTIME_WEAKREFERENCE_H
#define SWIFT_RUNTIME_WEAKREFERENCE_H

#include "../../../stdlib/public/SwiftShims/Target.h"
#include "../SwiftShims/Visibility.h"
#include "swift/shims/Target.h"
#include "swift/shims/Visibility.h"
#include "swift/Runtime/Config.h"
#include "swift/Runtime/HeapObject.h"
#include "swift/Runtime/Metadata.h"
Expand Down
2 changes: 1 addition & 1 deletion stdlib/public/stubs/Assert.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#include "swift/Runtime/Config.h"
#include "swift/Runtime/Debug.h"
#include "swift/Runtime/Portability.h"
#include "SwiftShims/AssertionReporting.h"
#include "swift/shims/AssertionReporting.h"
#include <cstdarg>
#include <cstdint>
#include <stdio.h>
Expand Down

0 comments on commit 84a1ffc

Please sign in to comment.