569249be6c
Previously, when a prototype was parsed, this added a function declaration to the symbol table, but the prototype itself was not re-emitted during code generation. This meant that the final code might not be valid, since the absence of prototypes meant that the code might attempt to invoke a function before its declaration. Now, prototypes are stored in the ProgramElement list and re-emitted during code generation for GLSL/Metal/CPP. (SPIR-V doesn't name its functions at all.) Change-Id: I76446c796000eb0b56f964d82457122182c28b87 Bug: skia:10872 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/331136 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: John Stiles <johnstiles@google.com>
6 lines
53 B
GLSL
6 lines
53 B
GLSL
|
|
int foo(int x);
|
|
void main() {
|
|
int x = foo(1);
|
|
}
|