;; Test where src and dst have a function with different parameter count.
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 10
; Bound: 25
; Schema: 0
               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %4 "main" %20
               OpExecutionMode %4 OriginUpperLeft
               OpSource ESSL 320
               OpName %4 "main"
               OpName %11 "f(vf2;"
               OpName %10 "v"
               OpName %20 "o"
               OpName %23 "param"
               OpDecorate %20 RelaxedPrecision
               OpDecorate %20 Location 0
          %2 = OpTypeVoid
          %3 = OpTypeFunction %2
          %6 = OpTypeFloat 32
          %7 = OpTypeVector %6 2
          %8 = OpTypePointer Function %7
          %9 = OpTypeFunction %7 %8
         %14 = OpConstant %6 0.5
         %15 = OpConstantComposite %7 %14 %14
         %19 = OpTypePointer Output %7
         %20 = OpVariable %19 Output
         %21 = OpConstant %6 0
         %22 = OpConstantComposite %7 %21 %21
          %4 = OpFunction %2 None %3
          %5 = OpLabel
         %23 = OpVariable %8 Function
               OpStore %23 %22
         %24 = OpFunctionCall %7 %11 %23
               OpStore %20 %24
               OpReturn
               OpFunctionEnd
         %11 = OpFunction %7 None %9
         %10 = OpFunctionParameter %8
         %12 = OpLabel
         %13 = OpLoad %7 %10
         %16 = OpFAdd %7 %13 %15
               OpReturnValue %16
               OpFunctionEnd
