Revision 947cb6ae2d78c724a36ab004061dc99cd911969b authored by Tim Foley on 19 June 2017, 21:01:34 UTC, committed by Tim Foley on 19 June 2017, 21:10:41 UTC
We now output a line directive for (nearly) every declaration, statement, and modifier, so that hopefully there will be fewer cases where a downstream error doesn't point to the correct line.

This exposes a lot of issues where we can/should clean up the simplicity of the code we emit (e.g., not output redundant parens; tracking source locations for types better).
These kinds of issues will need to be addressed in follow-on changes.
A few big ones:

- Because GLSL doesn't allow for file names in `#line` directives, we really need to expose some data that can clean up error messages (or can be used by an application to do the same) so that they know which file is which.

- We really need a command line option (and an equivalent API flag) to turn off emission of `#line` directies, so that the user can get moderately clean code as output.
1 parent 411b243
History
File Mode Size
build
examples
external
source
tests
tools
.gitignore -rw-r--r-- 247 bytes
.gitmodules -rw-r--r-- 107 bytes
LICENSE -rw-r--r-- 1.1 KB
README.md -rw-r--r-- 1.5 KB
appveyor.yml -rw-r--r-- 1.5 KB
slang.h -rw-r--r-- 29.1 KB
slang.sln -rw-r--r-- 6.3 KB
test.bat -rw-r--r-- 1.4 KB

README.md

back to top