Extend the syntax of #line and __FILE__ to support filename strings.
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.
This commit is contained in:
parent
c777fc2c4c
commit
5011fbebc3
16 changed files with 176 additions and 19 deletions
|
|
@ -96,9 +96,14 @@ public:
|
|||
}
|
||||
}
|
||||
void location(TSourceLoc loc) {
|
||||
const int maxSize = 24;
|
||||
const int maxSize = 24;
|
||||
char locText[maxSize];
|
||||
snprintf(locText, maxSize, "%d:%d", loc.string, loc.line);
|
||||
if (loc.name != nullptr) {
|
||||
append(loc.name);
|
||||
snprintf(locText, maxSize, ":%d", loc.line);
|
||||
} else {
|
||||
snprintf(locText, maxSize, "%d:%d", loc.string, loc.line);
|
||||
}
|
||||
append(locText);
|
||||
append(": ");
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue