From 667781592a44ed02f42d4a07c85cf1a898543304 Mon Sep 17 00:00:00 2001 From: Alexandre Ganea Date: Fri, 27 Mar 2020 12:24:00 -0400 Subject: [PATCH] [mlir] On Windows, silence warning on functions definition This fixes a number of warnings, where a function is re-defined after it is tagged as "being imported": D:\llvm-project\mlir\lib\ExecutionEngine\CRunnerUtils.cpp(24,17): warning: 'print_i32' redeclared without 'dllimport' attribute: 'dllexport' attribute added [-Winconsistent-dllimport] extern "C" void print_i32(int32_t i) { fprintf(stdout, "%" PRId32, i); } ^ D:\llvm-project\mlir\include\mlir/ExecutionEngine/CRunnerUtils.h(168,42): note: previous declaration is here extern "C" MLIR_CRUNNERUTILS_EXPORT void print_i32(int32_t i); ^ Differential Revision: https://reviews.llvm.org/D76654 --- mlir/include/mlir/ExecutionEngine/CRunnerUtils.h | 2 ++ mlir/lib/ExecutionEngine/CRunnerUtils.cpp | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/mlir/include/mlir/ExecutionEngine/CRunnerUtils.h b/mlir/include/mlir/ExecutionEngine/CRunnerUtils.h index c1ab742..020c66e 100644 --- a/mlir/include/mlir/ExecutionEngine/CRunnerUtils.h +++ b/mlir/include/mlir/ExecutionEngine/CRunnerUtils.h @@ -20,6 +20,7 @@ #ifdef mlir_c_runner_utils_EXPORTS /* We are building this library */ #define MLIR_CRUNNERUTILS_EXPORT __declspec(dllexport) +#define MLIR_CRUNNERUTILS_DEFINE_FUNCTIONS #else /* We are using this library */ #define MLIR_CRUNNERUTILS_EXPORT __declspec(dllimport) @@ -27,6 +28,7 @@ #endif // MLIR_CRUNNERUTILS_EXPORT #else #define MLIR_CRUNNERUTILS_EXPORT +#define MLIR_CRUNNERUTILS_DEFINE_FUNCTIONS #endif // _WIN32 #include diff --git a/mlir/lib/ExecutionEngine/CRunnerUtils.cpp b/mlir/lib/ExecutionEngine/CRunnerUtils.cpp index 7faf3f9..ad5be24 100644 --- a/mlir/lib/ExecutionEngine/CRunnerUtils.cpp +++ b/mlir/lib/ExecutionEngine/CRunnerUtils.cpp @@ -17,6 +17,8 @@ #include #include +#ifdef MLIR_CRUNNERUTILS_DEFINE_FUNCTIONS + // Small runtime support "lib" for vector.print lowering. // By providing elementary printing methods only, this // library can remain fully unaware of low-level implementation @@ -29,3 +31,5 @@ extern "C" void print_open() { fputs("( ", stdout); } extern "C" void print_close() { fputs(" )", stdout); } extern "C" void print_comma() { fputs(", ", stdout); } extern "C" void print_newline() { fputc('\n', stdout); } + +#endif -- 2.7.4