Skip to content

Commit 51eb34b

Browse files
authored
Merge pull request swiftlang#15088 from apple/master-llvm-swift5-transition
Swift changes require for updating stable branch
2 parents 2608726 + 8ace18c commit 51eb34b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+169
-165
lines changed

cmake/modules/AddSwift.cmake

Lines changed: 28 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,29 @@ function(_add_variant_c_compile_link_flags)
100100

101101
set(result ${${CFLAGS_RESULT_VAR_NAME}})
102102

103+
is_darwin_based_sdk("${CFLAGS_SDK}" IS_DARWIN)
104+
if(IS_DARWIN)
105+
# Check if there's a specific OS deployment version needed for this invocation
106+
if("${CFLAGS_SDK}" STREQUAL "OSX")
107+
set(DEPLOYMENT_VERSION ${CFLAGS_DEPLOYMENT_VERSION_OSX})
108+
elseif("${CFLAGS_SDK}" STREQUAL "IOS" OR "${CFLAGS_SDK}" STREQUAL "IOS_SIMULATOR")
109+
set(DEPLOYMENT_VERSION ${CFLAGS_DEPLOYMENT_VERSION_IOS})
110+
elseif("${CFLAGS_SDK}" STREQUAL "TVOS" OR "${CFLAGS_SDK}" STREQUAL "TVOS_SIMULATOR")
111+
set(DEPLOYMENT_VERSION ${CFLAGS_DEPLOYMENT_VERSION_TVOS})
112+
elseif("${CFLAGS_SDK}" STREQUAL "WATCHOS" OR "${CFLAGS_SDK}" STREQUAL "WATCHOS_SIMULATOR")
113+
set(DEPLOYMENT_VERSION ${CFLAGS_DEPLOYMENT_VERSION_WATCHOS})
114+
endif()
115+
116+
if("${DEPLOYMENT_VERSION}" STREQUAL "")
117+
set(DEPLOYMENT_VERSION "${SWIFT_SDK_${CFLAGS_SDK}_DEPLOYMENT_VERSION}")
118+
endif()
119+
endif()
120+
103121
# MSVC and clang-cl don't understand -target.
104122
if (NOT SWIFT_COMPILER_IS_MSVC_LIKE)
105-
list(APPEND result "-target" "${SWIFT_SDK_${CFLAGS_SDK}_ARCH_${CFLAGS_ARCH}_TRIPLE}")
123+
list(APPEND result "-target" "${SWIFT_SDK_${CFLAGS_SDK}_ARCH_${CFLAGS_ARCH}_TRIPLE}${DEPLOYMENT_VERSION}")
106124
endif()
107125

108-
is_darwin_based_sdk("${CFLAGS_SDK}" IS_DARWIN)
109126
if(IS_DARWIN)
110127
list(APPEND result "-isysroot" "${SWIFT_SDK_${CFLAGS_SDK}_PATH}")
111128
elseif(NOT SWIFT_COMPILER_IS_MSVC_LIKE AND NOT "${SWIFT_SDK_${CFLAGS_SDK}_PATH}" STREQUAL "/")
@@ -120,21 +137,6 @@ function(_add_variant_c_compile_link_flags)
120137
endif()
121138

122139
if(IS_DARWIN)
123-
# Check if there's a specific OS deployment version needed for this invocation
124-
if("${CFLAGS_SDK}" STREQUAL "OSX")
125-
set(DEPLOYMENT_VERSION ${CFLAGS_DEPLOYMENT_VERSION_OSX})
126-
elseif("${CFLAGS_SDK}" STREQUAL "IOS" OR "${CFLAGS_SDK}" STREQUAL "IOS_SIMULATOR")
127-
set(DEPLOYMENT_VERSION ${CFLAGS_DEPLOYMENT_VERSION_IOS})
128-
elseif("${CFLAGS_SDK}" STREQUAL "TVOS" OR "${CFLAGS_SDK}" STREQUAL "TVOS_SIMULATOR")
129-
set(DEPLOYMENT_VERSION ${CFLAGS_DEPLOYMENT_VERSION_TVOS})
130-
elseif("${CFLAGS_SDK}" STREQUAL "WATCHOS" OR "${CFLAGS_SDK}" STREQUAL "WATCHOS_SIMULATOR")
131-
set(DEPLOYMENT_VERSION ${CFLAGS_DEPLOYMENT_VERSION_WATCHOS})
132-
endif()
133-
134-
if("${DEPLOYMENT_VERSION}" STREQUAL "")
135-
set(DEPLOYMENT_VERSION "${SWIFT_SDK_${CFLAGS_SDK}_DEPLOYMENT_VERSION}")
136-
endif()
137-
138140
list(APPEND result
139141
"-arch" "${CFLAGS_ARCH}"
140142
"-F" "${SWIFT_SDK_${CFLAGS_SDK}_PATH}/../../../Developer/Library/Frameworks"
@@ -297,16 +299,19 @@ function(_add_variant_swift_compile_flags
297299
list(APPEND result "-sdk" "${SWIFT_SDK_${sdk}_PATH}")
298300
endif()
299301

300-
if(BUILD_STANDALONE)
302+
is_darwin_based_sdk("${sdk}" IS_DARWIN)
303+
if(IS_DARWIN)
301304
list(APPEND result
302-
"-target" "${SWIFT_SDK_${sdk}_ARCH_${arch}_TRIPLE}")
305+
"-target" "${SWIFT_SDK_${sdk}_ARCH_${arch}_TRIPLE}${SWIFT_SDK_${sdk}_DEPLOYMENT_VERSION}")
303306
else()
304307
list(APPEND result
305-
"-target" "${SWIFT_SDK_${sdk}_ARCH_${arch}_TRIPLE}"
306-
"-resource-dir" "${SWIFTLIB_DIR}")
308+
"-target" "${SWIFT_SDK_${sdk}_ARCH_${arch}_TRIPLE}")
309+
endif()
310+
311+
if(NOT BUILD_STANDALONE)
312+
list(APPEND result "-resource-dir" "${SWIFTLIB_DIR}")
307313
endif()
308314

309-
is_darwin_based_sdk("${sdk}" IS_DARWIN)
310315
if(IS_DARWIN)
311316
list(APPEND result
312317
"-F" "${SWIFT_SDK_${sdk}_PATH}/../../../Developer/Library/Frameworks")
@@ -2002,7 +2007,7 @@ function(_add_swift_executable_single name)
20022007
BINARY_DIR ${SWIFT_RUNTIME_OUTPUT_INTDIR}
20032008
LIBRARY_DIR ${SWIFT_LIBRARY_OUTPUT_INTDIR})
20042009

2005-
target_link_libraries("${name}" ${SWIFTEXE_SINGLE_LINK_LIBRARIES} ${SWIFTEXE_SINGLE_LINK_FAT_LIBRARIES})
2010+
target_link_libraries("${name}" PRIVATE ${SWIFTEXE_SINGLE_LINK_LIBRARIES} ${SWIFTEXE_SINGLE_LINK_FAT_LIBRARIES})
20062011
swift_common_llvm_config("${name}" ${SWIFTEXE_SINGLE_LLVM_COMPONENT_DEPENDS})
20072012

20082013
set_target_properties(${name}

cmake/modules/SwiftConfigureSDK.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ macro(configure_sdk_darwin
123123

124124
foreach(arch ${architectures})
125125
set(SWIFT_SDK_${prefix}_ARCH_${arch}_TRIPLE
126-
"${arch}-apple-${SWIFT_SDK_${prefix}_TRIPLE_NAME}${SWIFT_SDK_${prefix}_DEPLOYMENT_VERSION}")
126+
"${arch}-apple-${SWIFT_SDK_${prefix}_TRIPLE_NAME}")
127127
endforeach()
128128

129129
# Add this to the list of known SDKs.
@@ -141,7 +141,7 @@ macro(configure_sdk_unix
141141
set(SWIFT_SDK_${prefix}_PATH "${sdkpath}")
142142
set(SWIFT_SDK_${prefix}_VERSION "don't use")
143143
set(SWIFT_SDK_${prefix}_BUILD_NUMBER "don't use")
144-
set(SWIFT_SDK_${prefix}_DEPLOYMENT_VERSION "don't use")
144+
set(SWIFT_SDK_${prefix}_DEPLOYMENT_VERSION "")
145145
set(SWIFT_SDK_${prefix}_LIB_SUBDIR "${lib_subdir}")
146146
set(SWIFT_SDK_${prefix}_VERSION_MIN_NAME "")
147147
set(SWIFT_SDK_${prefix}_TRIPLE_NAME "${triple_name}")
@@ -171,7 +171,7 @@ macro(configure_sdk_windows prefix sdk_name environment architectures)
171171
set(SWIFT_SDK_${prefix}_PATH "/")
172172
set(SWIFT_SDK_${prefix}_VERSION "NOTFOUND")
173173
set(SWIFT_SDK_${prefix}_BUILD_NUMBER "NOTFOUND")
174-
set(SWIFT_SDK_${prefix}_DEPLOYMENT_VERSION "NOTFOUND")
174+
set(SWIFT_SDK_${prefix}_DEPLOYMENT_VERSION "")
175175
set(SWIFT_SDK_${prefix}_LIB_SUBDIR "windows")
176176
set(SWIFT_SDK_${prefix}_VERSION_MIN_NAME "NOTFOUND")
177177
set(SWIFT_SDK_${prefix}_TRIPLE_NAME "Win32")

cmake/modules/SwiftSharedCMakeConfig.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ function(swift_common_llvm_config target)
309309
else()
310310
# HACK: Otherwise (for example, for executables), use a plain signature,
311311
# because LLVM CMake does that already.
312-
target_link_libraries("${target}" ${libnames})
312+
target_link_libraries("${target}" PRIVATE ${libnames})
313313
endif()
314314
else()
315315
# If Swift was not built standalone, dispatch to 'llvm_config()'.

include/swift/AST/ConcreteDeclRef.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ class ConcreteDeclRef {
7171

7272
llvm::PointerUnion<ValueDecl *, SpecializedDeclRef *> Data;
7373

74-
friend class llvm::PointerLikeTypeTraits<ConcreteDeclRef>;
74+
friend struct llvm::PointerLikeTypeTraits<ConcreteDeclRef>;
7575

7676
public:
7777
/// Create an empty declaration reference.
@@ -140,7 +140,7 @@ class ConcreteDeclRef {
140140
} // end namespace swift
141141

142142
namespace llvm {
143-
template<> class PointerLikeTypeTraits<swift::ConcreteDeclRef> {
143+
template<> struct PointerLikeTypeTraits<swift::ConcreteDeclRef> {
144144
typedef llvm::PointerUnion<swift::ValueDecl *,
145145
swift::ConcreteDeclRef::SpecializedDeclRef *>
146146
DataPointer;

include/swift/AST/Identifier.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -191,9 +191,9 @@ namespace llvm {
191191
};
192192

193193
// An Identifier is "pointer like".
194-
template<typename T> class PointerLikeTypeTraits;
194+
template<typename T> struct PointerLikeTypeTraits;
195195
template<>
196-
class PointerLikeTypeTraits<swift::Identifier> {
196+
struct PointerLikeTypeTraits<swift::Identifier> {
197197
public:
198198
static inline void *getAsVoidPointer(swift::Identifier I) {
199199
return const_cast<void *>(I.getAsOpaquePointer());
@@ -333,8 +333,8 @@ template<> struct DenseMapInfo<swift::DeclBaseName> {
333333
};
334334

335335
// A DeclBaseName is "pointer like".
336-
template <typename T> class PointerLikeTypeTraits;
337-
template <> class PointerLikeTypeTraits<swift::DeclBaseName> {
336+
template <typename T> struct PointerLikeTypeTraits;
337+
template <> struct PointerLikeTypeTraits<swift::DeclBaseName> {
338338
public:
339339
static inline void *getAsVoidPointer(swift::DeclBaseName D) {
340340
return const_cast<void *>(D.getAsOpaquePointer());
@@ -687,9 +687,9 @@ class ObjCSelector {
687687

688688
namespace llvm {
689689
// A DeclName is "pointer like".
690-
template<typename T> class PointerLikeTypeTraits;
690+
template<typename T> struct PointerLikeTypeTraits;
691691
template<>
692-
class PointerLikeTypeTraits<swift::DeclName> {
692+
struct PointerLikeTypeTraits<swift::DeclName> {
693693
public:
694694
static inline void *getAsVoidPointer(swift::DeclName name) {
695695
return name.getOpaqueValue();
@@ -717,9 +717,9 @@ namespace llvm {
717717
};
718718

719719
// An ObjCSelector is "pointer like".
720-
template<typename T> class PointerLikeTypeTraits;
720+
template<typename T> struct PointerLikeTypeTraits;
721721
template<>
722-
class PointerLikeTypeTraits<swift::ObjCSelector> {
722+
struct PointerLikeTypeTraits<swift::ObjCSelector> {
723723
public:
724724
static inline void *getAsVoidPointer(swift::ObjCSelector name) {
725725
return name.getOpaqueValue();

include/swift/AST/LayoutConstraint.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ template <> struct DenseMapInfo<swift::LayoutConstraint> {
395395
};
396396

397397
// A LayoutConstraint is "pointer like".
398-
template <> class PointerLikeTypeTraits<swift::LayoutConstraint> {
398+
template <> struct PointerLikeTypeTraits<swift::LayoutConstraint> {
399399
public:
400400
static inline void *getAsVoidPointer(swift::LayoutConstraint I) {
401401
return (void *)I.getPointer();

include/swift/AST/Type.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -674,7 +674,7 @@ namespace llvm {
674674

675675
// A Type is "pointer like".
676676
template<>
677-
class PointerLikeTypeTraits<swift::Type> {
677+
struct PointerLikeTypeTraits<swift::Type> {
678678
public:
679679
static inline void *getAsVoidPointer(swift::Type I) {
680680
return (void*)I.getPointer();
@@ -686,7 +686,7 @@ namespace llvm {
686686
};
687687

688688
template<>
689-
class PointerLikeTypeTraits<swift::CanType> :
689+
struct PointerLikeTypeTraits<swift::CanType> :
690690
public PointerLikeTypeTraits<swift::Type> {
691691
public:
692692
static inline swift::CanType getFromVoidPointer(void *P) {
@@ -695,7 +695,7 @@ namespace llvm {
695695
};
696696

697697
template<>
698-
class PointerLikeTypeTraits<swift::CanGenericSignature> {
698+
struct PointerLikeTypeTraits<swift::CanGenericSignature> {
699699
public:
700700
static inline swift::CanGenericSignature getFromVoidPointer(void *P) {
701701
return swift::CanGenericSignature((swift::GenericSignature*)P);

include/swift/AST/TypeAlignments.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,14 @@ namespace llvm {
7272
}
7373
};
7474

75-
template <class T> class PointerLikeTypeTraits;
75+
template <class T> struct PointerLikeTypeTraits;
7676
}
7777

7878
/// Declare the expected alignment of pointers to the given type.
7979
/// This macro should be invoked from a top-level file context.
8080
#define LLVM_DECLARE_TYPE_ALIGNMENT(CLASS, ALIGNMENT) \
8181
namespace llvm { \
82-
template <> class PointerLikeTypeTraits<CLASS*> \
82+
template <> struct PointerLikeTypeTraits<CLASS*> \
8383
: public MoreAlignedPointerTraits<CLASS, ALIGNMENT> {}; \
8484
}
8585

include/swift/Basic/DiverseStack.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,7 @@ template <class T> class DiverseStackImpl : private DiverseStackBase {
378378
/// Allow stable_iterators to be put in things like TinyPtrVectors.
379379
namespace llvm {
380380
template <>
381-
class PointerLikeTypeTraits<
381+
struct PointerLikeTypeTraits<
382382
swift::DiverseStackBase::stable_iterator::AsPointer> {
383383
using AsPointer = swift::DiverseStackBase::stable_iterator::AsPointer;
384384
public:

include/swift/Basic/FlaggedPointer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ class FlaggedPointer {
152152

153153
// Teach SmallPtrSet that FlaggedPointer is "basically a pointer".
154154
template <typename PointerTy, unsigned BitPosition, typename PtrTraits>
155-
class llvm::PointerLikeTypeTraits<
155+
struct llvm::PointerLikeTypeTraits<
156156
swift::FlaggedPointer<PointerTy, BitPosition, PtrTraits>> {
157157
public:
158158
static inline void *

0 commit comments

Comments
 (0)