Skip to content

Commit b6759f0

Browse files
committed
Fix clang 15.0.0 build
clang 15.0.0 has a bug that requires us to define the constructor for the Block class in order to be able to emplace_back at the std::vector<Block>. This is fixed in clang 16.0.0
1 parent a6edc73 commit b6759f0

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

src/Duplo.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,8 @@ namespace {
134134
seqLen++;
135135
} else {
136136
if (seqLen >= lMinBlockSize) {
137-
int line1 = y + x - seqLen;
138-
int line2 = x - seqLen;
137+
unsigned line1 = y + x - seqLen;
138+
unsigned line2 = x - seqLen;
139139
if (line1 != line2 || source1 != source2) {
140140
dup_blocks.emplace_back(&source1, &source2, line1, line2, seqLen);
141141
num_dup_lines += seqLen;
@@ -148,8 +148,8 @@ namespace {
148148
}
149149

150150
if (seqLen >= lMinBlockSize) {
151-
int line1 = m - seqLen;
152-
int line2 = n - seqLen;
151+
unsigned line1 = m - seqLen;
152+
unsigned line2 = n - seqLen;
153153
if (line1 != line2 || source1 != source2) {
154154
dup_blocks.emplace_back(&source1, &source2, line1, line2, seqLen);
155155
num_dup_lines += seqLen;

src/include/Block.h

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,16 @@ class Block {
1111
unsigned m_line2;
1212
unsigned m_count;
1313

14-
auto operator<=>(Block const &) const = default;
14+
Block(SourceFile const* source1,
15+
SourceFile const* source2,
16+
unsigned line1,
17+
unsigned line2,
18+
unsigned count)
19+
: m_source1{ source1 },
20+
m_source2{ source2 },
21+
m_line1{ line1 },
22+
m_line2{ line2 },
23+
m_count{ count } {}
1524
};
1625

1726
#endif

0 commit comments

Comments
 (0)