;; Tests that two forwarded declarations match even if the type pointer is used
;; in a nested struct declaration, and in multiple places
               OpCapability Kernel
               OpCapability Addresses
               OpCapability Linkage
               OpMemoryModel Logical OpenCL
               OpName %Aptr "Aptr"
               OpTypeForwardPointer %Aptr UniformConstant
       %uint = OpTypeInt 32 0
          %C = OpTypeStruct %Aptr %uint %Aptr
          %B = OpTypeStruct %C %Aptr %uint
          %A = OpTypeStruct %B %C %B
  %Aptr = OpTypePointer UniformConstant %A
