spv.simpleFunctionCall.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 19

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 12 17
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 150
                              Name 4  "main"
                              Name 9  "foo("
                              Name 12  "BaseColor"
                              Name 17  "gl_FragColor"
                              Decorate 12(BaseColor) Location 0
                              Decorate 17(gl_FragColor) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeFunction 7(fvec4)
              11:             TypePointer Input 7(fvec4)
   12(BaseColor):     11(ptr) Variable Input
              16:             TypePointer Output 7(fvec4)
17(gl_FragColor):     16(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              18:    7(fvec4) FunctionCall 9(foo()
                              Store 17(gl_FragColor) 18
                              Return
                              FunctionEnd
         9(foo():    7(fvec4) Function None 8
              10:             Label
              13:    7(fvec4) Load 12(BaseColor)
                              ReturnValue 13
                              FunctionEnd
