[clang] [llvm] Add macro to suppress -Wunnecessary-virtual-specifier (PR #139614)

Devon Loehr via cfe-commits cfe-commits at lists.llvm.org
Wed May 14 08:15:31 PDT 2025


================
@@ -710,4 +710,17 @@ void AnnotateIgnoreWritesEnd(const char *file, int line);
 #define LLVM_PREFERRED_TYPE(T)
 #endif
 
+/// \macro LLVM_VIRTUAL_ANCHOR_FUNCTION
+/// This macro is used to adhere to LLVM's policy that each class with a vtable
+/// must have at least one out-of-line virtual function. This macro allows us
+/// to declare such a function in `final` classes without triggering a warning.
+// clang-format off
+// Autoformatting makes this look awful.
+#define LLVM_DECLARE_VIRTUAL_ANCHOR_FUNCTION()                            \
----------------
DKLoehr wrote:

Good point, wrapped it so it only suppresses the warning if we're clang.

https://github.com/llvm/llvm-project/pull/139614


More information about the cfe-commits mailing list