glcpp: consistently print warnings after shader
otherwise, the output order is unpredictable: when run from tests, glibc prints warnings then shader (as long as it's under a few thousand bytes), whereas musl prints shader and then warnings, causing tests to fail. when run interactively, both will print shader and then warnings.
alternatives considered:
- separate stdout and stderr in the test runner. adds complexity with little value, and the actual output order remains unpredictable.
- consistently print the warnings first, then the shader. requires less changes to the expected output, but is inconsistent with the assumed original intent of the code.