(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
torture/
pr102581.C
// { dg-do compile }
/* { dg-additional-options "-fno-strict-aliasing" } */
enum VkStructureType {
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR
} typedef VkPhysicalDeviceSparseProperties;
struct VkPhysicalDeviceProperties {
  int apiVersion;
  VkPhysicalDeviceSparseProperties sparseProperties;
};
typedef struct {
  VkStructureType sType;
  int *pPhysicalDevices;
} VkPhysicalDeviceFeatures2;
typedef struct VkPhysicalDeviceProperties2 {
  VkStructureType sType;
  void *pNext;
} VkPhysicalDeviceMemoryProperties2;
struct VulkanVersion {
  int major;
  int minor;
  int patch;
};
int make_vulkan_version_version;
VulkanVersion make_vulkan_version() {
  return {make_vulkan_version_version, make_vulkan_version_version,
          make_vulkan_version_version};
}
struct AppGpu {
  int &inst;
  int id;
  int *phys_device = nullptr;
  VulkanVersion api_version{};
  VkPhysicalDeviceProperties props{};
  VkPhysicalDeviceProperties2 props2{};
  int memory_props{};
  VkPhysicalDeviceMemoryProperties2 memory_props2{};
  int features{};
  VkPhysicalDeviceFeatures2 features2{};
  int *dev = nullptr;
  int enabled_features{};
  int AppGpu_phys_device;
  int AppGpu_inst;
  AppGpu() : inst(AppGpu_inst), id() {
    api_version = make_vulkan_version();
    props2.sType = memory_props2.sType = features2.sType =
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR;
  }
};
int
main() { AppGpu(); return 0; }