Skip to content

[stdlib] Adopt availability macros #39994

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Nov 1, 2021

Conversation

lorentey
Copy link
Member

@lorentey lorentey commented Nov 1, 2021

In the stdlib codebase, replace explicit platform availability incantations of the form macOS x.y, iOS x.y, watchOS x.y, tvOS x.y with the availability macros defined in PR #39962.

Unfortunately availability macros do not currently work in if #available statements in inlinable function bodies, so leave those in place for now, adding a comment specifying the intended macro. (Fixing this isn't trivial, as it requires transforming code emitted into .swiftinterface files, and we aren't set up for that yet.)

@lorentey
Copy link
Member Author

lorentey commented Nov 1, 2021

@swift-ci test

@lorentey lorentey requested a review from xymus November 1, 2021 00:29
@swift-ci
Copy link
Contributor

swift-ci commented Nov 1, 2021

Build failed
Swift Test OS X Platform
Git Sha - 8ea88b7

@lorentey
Copy link
Member Author

lorentey commented Nov 1, 2021

20:01:06 ******************** TEST 'lldb-shell :: SwiftREPL/SwiftInterfaceForceModuleLoadMode.test' FAILED ********************
20:01:06 Script:
20:01:06 --
20:01:06 : 'RUN: at line 8';   rm -rf /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp && mkdir /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp
20:01:06 : 'RUN: at line 16';   mkdir /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/mcp
20:01:06 : 'RUN: at line 17';   mkdir /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib
20:01:06 : 'RUN: at line 18';   cp /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/llvm-project/lldb/test/Shell/SwiftREPL/Inputs/A.swift /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/AA.swift
20:01:06 : 'RUN: at line 19';   /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/swift-macosx-x86_64/bin/swiftc -module-cache-path /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/./lldb-test-build.noindex/module-cache-clang -sdk /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -module-name AA -emit-module-interface-path /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib/AA.swiftinterface -emit-library -o /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib/libAA.dylib /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/AA.swift
20:01:06 : 'RUN: at line 20';   sed -e 's/FromInterface/FromSerialized/g' /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/AA.swift | /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/swift-macosx-x86_64/bin/swiftc -module-cache-path /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/./lldb-test-build.noindex/module-cache-clang -sdk /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -module-name AA -emit-module -o /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib/AA.swiftmodule -
20:01:06 : 'RUN: at line 21';   rm /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/AA.swift
20:01:06 : 'RUN: at line 39';   mv /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib-backup
20:01:06 : 'RUN: at line 40';   /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/bin/lldb --no-lldbinit -S /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/lit-lldb-init --repl="-I/Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib -L/Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib -lAA" -O "settings set symbols.clang-modules-cache-path /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/mcp"    -O "settings set symbols.swift-module-loading-mode prefer-serialized" < /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/llvm-project/lldb/test/Shell/SwiftREPL/SwiftInterfaceForceModuleLoadMode.test 2>&1 | /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/llvm-macosx-x86_64/bin/FileCheck /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/llvm-project/lldb/test/Shell/SwiftREPL/SwiftInterfaceForceModuleLoadMode.test -check-prefix=NOT-LOADED
20:01:06 : 'RUN: at line 42';   /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/bin/lldb --no-lldbinit -S /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/lit-lldb-init --repl="-I/Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib -L/Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib -lAA" -O "settings set symbols.clang-modules-cache-path /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/mcp"    -O "settings set symbols.swift-module-loading-mode only-serialized" < /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/llvm-project/lldb/test/Shell/SwiftREPL/SwiftInterfaceForceModuleLoadMode.test 2>&1 | /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/llvm-macosx-x86_64/bin/FileCheck /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/llvm-project/lldb/test/Shell/SwiftREPL/SwiftInterfaceForceModuleLoadMode.test -check-prefix=NOT-LOADED
20:01:06 : 'RUN: at line 47';   mkdir /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib
20:01:06 : 'RUN: at line 48';   cp /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib-backup/AA.swiftinterface /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib/
20:01:06 : 'RUN: at line 49';   /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/bin/lldb --no-lldbinit -S /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/lit-lldb-init --repl="-I/Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib -L/Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib -lAA" -O "settings set symbols.clang-modules-cache-path /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/mcp"    -O "settings set symbols.swift-module-loading-mode prefer-serialized" < /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/llvm-project/lldb/test/Shell/SwiftREPL/SwiftInterfaceForceModuleLoadMode.test 2>&1 | /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/llvm-macosx-x86_64/bin/FileCheck /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/llvm-project/lldb/test/Shell/SwiftREPL/SwiftInterfaceForceModuleLoadMode.test -check-prefix=FROM-INTERFACE
20:01:06 : 'RUN: at line 51';   /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/bin/lldb --no-lldbinit -S /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/lit-lldb-init --repl="-I/Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib -L/Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib -lAA" -O "settings set symbols.clang-modules-cache-path /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/mcp"    -O "settings set symbols.swift-module-loading-mode only-serialized" < /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/llvm-project/lldb/test/Shell/SwiftREPL/SwiftInterfaceForceModuleLoadMode.test 2>&1 | /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/llvm-macosx-x86_64/bin/FileCheck /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/llvm-project/lldb/test/Shell/SwiftREPL/SwiftInterfaceForceModuleLoadMode.test -check-prefix=NOT-LOADED
20:01:06 : 'RUN: at line 56';   cp /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib-backup/AA.swiftmodule /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib/
20:01:06 : 'RUN: at line 57';   rm -rf /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/mcp/AA*
20:01:06 : 'RUN: at line 58';   /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/bin/lldb --no-lldbinit -S /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/lit-lldb-init --repl="-I/Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib -L/Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib -lAA" -O "settings set symbols.clang-modules-cache-path /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/mcp"    -O "settings set symbols.swift-module-loading-mode prefer-serialized" < /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/llvm-project/lldb/test/Shell/SwiftREPL/SwiftInterfaceForceModuleLoadMode.test 2>&1 | /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/llvm-macosx-x86_64/bin/FileCheck /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/llvm-project/lldb/test/Shell/SwiftREPL/SwiftInterfaceForceModuleLoadMode.test -check-prefix=FROM-SERIALIZED
20:01:06 : 'RUN: at line 60';   rm -rf /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/mcp/AA*
20:01:06 : 'RUN: at line 61';   /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/bin/lldb --no-lldbinit -S /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/lit-lldb-init --repl="-I/Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib -L/Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib -lAA" -O "settings set symbols.clang-modules-cache-path /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/mcp"    -O "settings set symbols.swift-module-loading-mode only-serialized" < /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/llvm-project/lldb/test/Shell/SwiftREPL/SwiftInterfaceForceModuleLoadMode.test 2>&1 | /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/llvm-macosx-x86_64/bin/FileCheck /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/llvm-project/lldb/test/Shell/SwiftREPL/SwiftInterfaceForceModuleLoadMode.test -check-prefix=FROM-SERIALIZED
20:01:06 : 'RUN: at line 63';   rm -rf /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/mcp/AA*
20:01:06 : 'RUN: at line 66';   rm /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib/AA.swiftinterface
20:01:06 : 'RUN: at line 67';   /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/bin/lldb --no-lldbinit -S /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/lit-lldb-init --repl="-I/Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib -L/Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib -lAA" -O "settings set symbols.clang-modules-cache-path /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/mcp"    -O "settings set symbols.swift-module-loading-mode prefer-serialized" < /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/llvm-project/lldb/test/Shell/SwiftREPL/SwiftInterfaceForceModuleLoadMode.test 2>&1 | /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/llvm-macosx-x86_64/bin/FileCheck /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/llvm-project/lldb/test/Shell/SwiftREPL/SwiftInterfaceForceModuleLoadMode.test -check-prefix=FROM-SERIALIZED
20:01:06 : 'RUN: at line 69';   /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/bin/lldb --no-lldbinit -S /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/lit-lldb-init --repl="-I/Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib -L/Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib -lAA" -O "settings set symbols.clang-modules-cache-path /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/mcp"    -O "settings set symbols.swift-module-loading-mode only-serialized" < /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/llvm-project/lldb/test/Shell/SwiftREPL/SwiftInterfaceForceModuleLoadMode.test 2>&1 | /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/llvm-macosx-x86_64/bin/FileCheck /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/llvm-project/lldb/test/Shell/SwiftREPL/SwiftInterfaceForceModuleLoadMode.test -check-prefix=FROM-SERIALIZED
20:01:06 : 'RUN: at line 73';   /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/bin/lldb --no-lldbinit -S /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/lit-lldb-init --repl="-I/Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib -L/Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/lib -lAA" -O "settings set symbols.clang-modules-cache-path /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/lldb-macosx-x86_64/test/Shell/SwiftREPL/Output/SwiftInterfaceForceModuleLoadMode.test.tmp/mcp"    -O "settings set symbols.swift-module-loading-mode garbage" < /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/llvm-project/lldb/test/Shell/SwiftREPL/SwiftInterfaceForceModuleLoadMode.test 2>&1 | /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/llvm-macosx-x86_64/bin/FileCheck /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/llvm-project/lldb/test/Shell/SwiftREPL/SwiftInterfaceForceModuleLoadMode.test -check-prefix=INVALID
20:01:06 --
20:01:06 Exit Code: -9
20:01:06 Timeout: Reached timeout of 600 seconds
20:01:06 
20:01:06 Command Output (stderr):
20:01:06 --
20:01:06 <unknown>:0: warning: module interfaces are only supported with -enable-library-evolution
20:01:06 
20:01:06 --
20:01:06 
20:01:06 ********************

Fascinating. This feels unrelated, but it's also not been happening outside of this PR.

@lorentey
Copy link
Member Author

lorentey commented Nov 1, 2021

@swift-ci test macOS platform

@@ -1632,6 +1632,9 @@ Parser::parseAvailabilityMacro(SmallVectorImpl<AvailabilitySpec *> &Specs) {
if (NameMatch == Map.end())
return makeParserSuccess(); // No match, it could be a standard platform.

SyntaxParsingContext VersionRestrictionContext(
SyntaxContext, SyntaxKind::AvailabilityVersionRestriction);

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this do in practice here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no idea what I'm doing, but it feels like these parsing contexts associate parsed entities with information about the specific grammar rule that was used to parse them (or rather, the underlying syntactic role).

This particular one lets Syntax know that SwiftStdlib 5.3 has the same syntactic role as iOS 12.4. Otherwise these entities (along with the entire decl the attribute appears on) get classified as unknown, which breaks things (incl. -verify-syntax-tree). (Perhaps these macros should have their own role, but I don't know enough to say for sure (c.f. 84827672).)

Cc @akyrtzi to tell me how terribly wrong I am. 😉

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting I missed this in the past and now I see where this is defined for the classic platform availability. Thanks for fixing it!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

\cc @ahoppen

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@lorentey lorentey merged commit 6d25565 into swiftlang:main Nov 1, 2021
@lorentey lorentey deleted the adopt-availability-macros branch November 1, 2021 21:45
@benrimmington
Copy link
Contributor

[SR-15708] [stdlib] Availability macros aren't defined for Linux?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants