- Aug 10, 2015
-
-
John Kessenich authored
There will be subsequent commits to refine semantics, esp. version-specific semantics, as well as I/O functionality and restrictions. Note: I'm getting white-space differences in the preprocessor test results, which I'm not checking in. I think they need to be tagged as binary or something.
-
John Kessenich authored
Added some const as well. This will remove camouflage of the next commit, which will add the bulk of Array of Array semantics and functionality. (Note the basic grammar and data structure is already in place.)
-
- Aug 07, 2015
-
-
John Kessenich authored
-
John Kessenich authored
-
John Kessenich authored
-
John Kessenich authored
Add getStringNameOrNum() in TSourceLoc.
-
John Kessenich authored
-
John Kessenich authored
Compile fixes for gcc -Wall
-
John Kessenich authored
Remove unsigned/size_t downcast (warning when building on x64)
-
- Aug 06, 2015
-
-
Lei Zhang authored
-
- Aug 05, 2015
-
-
baldurk authored
-
baldurk authored
-
John Kessenich authored
Remove unused members from TPpContext
-
David Neto authored
The ErrMsg and ifloc members were unused or had no effect.
-
John Kessenich authored
#include directive support
-
Lei Zhang authored
Now extensions required by preprocessor should be checked via the ppRequireExtensions method. This is more clear and coherent with the rest of the code.
-
- Aug 03, 2015
-
-
John Kessenich authored
Revisioning: Include GLSL.std.450 version. Also, the revision.h script now includes redirection to revision.h.
-
- Aug 02, 2015
-
-
John Kessenich authored
The new make-revision script regenerates glslang/Include/revision.h, used as it always has been, but made with a git-tag version and the the number of commits on master. I have a pre-commit hook that will automatically do this on master, likely often enough to work in practice, without needing pull requests to include it.
-
- Aug 01, 2015
-
-
-
John Kessenich authored
-
John Kessenich authored
-
- Jul 31, 2015
-
-
Lei Zhang authored
Also changed the includer interface to let it return the actual full path of the included file.
-
Lei Zhang authored
After parsing a #include directive, we push a TokenizableString which contains the content of the included file into the input stack. Henceforth, tokens will be read from the newly pushed TokenizableString. However, the scanner in TParseContext still points to the previous input stream. We need to update the scanner to point to the new input stream inside TokenizableString. Thus, the setCurrent{String|Line|..} method in TParseContext updates the status of the correct input stream. After finishing the newly pushed TokenizableString, we need to restore the scanner to the previous input stream.
-
Lei Zhang authored
This patch introduces a new extension, GL_GOOGLE_include_directive, to enable support #include directives. It depends on the extension GL_GOOGLE_cpp_style_line_directive.
-
Dejan Mircevski authored
When an include directive is recognized by the preprocessor, it executes a callback on the filepath argument to obtain the file contents. That way the compilation client can deal with the file system, include paths, etc. Currently only accepts quoted filepaths -- no angle brackets yet.
-
John Kessenich authored
Add mechanism for specifying names for source strings.
-
- Jul 29, 2015
-
-
Lei Zhang authored
Expose a new method setStringsWithLengthsAndNames() in the interface which allows the caller to set descriptive names for source strings. These names can be used in error messages.
-
John Kessenich authored
-
John Kessenich authored
Extend the syntax of #line and __FILE__ to support filename strings. The implementation is done via introducing a new extension GL_GOOGLE_cpp_style_line_directive using the extension framework. The purpose is to support cpp-style #line directives, which is required by #include.
-
- Jul 28, 2015
- Jul 27, 2015
-
-
Lei Zhang authored
According to the GLSL spec, the second parameter to #line should be an integer source string number and __FILE__ will be substituted with the integer source string number currently processed. This patch extends the syntax of #line and __FILE__. Now #line accepts as the second parameter a filename string quoted by double quotation marks. And if such a #line is set, __FILE__ will be substituted with the currently set filename string. The implementation is done via introducing a new extension GL_GOOGLE_cpp_style_line_directive using the extension framework. The purpose is to support cpp-style #line directives, which is required by #include.
-
John Kessenich authored
Scanning: 1) rationalize end-of-input everywhere, 2) prevent infinite loop at end-of-input, 3) use positive chars. Fixes issue #25. (char 255 aliased to -1 and missing tests for end of input). 1) All layers of input scanning now share a single EndOfInput value. This avoids translation of it across layers of encapsulation. 2) Some places looking for end of line were not stopping on EndOfInput. 3) Use of "char" for the input made char values > 127 be negative numbers. This allowed for aliasing of 255 to -1, etc. This is fixed by using unsigned char.
-
- Jul 26, 2015
-
-
John Kessenich authored
-
- Jul 25, 2015
-
-
John Kessenich authored
This is just for '\' that's not before a new line. Note the specification says it has no use other than as line continuation, but #error is a grey area. (There are no escape sequences.)
-
John Kessenich authored
Consolidate all token length limits (1024), including one bad one (80) hardcoded on the stack (issue #40, issue #41).
-
John Kessenich authored
Fix missing const qualifier on TUnorderedMap template type
-
Felix Kaaman authored
-
- Jul 24, 2015
-
-
John Kessenich authored
-
John Kessenich authored
Preprocessing line number handling
-