From b961a1a4c2c6ff2471b68f6c431494170c78b29c Mon Sep 17 00:00:00 2001 From: Anton Shangareev Date: Mon, 9 Oct 2023 14:25:01 +0400 Subject: [PATCH] Fix C++20 module build with -DVULKAN_HPP_NO_SMART_HANDLE (#1678) * Move SharedHandle and UniqueHandle under correct preprocessor guard in .cppm * Fix VulkanHppGenerator --- VulkanHppGenerator.cpp | 5 +++-- vulkan/vulkan.cppm | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/VulkanHppGenerator.cpp b/VulkanHppGenerator.cpp index f772862..094f05d 100644 --- a/VulkanHppGenerator.cpp +++ b/VulkanHppGenerator.cpp @@ -5426,9 +5426,10 @@ std::string VulkanHppGenerator::generateCppModuleUsings() const auto const hardCodedTypes = std::array{ "ArrayWrapper1D", "ArrayWrapper2D", "FlagTraits", "Flags", "DispatchLoaderBase", "DispatchLoaderDynamic" }; auto const hardCodedEnhancedModeTypes = - std::array{ "ArrayProxy", "ArrayProxyNoTemporaries", "StridedArrayProxy", "Optional", "StructureChain", "UniqueHandle", "SharedHandle" }; + std::array{ "ArrayProxy", "ArrayProxyNoTemporaries", "StridedArrayProxy", "Optional", "StructureChain" }; auto const hardCodedSmartHandleTypes = std::array{ "ObjectDestroy", "ObjectFree", "ObjectRelease", "PoolFree", - "ObjectDestroyShared", "ObjectFreeShared", "ObjectReleaseShared", "PoolFreeShared" }; + "ObjectDestroyShared", "ObjectFreeShared", "ObjectReleaseShared", "PoolFreeShared", + "SharedHandle", "UniqueHandle"}; auto usings = std::string{ R"( //===================================== //=== HARDCODED TYPEs AND FUNCTIONs === diff --git a/vulkan/vulkan.cppm b/vulkan/vulkan.cppm index 87e9c27..0bab137 100644 --- a/vulkan/vulkan.cppm +++ b/vulkan/vulkan.cppm @@ -45,10 +45,8 @@ export namespace VULKAN_HPP_NAMESPACE using VULKAN_HPP_NAMESPACE::ArrayProxy; using VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries; using VULKAN_HPP_NAMESPACE::Optional; - using VULKAN_HPP_NAMESPACE::SharedHandle; using VULKAN_HPP_NAMESPACE::StridedArrayProxy; using VULKAN_HPP_NAMESPACE::StructureChain; - using VULKAN_HPP_NAMESPACE::UniqueHandle; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #if !defined( VULKAN_HPP_NO_SMART_HANDLE ) @@ -60,6 +58,8 @@ export namespace VULKAN_HPP_NAMESPACE using VULKAN_HPP_NAMESPACE::ObjectReleaseShared; using VULKAN_HPP_NAMESPACE::PoolFree; using VULKAN_HPP_NAMESPACE::PoolFreeShared; + using VULKAN_HPP_NAMESPACE::SharedHandle; + using VULKAN_HPP_NAMESPACE::UniqueHandle; #endif /*VULKAN_HPP_NO_SMART_HANDLE*/ //==================