diff --git a/include/swift/ABI/Task.h b/include/swift/ABI/Task.h index d624dc0ba3004..5bbd120551ec5 100644 --- a/include/swift/ABI/Task.h +++ b/include/swift/ABI/Task.h @@ -736,9 +736,12 @@ static_assert(sizeof(AsyncTask) == NumWords_AsyncTask * sizeof(void*), "AsyncTask size is wrong"); static_assert(alignof(AsyncTask) == 2 * alignof(void*), "AsyncTask alignment is wrong"); +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Winvalid-offsetof" // Libc hardcodes this offset to extract the TaskID static_assert(offsetof(AsyncTask, Id) == 4 * sizeof(void *) + 4, "AsyncTask::Id offset is wrong"); +#pragma clang diagnostic pop SWIFT_CC(swiftasync) inline void Job::runInFullyEstablishedContext() { diff --git a/include/swift/Remote/MetadataReader.h b/include/swift/Remote/MetadataReader.h index 990648697286c..5c583d5ec1150 100644 --- a/include/swift/Remote/MetadataReader.h +++ b/include/swift/Remote/MetadataReader.h @@ -1481,7 +1481,7 @@ class MetadataReader { return 0; }; - switch (auto kind = flags.getKind()) { + switch (flags.getKind()) { case ContextDescriptorKind::Module: baseSize = sizeof(TargetModuleContextDescriptor); break; diff --git a/lib/Demangling/Demangler.cpp b/lib/Demangling/Demangler.cpp index 6cd04157b500e..e77345d9e9897 100644 --- a/lib/Demangling/Demangler.cpp +++ b/lib/Demangling/Demangler.cpp @@ -2810,7 +2810,7 @@ NodePointer Demangler::demangleThunkOrSpecialization() { switch (char c = nextChar()) { // Thunks that are from a thunk inst. We take the TT namespace. case 'T': { - switch (char c = nextChar()) { + switch (nextChar()) { case 'I': return createWithChild(Node::Kind::SILThunkIdentity, popNode(isEntity)); case 'H': diff --git a/stdlib/public/Concurrency/TaskPrivate.h b/stdlib/public/Concurrency/TaskPrivate.h index 82436a28cd7ab..361af35590ca3 100644 --- a/stdlib/public/Concurrency/TaskPrivate.h +++ b/stdlib/public/Concurrency/TaskPrivate.h @@ -865,8 +865,11 @@ struct AsyncTask::PrivateStorage { // It will be aligned to 2 words on all platforms. On arm64_32, we have an // additional requirement where it is aligned to 4 words. +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Winvalid-offsetof" static_assert(((offsetof(AsyncTask, Private) + offsetof(AsyncTask::PrivateStorage, StatusStorage)) % ACTIVE_TASK_STATUS_SIZE == 0), "StatusStorage is not aligned in the AsyncTask"); +#pragma clang diagnostic pop static_assert(sizeof(AsyncTask::PrivateStorage) <= sizeof(AsyncTask::OpaquePrivateStorage), "Task-private storage doesn't fit in reserved space"); diff --git a/stdlib/public/runtime/LibPrespecialized.cpp b/stdlib/public/runtime/LibPrespecialized.cpp index 2d62bb7be7d5d..6303a7a80d3e1 100644 --- a/stdlib/public/runtime/LibPrespecialized.cpp +++ b/stdlib/public/runtime/LibPrespecialized.cpp @@ -686,7 +686,7 @@ void _swift_validatePrespecializedMetadata() { auto result = swift_getTypeByMangledName(MetadataState::Complete, mangledName, nullptr, {}, {}); - if (auto *error = result.getError()) { + if (result.getError()) { fprintf(stderr, "Prespecializations library validation: unable to build metadata " "for mangled name '%s'\n", diff --git a/stdlib/public/runtime/MetadataLookup.cpp b/stdlib/public/runtime/MetadataLookup.cpp index 86149b66ab53c..ccb49f71e55b9 100644 --- a/stdlib/public/runtime/MetadataLookup.cpp +++ b/stdlib/public/runtime/MetadataLookup.cpp @@ -164,7 +164,7 @@ ResolveAsSymbolicReference::operator()(SymbolicReferenceKind kind, break; default: - if (auto typeContext = dyn_cast(descriptor)) { + if (isa(descriptor)) { nodeKind = Node::Kind::TypeSymbolicReference; isType = true; break; diff --git a/stdlib/toolchain/Compatibility56/include/Concurrency/Task.h b/stdlib/toolchain/Compatibility56/include/Concurrency/Task.h index 33a27c6ddda12..a812e97301484 100644 --- a/stdlib/toolchain/Compatibility56/include/Concurrency/Task.h +++ b/stdlib/toolchain/Compatibility56/include/Concurrency/Task.h @@ -605,9 +605,12 @@ static_assert(sizeof(AsyncTask) == NumWords_AsyncTask * sizeof(void*), "AsyncTask size is wrong"); static_assert(alignof(AsyncTask) == 2 * alignof(void*), "AsyncTask alignment is wrong"); +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Winvalid-offsetof" // Libc hardcodes this offset to extract the TaskID static_assert(offsetof(AsyncTask, Id) == 4 * sizeof(void *) + 4, "AsyncTask::Id offset is wrong"); +#pragma clang diagnostic pop SWIFT_CC(swiftasync) inline void Job::runInFullyEstablishedContext() {