diff --git a/llvm/unittests/IR/CMakeLists.txt b/llvm/unittests/IR/CMakeLists.txt --- a/llvm/unittests/IR/CMakeLists.txt +++ b/llvm/unittests/IR/CMakeLists.txt @@ -46,6 +46,7 @@ VectorTypesTest.cpp VerifierTest.cpp VPIntrinsicTest.cpp + CoreBindings.cpp ) target_link_libraries(IRTests PRIVATE LLVMTestingSupport) diff --git a/llvm/unittests/IR/CoreBindings.cpp b/llvm/unittests/IR/CoreBindings.cpp new file mode 100644 --- /dev/null +++ b/llvm/unittests/IR/CoreBindings.cpp @@ -0,0 +1,27 @@ +//===- llvm/unittest/IR/CoreBindings.cpp - Tests for C-API bindings -------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include "llvm-c/Core.h" +#include "llvm/Config/llvm-config.h" +#include "gtest/gtest.h" + +namespace { + +TEST(CoreBindings, VersionTest) { + + // Test ability to ignore output parameters + LLVMGetVersion(nullptr, nullptr, nullptr); + + unsigned major, minor, patch; + LLVMGetVersion(&major, &minor, &patch); + EXPECT_EQ(major, (unsigned)LLVM_VERSION_MAJOR); + EXPECT_EQ(minor, (unsigned)LLVM_VERSION_MINOR); + EXPECT_EQ(patch, (unsigned)LLVM_VERSION_PATCH); +} + +} // end anonymous namespace