cb5b25c587
The LLVM C bindings currently offer no way to query the version string dynamically. This is a useful feature in situations where a program isn't compiled against a specific version of LLVM but rather loads it dynamically (e.g. using dlopen()). In situations where the shared library filename doesn't reveal the version (e.g. LLVM-C.dll) and to adapt to version-specific API differences, it is then useful to be able to query the version string by calling the proposed LLVMGetVersion function. Differential Revision: https://reviews.llvm.org/D139381
27 lines
853 B
C++
27 lines
853 B
C++
//===- 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
|