Skip to content

Commit f2f522c

Browse files
authored
Merge pull request #6887 from hughbe/msvc-sil-warning
Fix multiple copy constructors warning
2 parents b480345 + a737a76 commit f2f522c

File tree

2 files changed

+2
-20
lines changed

2 files changed

+2
-20
lines changed

include/swift/SIL/SILOpenedArchetypesTracker.h

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,13 @@
1313
#ifndef SWIFT_SIL_SILOPENEDARCHETYPESTRACKER_H
1414
#define SWIFT_SIL_SILOPENEDARCHETYPESTRACKER_H
1515

16-
#include "swift/Basic/Compiler.h"
1716
#include "swift/SIL/Notifications.h"
1817
#include "swift/SIL/SILModule.h"
1918
#include "swift/SIL/SILFunction.h"
2019
#include "swift/SIL/SILUndef.h"
2120

2221
namespace swift {
2322

24-
// Disable MSVC warning: multiple copy constructors specified.
25-
// TODO: silence this warning.
26-
#if SWIFT_COMPILER_IS_MSVC
27-
#pragma warning(push)
28-
#pragma warning(disable: 4521)
29-
#endif
30-
3123
/// SILOpenedArchetypesTracker is a helper class that can be used to create
3224
/// and maintain a mapping from opened archetypes to instructions
3325
/// defining them, e.g. open_existential_ref, open_existential_addr,
@@ -44,12 +36,6 @@ class SILOpenedArchetypesTracker : public DeleteNotificationHandler {
4436
SILOpenedArchetypesTracker(SILOpenedArchetypesTracker &Tracker)
4537
: SILOpenedArchetypesTracker(Tracker.F, Tracker) {}
4638

47-
SILOpenedArchetypesTracker(const SILOpenedArchetypesTracker &Tracker)
48-
: SILOpenedArchetypesTracker(Tracker.F) {
49-
assert(Tracker.getOpenedArchetypeDefs().empty() &&
50-
"Only empty const SILOpenedArchetypesTracker can be copied");
51-
}
52-
5339
// Re-use pre-populated map if available.
5440
SILOpenedArchetypesTracker(const SILFunction &F,
5541
SILOpenedArchetypesTracker &Tracker)
@@ -136,10 +122,6 @@ class SILOpenedArchetypesTracker : public DeleteNotificationHandler {
136122
OpenedArchetypeDefsMap LocalOpenedArchetypeDefs;
137123
};
138124

139-
#if SWIFT_COMPILER_IS_MSVC
140-
#pragma warning(pop)
141-
#endif
142-
143125
// A state object containing information about opened archetypes.
144126
// This information can be used by constructors of SILInstructions,
145127
// their create methods, etc.

lib/SILOptimizer/Utils/CheckedCastBrJumpThreading.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ modifyCFGForFailurePreds(Optional<BasicBlockCloner> &Cloner) {
247247
return;
248248

249249
assert(!Cloner.hasValue());
250-
Cloner.emplace(BasicBlockCloner(CCBBlock));
250+
Cloner.emplace(CCBBlock);
251251
Cloner->clone();
252252
SILBasicBlock *TargetFailureBB = Cloner->getDestBB();
253253
auto *TI = TargetFailureBB->getTerminator();
@@ -284,7 +284,7 @@ modifyCFGForSuccessPreds(Optional<BasicBlockCloner> &Cloner) {
284284
// Create a copy of the BB as a landing BB.
285285
// for all SuccessPreds.
286286
assert(!Cloner.hasValue());
287-
Cloner.emplace(BasicBlockCloner(CCBBlock));
287+
Cloner.emplace(CCBBlock);
288288
Cloner->clone();
289289
SILBasicBlock *TargetSuccessBB = Cloner->getDestBB();
290290
auto *TI = TargetSuccessBB->getTerminator();

0 commit comments

Comments
 (0)