Skip to content

Commit c06d3ce

Browse files
authored
Merge pull request #70953 from tshortli/fragile-regex-parser-module
[Regex] Really build _RegexParser without resilience
2 parents e7475c8 + 8d1b578 commit c06d3ce

File tree

2 files changed

+6
-9
lines changed

2 files changed

+6
-9
lines changed

stdlib/public/RegexParser/CMakeLists.txt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,10 @@ foreach(source ${_MATCHING_ENGINE_SOURCES})
2222
endforeach()
2323
message(STATUS "Using Experimental String Processing library for _RegexParser (${SWIFT_PATH_TO_STRING_PROCESSING_SOURCE}).")
2424

25-
set(SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS_NO_RESILIENCE)
26-
string(REGEX REPLACE "-enable-library-evolution" ""
27-
SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS_NO_RESILIENCE
28-
"${SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS}")
29-
30-
add_swift_target_library(swift_RegexParser ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_STDLIB
25+
# The parser module can be fragile (does not use library evolution) because its
26+
# only dependents are _StringProcessing and RegexBuilder and it's version-locked
27+
# with those modules.
28+
add_swift_target_library(swift_RegexParser ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_STDLIB IS_FRAGILE
3129
"${MATCHING_ENGINE_SOURCES}"
3230

3331
SWIFT_MODULE_DEPENDS_LINUX Glibc
@@ -42,7 +40,6 @@ add_swift_target_library(swift_RegexParser ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} I
4240
C_COMPILE_FLAGS
4341
-Dswift_RegexParser_EXPORTS
4442
SWIFT_COMPILE_FLAGS
45-
${SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS_NO_RESILIENCE}
4643
# Workaround until `_RegexParser` is imported as implementation-only
4744
# by `_StringProcessing`.
4845
-Xfrontend -disable-implicit-string-processing-module-import

validation-test/ParseableInterface/verify_all_overlays.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,9 @@
5050
]:
5151
continue
5252

53-
# Cxx and CxxStdlib are built without library evolution and don't have a
53+
# These modules are built without library evolution and don't have a
5454
# .swiftinterface file
55-
if module_name in ["Cxx", "CxxStdlib"]:
55+
if module_name in ["Cxx", "CxxStdlib", "_RegexParser"]:
5656
if not os.path.exists(interface_file):
5757
continue
5858

0 commit comments

Comments
 (0)