// Copyright 2017 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #include "hwcaps_for_testing.h" #include #include "internal/string_view.h" namespace cpu_features { namespace { static auto* const g_hardware_capabilities = new HardwareCapabilities(); static const char* g_platform_pointer = nullptr; static const char* g_base_platform_pointer = nullptr; } // namespace void SetHardwareCapabilities(uint32_t hwcaps, uint32_t hwcaps2) { g_hardware_capabilities->hwcaps = hwcaps; g_hardware_capabilities->hwcaps2 = hwcaps2; } void SetPlatformPointer(const char* string) { g_platform_pointer = string; } void SetBasePlatformPointer(const char* string) { g_base_platform_pointer = string; } void ResetHwcaps() { SetHardwareCapabilities(0, 0); SetPlatformPointer(nullptr); SetBasePlatformPointer(nullptr); } HardwareCapabilities CpuFeatures_GetHardwareCapabilities(void) { return *g_hardware_capabilities; } const char* CpuFeatures_GetPlatformPointer(void) { return g_platform_pointer; } const char* CpuFeatures_GetBasePlatformPointer(void) { return g_base_platform_pointer; } } // namespace cpu_features