Closed automaticp closed 9 months ago
Also should these files be pulled into the samples/
for future regression tests, etc.?
Actually cannot figure out the license for the test glsl code in glslang. Uh...
Oh wow! Nice work!
There will certainly be some issues relates to macros as we don’t expand them, so unless they look like regular function calls/identifiers stuff will go wrong.
Newline escapes is also something I have mostly ignored since it’s rarely used, but I guess macros is an obvious exception.
It would probably be nice to have these somewhere, so feel free to add them! So far I mostly use samples for interactive debugging, but having a more structured approach would be nice.
Actually cannot figure out the license for the test glsl code in glslang. Uh...
An alternative is just to extract a minimal example and commit that, it’s what I’ve done so far
Alright, I'll try to figure something out over the weekend
Most of these are fixedin #31.
See #30 for the remaining issue surrounding macros (tokenPaste.vert).
Ran v1.1.2 through a handpicked subset of tests for glslang. Picked out the files that are:
spv.*
files for now);Don't have time right now to condense to snippets and minimal repros, but I have this output that points to the problematic files:
Just look for the files with the same names at the link above, the
line:column
points to the first error occurrence.(001)
: Does not escape a newline in a single-line comment;(002)
: ??? I'd be confused too :woozy_face:, maybe the previous declaration already broke it?(003)
: Non-standard integer suffix as part of the extension;(004)
: Declaration in thewhile
condition. Seems to be legal (see condition and iteration_statement rules);(005)
: Floating-point suffixLf
. Spec only allowsf, F, lf, LF
, but it's not marked as ERROR in the file. Not sure who's right;(006)
: Multiline comment in a#define
:vomiting_face:;(007)
: Newline escape in a macro definition;(008)
: Same as(005)
;(009)
: Declaration substituted through a macro. If the parser does not keep track of macros, then, well...Overall pretty clean, mostly newline escapes and
(004)
are relevant.