Skip to content

Commit e91d1bf

Browse files
Razicankripken
authored andcommitted
Fixed compilation in GCC 7 (#1301)
1 parent bcc6205 commit e91d1bf

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,4 +309,3 @@ IF (UNIX) # TODO: port to windows
309309
INSTALL(TARGETS wasm-reduce DESTINATION ${CMAKE_INSTALL_BINDIR})
310310

311311
ENDIF()
312-

src/tools/fuzzing.h

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -671,7 +671,7 @@ class TranslateToFuzzReader {
671671
hangStack.push_back(nullptr);
672672
condition = makeCondition();
673673
}
674-
// we need to find a proper target to break to; try a few times
674+
// we need to find a proper target to break to; try a few times
675675
int tries = TRIES;
676676
while (tries-- > 0) {
677677
auto* target = vectorPick(breakableStack);
@@ -1352,12 +1352,26 @@ class TranslateToFuzzReader {
13521352
return first;
13531353
}
13541354

1355+
// Trick to avoid a bug in GCC 7.x.
1356+
// Upstream bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82800
1357+
#define GCC_VERSION (__GNUC__ * 10000 \
1358+
+ __GNUC_MINOR__ * 100 \
1359+
+ __GNUC_PATCHLEVEL__)
1360+
#if GCC_VERSION > 70000 && GCC_VERSION < 70300
1361+
#pragma GCC diagnostic push
1362+
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
1363+
#endif
1364+
13551365
template<typename T, typename... Args>
13561366
T pickGivenNum(size_t num, T first, Args... args) {
13571367
if (num == 0) return first;
13581368
return pickGivenNum<T>(num - 1, args...);
13591369
}
13601370

1371+
#if GCC_VERSION > 70000 && GCC_VERSION < 70300
1372+
#pragma GCC diagnostic pop
1373+
#endif
1374+
13611375
// utilities
13621376

13631377
Name getTargetName(Expression* target) {

0 commit comments

Comments
 (0)