Merge pull request #96108 from RandomShaper/fix_warn_in_all

Properly mute `-Wundefined-var-template` Clang warning in SafeBinaryMutex
This commit is contained in:
Rémi Verschelde 2024-08-26 14:57:41 +02:00
commit 5d1b07e464
No known key found for this signature in database
GPG Key ID: C3336907360768E1
2 changed files with 10 additions and 1 deletions

View File

@ -861,7 +861,7 @@ else: # GCC, Clang
if cc_version_major >= 11: # Broke on MethodBind templates before GCC 11.
env.Append(CCFLAGS=["-Wlogical-op"])
elif methods.using_clang(env) or methods.using_emcc(env):
env.Append(CCFLAGS=["-Wimplicit-fallthrough", "-Wno-undefined-var-template"])
env.Append(CCFLAGS=["-Wimplicit-fallthrough"])
elif env["warnings"] == "all":
env.Append(CCFLAGS=["-Wall"] + common_warnings)
elif env["warnings"] == "moderate":

View File

@ -37,6 +37,11 @@
#ifdef THREADS_ENABLED
#ifdef __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wundefined-var-template"
#endif
// A very special kind of mutex, used in scenarios where these
// requirements hold at the same time:
// - Must be used with a condition variable (only binary mutexes are suitable).
@ -105,6 +110,10 @@ public:
}
};
#ifdef __clang__
#pragma clang diagnostic pop
#endif
#else // No threads.
template <int Tag>