From 44d037cc258dcf179d2c48c93996bb406ecd0fae Mon Sep 17 00:00:00 2001 From: Abhin P Jose Date: Tue, 26 Mar 2024 17:10:54 +0100 Subject: [PATCH] Change type of DiagnosticHandlerTy (#86504) Changing type of DiagnosticHandlerTy due to adding -Wcast-function-type-mismatch to -Wextra group(https://github.com/llvm/llvm-project/pull/86131#issuecomment-2018014179). Changed the reference argument DiagnosticInfo to a pointer and edited the test cases failing due to this change. Added another small change where Gtest api was throwing an warning due varargs argument not being passed. --- llvm/include/llvm/IR/DiagnosticHandler.h | 4 ++-- llvm/unittests/Linker/LinkModulesTest.cpp | 2 +- llvm/unittests/Support/ThreadPool.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/llvm/include/llvm/IR/DiagnosticHandler.h b/llvm/include/llvm/IR/DiagnosticHandler.h index db7d7444f75f05..1f0544b9fa9f8f 100644 --- a/llvm/include/llvm/IR/DiagnosticHandler.h +++ b/llvm/include/llvm/IR/DiagnosticHandler.h @@ -28,7 +28,7 @@ struct DiagnosticHandler { : DiagnosticContext(DiagContext) {} virtual ~DiagnosticHandler() = default; - using DiagnosticHandlerTy = void (*)(const DiagnosticInfo &DI, void *Context); + using DiagnosticHandlerTy = void (*)(const DiagnosticInfo *DI, void *Context); /// DiagHandlerCallback is settable from the C API and base implementation /// of DiagnosticHandler will call it from handleDiagnostics(). Any derived @@ -42,7 +42,7 @@ struct DiagnosticHandler { /// with a prefix based on the severity. virtual bool handleDiagnostics(const DiagnosticInfo &DI) { if (DiagHandlerCallback) { - DiagHandlerCallback(DI, DiagnosticContext); + DiagHandlerCallback(&DI, DiagnosticContext); return true; } return false; diff --git a/llvm/unittests/Linker/LinkModulesTest.cpp b/llvm/unittests/Linker/LinkModulesTest.cpp index 182ce73178c1d4..884e20e89c5c2f 100644 --- a/llvm/unittests/Linker/LinkModulesTest.cpp +++ b/llvm/unittests/Linker/LinkModulesTest.cpp @@ -72,7 +72,7 @@ class LinkModuleTest : public testing::Test { BasicBlock *ExitBB; }; -static void expectNoDiags(const DiagnosticInfo &DI, void *C) { +static void expectNoDiags(const DiagnosticInfo *DI, void *C) { llvm_unreachable("expectNoDiags called!"); } diff --git a/llvm/unittests/Support/ThreadPool.cpp b/llvm/unittests/Support/ThreadPool.cpp index d74c625d122950..381b4fc2a26b8e 100644 --- a/llvm/unittests/Support/ThreadPool.cpp +++ b/llvm/unittests/Support/ThreadPool.cpp @@ -126,7 +126,7 @@ using ThreadPoolImpls = ::testing::Types< #endif SingleThreadExecutor>; -TYPED_TEST_SUITE(ThreadPoolTest, ThreadPoolImpls); +TYPED_TEST_SUITE(ThreadPoolTest, ThreadPoolImpls, ); #define CHECK_UNSUPPORTED() \ do { \