Skip to content

Commit 5d17d4d

Browse files
author
Raj Barik
committed
---
yaml --- r: 245247 b: refs/heads/marcrasi-static-assert c: 97e9dde h: refs/heads/master i: 245245: 74718f9 245243: 0b672ea 245239: 456319f 245231: 81e04c6 245215: d09bc70 245183: 72a1b9b 245119: 9152d1e 244991: de59e08 244735: f43bb5c
1 parent 0a4571d commit 5d17d4d

File tree

170 files changed

+2112
-4330
lines changed

Some content is hidden

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

170 files changed

+2112
-4330
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1071,7 +1071,7 @@ refs/tags/swift-DEVELOPMENT-SNAPSHOT-2018-09-20-a: 37a08a7edae5cf9ebde7866dbc974
10711071
refs/tags/swift-DEVELOPMENT-SNAPSHOT-2018-09-21-a: a47bb052988de099ac2562a50cd1ee60a411e182
10721072
refs/tags/swift-DEVELOPMENT-SNAPSHOT-2018-09-22-a: 141f61f3c887a81aa5d7a66e843f5e5e9a31ca02
10731073
refs/heads/anotherdayanothercommit: 983c399b25b26d80728c0bf11b12afac852768f6
1074-
refs/heads/marcrasi-static-assert: d03a8cc9ce6fe236bf018be80d4371122ddf3bac
1074+
refs/heads/marcrasi-static-assert: 97e9dde6d7d182480c5d9c378109f623706522d7
10751075
refs/heads/revert-19500-updateValue-but-not-the-key: b4e27b110af0d7e3002b4f734a347f752d42b9a8
10761076
refs/tags/swift-4.2-DEVELOPMENT-SNAPSHOT-2018-09-25-a: 2ed7952ddd7ef765b60efd13e169ea900ebb5e80
10771077
refs/tags/swift-4.2-DEVELOPMENT-SNAPSHOT-2018-09-26-a: b7cbce34ef0921069091a65e5918640bb382a419

branches/marcrasi-static-assert/CMakeLists.txt

Lines changed: 44 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -639,52 +639,80 @@ endif()
639639

640640
if("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "LINUX")
641641

642+
set(CMAKE_EXECUTABLE_FORMAT "ELF")
642643
set(SWIFT_HOST_VARIANT "linux" CACHE STRING
643644
"Deployment OS for Swift host tools (the compiler) [linux].")
644645

646+
# Calculate the host triple
647+
if("${SWIFT_HOST_TRIPLE}" STREQUAL "")
648+
if("${SWIFT_HOST_VARIANT_ARCH}" STREQUAL "x86_64")
649+
set(SWIFT_HOST_TRIPLE "x86_64-unknown-linux-gnu")
650+
elseif("${SWIFT_HOST_VARIANT_ARCH}" STREQUAL "i686")
651+
set(SWIFT_HOST_TRIPLE "i686-unknown-linux-gnu")
652+
elseif("${SWIFT_HOST_VARIANT_ARCH}" STREQUAL "aarch64")
653+
set(SWIFT_HOST_TRIPLE "aarch64-unknown-linux-gnu")
654+
elseif("${SWIFT_HOST_VARIANT_ARCH}" MATCHES "(powerpc64|powerpc64le)")
655+
set(SWIFT_HOST_TRIPLE "${SWIFT_HOST_VARIANT_ARCH}-unknown-linux-gnu")
656+
elseif("${SWIFT_HOST_VARIANT_ARCH}" MATCHES "s390x")
657+
set(SWIFT_HOST_TRIPLE "s390x-unknown-linux-gnu")
658+
elseif("${SWIFT_HOST_VARIANT_ARCH}" MATCHES "(armv6|armv7)")
659+
set(SWIFT_HOST_TRIPLE "${SWIFT_HOST_VARIANT_ARCH}-unknown-linux-gnueabihf")
660+
else()
661+
message(FATAL_ERROR "Unable to calculate triple for linux host on ${SWIFT_HOST_VARIANT_ARCH}")
662+
endif()
663+
endif()
664+
645665
# Should we build the standard library for the host?
646666
is_sdk_requested(LINUX swift_build_linux)
647667
if(swift_build_linux)
648-
configure_sdk_unix("Linux" "${SWIFT_HOST_VARIANT_ARCH}")
668+
configure_sdk_unix(LINUX "Linux" "linux" "${SWIFT_HOST_VARIANT}" "${SWIFT_HOST_VARIANT_ARCH}" "${SWIFT_HOST_TRIPLE}" "/")
649669
set(SWIFT_PRIMARY_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK}")
650670
set(SWIFT_PRIMARY_VARIANT_ARCH_default "${SWIFT_HOST_VARIANT_ARCH}")
651671
endif()
652672

653673
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "FREEBSD")
654674

675+
set(CMAKE_EXECUTABLE_FORMAT "ELF")
655676
set(SWIFT_HOST_VARIANT "freebsd" CACHE STRING
656677
"Deployment OS for Swift host tools (the compiler) [freebsd].")
657678

658-
configure_sdk_unix("FreeBSD" "${SWIFT_HOST_VARIANT_ARCH}")
679+
# FIXME: Using the host OS version won't produce correct results for
680+
# cross-compilation.
681+
string(REPLACE "[-].*" "" FREEBSD_SYSTEM_VERSION ${CMAKE_SYSTEM_VERSION})
682+
message(STATUS "FreeBSD Version: ${FREEBSD_SYSTEM_VERSION}")
683+
configure_sdk_unix(FREEBSD "FreeBSD" "freebsd" "freebsd" "x86_64"
684+
"x86_64-unknown-freebsd${FREEBSD_SYSTEM_VERSION}" "/")
659685
set(SWIFT_PRIMARY_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK}")
660-
set(SWIFT_PRIMARY_VARIANT_ARCH_default "${SWIFT_HOST_VARIANT_ARCH}")
686+
set(SWIFT_PRIMARY_VARIANT_ARCH_default "x86_64")
661687

662688
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "CYGWIN")
663689

690+
# set(CMAKE_EXECUTABLE_FORMAT "ELF")
664691
set(SWIFT_HOST_VARIANT "cygwin" CACHE STRING
665692
"Deployment OS for Swift host tools (the compiler) [cygwin].")
666693

667-
configure_sdk_unix("Cygwin" "${SWIFT_HOST_VARIANT_ARCH}")
694+
configure_sdk_unix(CYGWIN "Cygwin" "cygwin" "cygwin" "x86_64" "x86_64-unknown-windows-cygnus" "/")
668695
set(SWIFT_PRIMARY_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK}")
669-
set(SWIFT_PRIMARY_VARIANT_ARCH_default "${SWIFT_HOST_VARIANT_ARCH}")
696+
set(SWIFT_PRIMARY_VARIANT_ARCH_default "x86_64")
670697

671698
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "WINDOWS")
672699

673700
set(SWIFT_HOST_VARIANT "windows" CACHE STRING
674701
"Deployment OS for Swift host tools (the compiler) [windows].")
675702

676-
configure_sdk_windows("Windows" "msvc" "${SWIFT_HOST_VARIANT_ARCH}")
703+
configure_sdk_windows(WINDOWS "Windows" "msvc" "${SWIFT_HOST_VARIANT_ARCH}")
677704
set(SWIFT_PRIMARY_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK}")
678705
set(SWIFT_PRIMARY_VARIANT_ARCH_default "${SWIFT_HOST_VARIANT_ARCH}")
679706

680707
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "HAIKU")
681708

709+
set(CMAKE_EXECUTABLE_FORMAT "ELF")
682710
set(SWIFT_HOST_VARIANT "haiku" CACHE STRING
683711
"Deployment OS for Swift host tools (the compiler) [haiku].")
684712

685-
configure_sdk_unix("Haiku" "${SWIFT_HOST_VARIANT_ARCH}")
713+
configure_sdk_unix(HAIKU "Haiku" "haiku" "haiku" "x86_64" "x86_64-unknown-haiku" "/")
686714
set(SWIFT_PRIMARY_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK}")
687-
set(SWIFT_PRIMARY_VARIANT_ARCH_default "${SWIFT_HOST_VARIANT_ARCH}")
715+
set(SWIFT_PRIMARY_VARIANT_ARCH_default "x86_64")
688716

689717
elseif("${SWIFT_HOST_VARIANT_SDK}" MATCHES "(OSX|IOS*|TVOS*|WATCHOS*)")
690718

@@ -735,10 +763,16 @@ if(swift_build_android AND NOT "${SWIFT_ANDROID_NDK_PATH}" STREQUAL "")
735763
message(FATAL_ERROR "A Darwin or Linux host is required to build the Swift runtime for Android")
736764
endif()
737765

766+
if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin" AND NOT swift_build_osx) OR
767+
("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" AND NOT swift_build_linux))
768+
set(SWIFT_PRIMARY_VARIANT_SDK_default "ANDROID")
769+
set(SWIFT_PRIMARY_VARIANT_ARCH_default "armv7")
770+
endif()
771+
738772
if("${SWIFT_SDK_ANDROID_ARCHITECTURES}" STREQUAL "")
739773
set(SWIFT_SDK_ANDROID_ARCHITECTURES armv7;aarch64)
740774
endif()
741-
configure_sdk_unix("Android" "${SWIFT_SDK_ANDROID_ARCHITECTURES}")
775+
configure_sdk_unix(ANDROID "Android" "android" "android" "${SWIFT_SDK_ANDROID_ARCHITECTURES}" "" "")
742776
endif()
743777

744778
# Should we cross-compile the standard library for Windows?
@@ -747,7 +781,7 @@ if(swift_build_windows AND NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
747781
if("${SWIFT_SDK_WINDOWS_ARCHITECTURES}" STREQUAL "")
748782
set(SWIFT_SDK_WINDOWS_ARCHITECTURES aarch64;armv7;i686;x86_64)
749783
endif()
750-
configure_sdk_windows("Windows" "msvc" "${SWIFT_SDK_WINDOWS_ARCHITECTURES}")
784+
configure_sdk_windows(WINDOWS "Windows" "msvc" "${SWIFT_SDK_WINDOWS_ARCHITECTURES}")
751785
endif()
752786

753787
if("${SWIFT_SDKS}" STREQUAL "")

branches/marcrasi-static-assert/cmake/modules/AddSwift.cmake

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -298,9 +298,8 @@ function(_add_variant_c_compile_flags)
298298
endif()
299299

300300
if("${CFLAGS_SDK}" STREQUAL "ANDROID")
301-
swift_android_libcxx_include_paths(CFLAGS_CXX_INCLUDES)
302301
swift_android_include_for_arch("${CFLAGS_ARCH}" "${CFLAGS_ARCH}_INCLUDE")
303-
foreach(path IN LISTS CFLAGS_CXX_INCLUDES ${CFLAGS_ARCH}_INCLUDE)
302+
foreach(path IN LISTS ${CFLAGS_ARCH}_INCLUDE)
304303
list(APPEND result "\"${CMAKE_INCLUDE_FLAG_C}${path}\"")
305304
endforeach()
306305
list(APPEND result "-D__ANDROID_API__=${SWIFT_ANDROID_API_LEVEL}")

branches/marcrasi-static-assert/cmake/modules/SwiftAndroidSupport.cmake

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
1-
function(swift_android_libcxx_include_paths var)
2-
set(${var}
3-
"${SWIFT_ANDROID_NDK_PATH}/sources/cxx-stl/llvm-libc++/include"
4-
"${SWIFT_ANDROID_NDK_PATH}/sources/cxx-stl/llvm-libc++abi/include"
5-
PARENT_SCOPE)
6-
endfunction()
7-
81
function(swift_android_include_for_arch arch var)
92
set(paths)
103
list(APPEND paths
4+
"${SWIFT_ANDROID_NDK_PATH}/sources/cxx-stl/llvm-libc++/include"
5+
"${SWIFT_ANDROID_NDK_PATH}/sources/cxx-stl/llvm-libc++abi/include"
116
"${SWIFT_ANDROID_NDK_PATH}/sources/android/support/include"
127
"${SWIFT_ANDROID_NDK_PATH}/sysroot/usr/include"
138
"${SWIFT_ANDROID_NDK_PATH}/sysroot/usr/include/${SWIFT_SDK_ANDROID_ARCH_${arch}_NDK_TRIPLE}")

branches/marcrasi-static-assert/cmake/modules/SwiftConfigureSDK.cmake

Lines changed: 29 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -40,26 +40,21 @@ function(_report_sdk prefix)
4040
message(STATUS " ${arch} Path: ${SWIFT_SDK_${prefix}_ARCH_${arch}_PATH}")
4141
endforeach()
4242
endif()
43-
if(prefix IN_LIST SWIFT_APPLE_PLATFORMS)
44-
message(STATUS " Version: ${SWIFT_SDK_${prefix}_VERSION}")
45-
message(STATUS " Build number: ${SWIFT_SDK_${prefix}_BUILD_NUMBER}")
46-
message(STATUS " Deployment version: ${SWIFT_SDK_${prefix}_DEPLOYMENT_VERSION}")
47-
endif()
43+
message(STATUS " Version: ${SWIFT_SDK_${prefix}_VERSION}")
44+
message(STATUS " Build number: ${SWIFT_SDK_${prefix}_BUILD_NUMBER}")
45+
message(STATUS " Deployment version: ${SWIFT_SDK_${prefix}_DEPLOYMENT_VERSION}")
4846
message(STATUS " Library subdir: ${SWIFT_SDK_${prefix}_LIB_SUBDIR}")
49-
if(prefix IN_LIST SWIFT_APPLE_PLATFORMS)
50-
message(STATUS " Version min name: ${SWIFT_SDK_${prefix}_VERSION_MIN_NAME}")
51-
message(STATUS " Triple name: ${SWIFT_SDK_${prefix}_TRIPLE_NAME}")
52-
endif()
47+
message(STATUS " Version min name: ${SWIFT_SDK_${prefix}_VERSION_MIN_NAME}")
48+
message(STATUS " Triple name: ${SWIFT_SDK_${prefix}_TRIPLE_NAME}")
5349
message(STATUS " Architectures: ${SWIFT_SDK_${prefix}_ARCHITECTURES}")
54-
if(NOT prefix IN_LIST SWIFT_APPLE_PLATFORMS)
55-
if(SWIFT_BUILD_STDLIB)
56-
foreach(arch ${SWIFT_SDK_${prefix}_ARCHITECTURES})
57-
message(STATUS " ICU i18n INCLUDE (${arch}): ${SWIFT_${prefix}_${arch}_ICU_I18N_INCLUDE}")
58-
message(STATUS " ICU i18n LIB (${arch}): ${SWIFT_${prefix}_${arch}_ICU_I18N}")
59-
message(STATUS " ICU unicode INCLUDE (${arch}): ${SWIFT_${prefix}_${arch}_ICU_UC_INCLUDE}")
60-
message(STATUS " ICU unicode LIB (${arch}): ${SWIFT_${prefix}_${arch}_ICU_UC}")
61-
endforeach()
62-
endif()
50+
is_darwin_based_sdk(${prefix} IS_DARWIN_BASED_SDK)
51+
if(NOT ${IS_DARWIN_BASED_SDK})
52+
foreach(arch ${SWIFT_SDK_${prefix}_ARCHITECTURES})
53+
message(STATUS " ICU i18n INCLUDE (${arch}): ${SWIFT_${prefix}_${arch}_ICU_I18N_INCLUDE}")
54+
message(STATUS " ICU i18n LIB (${arch}): ${SWIFT_${prefix}_${arch}_ICU_I18N}")
55+
message(STATUS " ICU unicode INCLUDE (${arch}): ${SWIFT_${prefix}_${arch}_ICU_UC_INCLUDE}")
56+
message(STATUS " ICU unicode LIB (${arch}): ${SWIFT_${prefix}_${arch}_ICU_UC}")
57+
endforeach()
6358
endif()
6459
message(STATUS " Object Format: ${SWIFT_SDK_${prefix}_OBJECT_FORMAT}")
6560
foreach(arch ${SWIFT_SDK_${prefix}_ARCHITECTURES})
@@ -165,15 +160,18 @@ macro(configure_sdk_darwin
165160
_report_sdk("${prefix}")
166161
endmacro()
167162

168-
macro(configure_sdk_unix name architectures)
163+
macro(configure_sdk_unix
164+
prefix name lib_subdir triple_name architectures triple sdkpath)
169165
# Note: this has to be implemented as a macro because it sets global
170166
# variables.
171167

172-
string(TOUPPER ${name} prefix)
173-
string(TOLOWER ${name} platform)
174-
175168
set(SWIFT_SDK_${prefix}_NAME "${name}")
176-
set(SWIFT_SDK_${prefix}_LIB_SUBDIR "${platform}")
169+
set(SWIFT_SDK_${prefix}_VERSION "don't use")
170+
set(SWIFT_SDK_${prefix}_BUILD_NUMBER "don't use")
171+
set(SWIFT_SDK_${prefix}_DEPLOYMENT_VERSION "")
172+
set(SWIFT_SDK_${prefix}_LIB_SUBDIR "${lib_subdir}")
173+
set(SWIFT_SDK_${prefix}_VERSION_MIN_NAME "")
174+
set(SWIFT_SDK_${prefix}_TRIPLE_NAME "${triple_name}")
177175
set(SWIFT_SDK_${prefix}_ARCHITECTURES "${architectures}")
178176
if("${prefix}" STREQUAL "CYGWIN")
179177
set(SWIFT_SDK_${prefix}_OBJECT_FORMAT "COFF")
@@ -211,44 +209,8 @@ macro(configure_sdk_unix name architectures)
211209
set(SWIFT_SDK_ANDROID_ARCH_${arch}_LINKER
212210
"${SWIFT_SDK_ANDROID_ARCH_${arch}_NDK_PREBUILT_PATH}/bin/${SWIFT_SDK_ANDROID_ARCH_${arch}_NDK_TRIPLE}-${SWIFT_ANDROID_LINKER_NAME}")
213211
else()
214-
if(NOT SWIFT_SDK_${prefix}_ARCH_${arch}_PATH)
215-
set(SWIFT_SDK_${prefix}_ARCH_${arch}_PATH "/")
216-
endif()
217-
218-
if("${prefix}" STREQUAL "LINUX")
219-
if(arch MATCHES "(armv6|armv7)")
220-
set(SWIFT_SDK_LINUX_ARCH_${arch}_TRIPLE "${arch}-unknown-linux-gnueabihf")
221-
elseif(arch MATCHES "(aarch64|i686|powerpc64|powerpc64le|s390x|x86_64)")
222-
set(SWIFT_SDK_LINUX_ARCH_${arch}_TRIPLE "${arch}-unknown-linux-gnu")
223-
else()
224-
message(FATAL_ERROR "unknown arch for ${prefix}: ${arch}")
225-
endif()
226-
elseif("${prefix}" STREQUAL "FREEBSD")
227-
if(arch STREQUAL x86_64)
228-
message(FATAL_ERROR "unsupported arch for FreeBSD: ${arch}")
229-
endif()
230-
231-
if(CMAKE_HOST_SYSTEM_NAME NOT STREQUAL FreeBSD)
232-
message(WARNING "CMAKE_SYSTEM_VERSION will not match target")
233-
endif()
234-
235-
string(REPLACE "[-].*" "" freebsd_system_version ${CMAKE_SYSTEM_VERSION})
236-
message(STATUS "FreeBSD Version: ${freebsd_system_version}")
237-
238-
set(SWIFT_SDK_FREEBSD_ARCH_x86_64_TRIPLE "x86_64-unknown-freebsd${freebsd_system_version}")
239-
elseif("${prefix}" STREQUAL "CYGWIN")
240-
if(NOT arch STREQUAL x86_64)
241-
message(FATAL_ERROR "unsupported arch for cygwin: ${arch}")
242-
endif()
243-
set(SWIFT_SDK_CYGWIN_ARCH_x86_64_TRIPLE "x86_64-unknown-windows-cygnus")
244-
elseif("${prefix}" STREQUAL "HAIKU")
245-
if(NOT arch STREQUAL x86_64)
246-
message(FATAL_ERROR "unsupported arch for Haiku: ${arch}")
247-
endif()
248-
set(SWIFT_SDK_HAIKU_ARCH_x86_64_TRIPLE "x86_64-unknown-haiku")
249-
else()
250-
message(FATAL_ERROR "unknown Unix OS: ${prefix}")
251-
endif()
212+
set(SWIFT_SDK_${prefix}_ARCH_${arch}_PATH "${sdkpath}")
213+
set(SWIFT_SDK_${prefix}_ARCH_${arch}_TRIPLE "${triple}")
252214
endif()
253215
endforeach()
254216

@@ -258,15 +220,17 @@ macro(configure_sdk_unix name architectures)
258220
_report_sdk("${prefix}")
259221
endmacro()
260222

261-
macro(configure_sdk_windows name environment architectures)
223+
macro(configure_sdk_windows prefix sdk_name environment architectures)
262224
# Note: this has to be implemented as a macro because it sets global
263225
# variables.
264226

265-
string(TOUPPER ${name} prefix)
266-
string(TOLOWER ${name} platform)
267-
268227
set(SWIFT_SDK_${prefix}_NAME "${sdk_name}")
228+
set(SWIFT_SDK_${prefix}_VERSION "NOTFOUND")
229+
set(SWIFT_SDK_${prefix}_BUILD_NUMBER "NOTFOUND")
230+
set(SWIFT_SDK_${prefix}_DEPLOYMENT_VERSION "")
269231
set(SWIFT_SDK_${prefix}_LIB_SUBDIR "windows")
232+
set(SWIFT_SDK_${prefix}_VERSION_MIN_NAME "NOTFOUND")
233+
set(SWIFT_SDK_${prefix}_TRIPLE_NAME "Win32")
270234
set(SWIFT_SDK_${prefix}_ARCHITECTURES "${architectures}")
271235
set(SWIFT_SDK_${prefix}_OBJECT_FORMAT "COFF")
272236

branches/marcrasi-static-assert/cmake/modules/SwiftWindowsSupport.cmake

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -47,24 +47,14 @@ function(swift_windows_lib_for_arch arch var)
4747
swift_windows_arch_spelling(${arch} ARCH)
4848

4949
set(paths)
50-
51-
# NOTE(compnerd) provide compatibility with VS2015 which had the libraries in
52-
# a directory called "Lib" rather than VS2017 which normalizes the layout and
53-
# places them in a directory named "lib".
54-
if(IS_DIRECTORY "$ENV{VCToolsInstallDir}/Lib")
55-
if(${ARCH} STREQUAL x86)
56-
list(APPEND paths "$ENV{VCToolsInstallDir}/Lib/")
57-
else()
58-
list(APPEND paths "$ENV{VCToolsInstallDir}/Lib/${ARCH}")
59-
endif()
50+
if(${ARCH} STREQUAL x86)
51+
list(APPEND paths "$ENV{VCToolsInstallDir}/Lib")
6052
else()
61-
list(APPEND paths "$ENV{VCToolsInstallDir}/lib/${ARCH}")
53+
list(APPEND paths "$ENV{VCToolsInstallDir}/Lib/${ARCH}")
6254
endif()
63-
6455
list(APPEND paths
6556
"$ENV{UniversalCRTSdkDir}/Lib/$ENV{UCRTVersion}/ucrt/${ARCH}"
6657
"$ENV{UniversalCRTSdkDir}/Lib/$ENV{UCRTVersion}/um/${ARCH}")
67-
6858
set(${var} ${paths} PARENT_SCOPE)
6959
endfunction()
7060

branches/marcrasi-static-assert/docs/ARCOptimization.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ Semantic Tags
373373
ARC takes advantage of certain semantic tags. This section documents these
374374
semantics and their meanings.
375375

376-
programtermination_point
376+
arc.programtermination_point
377377
----------------------------
378378

379379
If this semantic tag is applied to a function, then we know that:
@@ -396,7 +396,7 @@ scope's lifetime may never end. This means that:
396396

397397
1. While we can not ignore all such unreachable terminated blocks for ARC
398398
purposes for instance, if we sink a retain past a br into a non
399-
programtermination_point block, we must sink the retain into the block.
399+
arc.programtermination_point block, we must sink the retain into the block.
400400

401401
2. If we are able to infer that an object's lifetime scope would never end due
402402
to the unreachable/no-return function, then we do not need to end the lifetime

branches/marcrasi-static-assert/include/swift/AST/AccessScopeChecker.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,19 @@ class TypeReprAccessScopeChecker : private ASTWalker, AccessScopeChecker {
5555
};
5656

5757
class TypeAccessScopeChecker : private TypeWalker, AccessScopeChecker {
58+
bool CanonicalizeParentTypes;
59+
5860
TypeAccessScopeChecker(const DeclContext *useDC,
59-
bool treatUsableFromInlineAsPublic);
61+
bool treatUsableFromInlineAsPublic,
62+
bool canonicalizeParentTypes);
6063

6164
Action walkToTypePre(Type T);
6265

6366
public:
6467
static Optional<AccessScope>
6568
getAccessScope(Type T, const DeclContext *useDC,
66-
bool treatUsableFromInlineAsPublic = false);
69+
bool treatUsableFromInlineAsPublic = false,
70+
bool canonicalizeParentTypes = false);
6771
};
6872

6973
}

branches/marcrasi-static-assert/include/swift/AST/Decl.h

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3233,7 +3233,10 @@ class NominalTypeDecl : public GenericTypeDecl, public IterableDeclContext {
32333233
ToStoredProperty>;
32343234

32353235
/// Return a collection of the stored member variables of this type.
3236-
StoredPropertyRange getStoredProperties(bool skipInaccessible = false) const;
3236+
StoredPropertyRange getStoredProperties(bool skipInaccessible = false) const {
3237+
return StoredPropertyRange(getMembers(),
3238+
ToStoredProperty(skipInaccessible));
3239+
}
32373240

32383241
private:
32393242
/// Predicate used to filter StoredPropertyRange.
@@ -6453,11 +6456,12 @@ class InfixOperatorDecl : public OperatorDecl {
64536456

64546457
InfixOperatorDecl(DeclContext *DC, SourceLoc operatorLoc, Identifier name,
64556458
SourceLoc nameLoc, SourceLoc colonLoc,
6456-
PrecedenceGroupDecl *precedenceGroup,
6459+
Identifier firstIdentifier, SourceLoc firstIdentifierLoc,
64576460
NominalTypeDecl *designatedNominalType)
64586461
: OperatorDecl(DeclKind::InfixOperator, DC, operatorLoc, name, nameLoc,
64596462
designatedNominalType),
6460-
ColonLoc(colonLoc), PrecedenceGroup(precedenceGroup) {}
6463+
ColonLoc(colonLoc), FirstIdentifierLoc(firstIdentifierLoc),
6464+
FirstIdentifier(firstIdentifier) {}
64616465

64626466
SourceLoc getEndLoc() const {
64636467
if (!SecondIdentifier.empty())

branches/marcrasi-static-assert/include/swift/AST/DiagnosticsModuleDiffer.def

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,7 @@ ERROR(decl_reorder,none,"%0 in a non-resilient type changes position from %1 to
5858

5959
ERROR(decl_added,none,"%0 is added to a non-resilient type", (StringRef))
6060

61-
ERROR(var_has_fixed_order_change,none,"%0 is %select{now|no longer}1 a stored property", (StringRef, bool))
62-
63-
ERROR(func_has_fixed_order_change,none,"%0 is %select{now|no longer}1 a non-final instance function", (StringRef, bool))
61+
ERROR(decl_has_fixed_order_change,none,"%0 is %select{now|no longer}1 a stored property", (StringRef, bool))
6462

6563
ERROR(default_arg_removed,none,"%0 has removed default argument from %1", (StringRef, StringRef))
6664

0 commit comments

Comments
 (0)