From e17df2fa36c4505d6333ae9ece8d25fa14640694 Mon Sep 17 00:00:00 2001 From: Jason Simmons Date: Tue, 28 Nov 2023 13:28:07 -0800 Subject: [PATCH] Remove use of variable length arrays (#48232) The variable length array extension will be disabled by default in the next roll of Clang. --- display_list/benchmarking/dl_complexity_helper.h | 4 ++-- flow/layers/display_list_layer_unittests.cc | 8 ++++---- lib/ui/hooks_unittests.cc | 8 ++++---- vulkan/vulkan_application.cc | 16 ++++++++-------- vulkan/vulkan_backbuffer.cc | 4 ++-- vulkan/vulkan_device.cc | 8 ++++---- 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/display_list/benchmarking/dl_complexity_helper.h b/display_list/benchmarking/dl_complexity_helper.h index 49fe51004bc07..2f7133ed499e4 100644 --- a/display_list/benchmarking/dl_complexity_helper.h +++ b/display_list/benchmarking/dl_complexity_helper.h @@ -221,8 +221,8 @@ class ComplexityCalculatorHelper unsigned int conic_verb_cost, unsigned int cubic_verb_cost) { int verb_count = path.countVerbs(); - uint8_t verbs[verb_count]; - path.getVerbs(verbs, verb_count); + std::vector verbs(verb_count); + path.getVerbs(verbs.data(), verbs.size()); unsigned int complexity = 0; for (int i = 0; i < verb_count; i++) { diff --git a/flow/layers/display_list_layer_unittests.cc b/flow/layers/display_list_layer_unittests.cc index 2791577666b8d..9a85aa3b2f5b7 100644 --- a/flow/layers/display_list_layer_unittests.cc +++ b/flow/layers/display_list_layer_unittests.cc @@ -578,7 +578,7 @@ TEST_F(DisplayListLayerTest, OverflowCachedDisplayListOpacityInheritance) { int layer_count = per_frame + 1; SkPoint opacity_offset = {10, 10}; auto opacity_layer = std::make_shared(0.5f, opacity_offset); - std::shared_ptr layers[layer_count]; + std::vector> layers; for (int i = 0; i < layer_count; i++) { DisplayListBuilder builder(false); builder.DrawRect({0, 0, 100, 100}, DlPaint()); @@ -587,9 +587,9 @@ TEST_F(DisplayListLayerTest, OverflowCachedDisplayListOpacityInheritance) { ASSERT_FALSE(display_list->can_apply_group_opacity()); SkPoint offset = {i * 200.0f, 0}; - layers[i] = - std::make_shared(offset, display_list, true, false); - opacity_layer->Add(layers[i]); + layers.push_back( + std::make_shared(offset, display_list, true, false)); + opacity_layer->Add(layers.back()); } for (size_t j = 0; j < context->raster_cache->access_threshold(); j++) { context->raster_cache->BeginFrame(); diff --git a/lib/ui/hooks_unittests.cc b/lib/ui/hooks_unittests.cc index 8fc69f42dcd7d..9158e4410c5ef 100644 --- a/lib/ui/hooks_unittests.cc +++ b/lib/ui/hooks_unittests.cc @@ -54,14 +54,14 @@ TEST_F(HooksTest, HooksUnitTests) { int64_t arg_count; Dart_IntegerToInt64(arg_count_handle, &arg_count); - Dart_Handle hook_args[arg_count]; + std::vector hook_args; for (int i = 0; i < static_cast(arg_count); i++) { - hook_args[i] = Dart_GetNativeArgument(args, 2 + i); - CHECK_DART_ERROR(hook_args[i]); + hook_args.push_back(Dart_GetNativeArgument(args, 2 + i)); + CHECK_DART_ERROR(hook_args.back()); } Dart_Handle hook_result = - Dart_InvokeClosure(hook, static_cast(arg_count), hook_args); + Dart_InvokeClosure(hook, hook_args.size(), hook_args.data()); CHECK_DART_ERROR(hook_result); }; diff --git a/vulkan/vulkan_application.cc b/vulkan/vulkan_application.cc index ea8129534f9a5..6b618b178a8a6 100644 --- a/vulkan/vulkan_application.cc +++ b/vulkan/vulkan_application.cc @@ -50,10 +50,10 @@ VulkanApplication::VulkanApplication( } #endif - const char* extensions[enabled_extensions.size()]; + std::vector extensions; for (size_t i = 0; i < enabled_extensions.size(); i++) { - extensions[i] = enabled_extensions[i].c_str(); + extensions.push_back(enabled_extensions[i].c_str()); } // Configure layers. @@ -61,10 +61,10 @@ VulkanApplication::VulkanApplication( const std::vector enabled_layers = InstanceLayersToEnable(vk_, enable_validation_layers_); - const char* layers[enabled_layers.size()]; + std::vector layers; for (size_t i = 0; i < enabled_layers.size(); i++) { - layers[i] = enabled_layers[i].c_str(); + layers.push_back(enabled_layers[i].c_str()); } // Configure init structs. @@ -84,10 +84,10 @@ VulkanApplication::VulkanApplication( .pNext = nullptr, .flags = 0, .pApplicationInfo = &info, - .enabledLayerCount = static_cast(enabled_layers.size()), - .ppEnabledLayerNames = layers, - .enabledExtensionCount = static_cast(enabled_extensions.size()), - .ppEnabledExtensionNames = extensions, + .enabledLayerCount = static_cast(layers.size()), + .ppEnabledLayerNames = layers.data(), + .enabledExtensionCount = static_cast(extensions.size()), + .ppEnabledExtensionNames = extensions.data(), }; // Perform initialization. diff --git a/vulkan/vulkan_backbuffer.cc b/vulkan/vulkan_backbuffer.cc index 4225fb5ccd8e1..dc404d4d293cb 100644 --- a/vulkan/vulkan_backbuffer.cc +++ b/vulkan/vulkan_backbuffer.cc @@ -97,7 +97,7 @@ bool VulkanBackbuffer::CreateFences() { } bool VulkanBackbuffer::WaitFences() { - VkFence fences[use_fences_.size()]; + VkFence fences[std::tuple_size_v]; for (size_t i = 0; i < use_fences_.size(); i++) { fences[i] = use_fences_[i]; @@ -109,7 +109,7 @@ bool VulkanBackbuffer::WaitFences() { } bool VulkanBackbuffer::ResetFences() { - VkFence fences[use_fences_.size()]; + VkFence fences[std::tuple_size_v]; for (size_t i = 0; i < use_fences_.size(); i++) { fences[i] = use_fences_[i]; diff --git a/vulkan/vulkan_device.cc b/vulkan/vulkan_device.cc index 5e2a3f36d26c1..e5b0fea59ede7 100644 --- a/vulkan/vulkan_device.cc +++ b/vulkan/vulkan_device.cc @@ -75,10 +75,10 @@ VulkanDevice::VulkanDevice(VulkanProcTable& p_vk, auto enabled_layers = DeviceLayersToEnable(vk_, physical_device_, enable_validation_layers); - const char* layers[enabled_layers.size()]; + std::vector layers; for (size_t i = 0; i < enabled_layers.size(); i++) { - layers[i] = enabled_layers[i].c_str(); + layers.push_back(enabled_layers[i].c_str()); } const VkDeviceCreateInfo create_info = { @@ -87,8 +87,8 @@ VulkanDevice::VulkanDevice(VulkanProcTable& p_vk, .flags = 0, .queueCreateInfoCount = 1, .pQueueCreateInfos = &queue_create, - .enabledLayerCount = static_cast(enabled_layers.size()), - .ppEnabledLayerNames = layers, + .enabledLayerCount = static_cast(layers.size()), + .ppEnabledLayerNames = layers.data(), .enabledExtensionCount = sizeof(extensions) / sizeof(const char*), .ppEnabledExtensionNames = extensions, .pEnabledFeatures = nullptr,