Preprocessor: Prevent (and give an error on) expression division by 0.

This commit is contained in:
John Kessenich
2015-07-20 12:29:41 -06:00
parent e9022e1ffe
commit d2762564dc
3 changed files with 19 additions and 1 deletions

View File

@@ -42,8 +42,12 @@ ERROR: 0:3006: '#undef' : predefined names can't be (un)defined: __LINE__
ERROR: 0:3007: '#undef' : predefined names can't be (un)defined: __FILE__
ERROR: 0:3008: '#undef' : predefined names can't be (un)defined: __VERSION__
ERROR: 0:3009: '#undef' : names beginning with "GL_" can't be (un)defined: GL_SOME_EXTENSION
ERROR: 0:4000: 'preprocessor evaluation' : division by 0
ERROR: 0:0: 'preprocessor evaluation' : division by 0
ERROR: 0:3: 'preprocessor evaluation' : bad expression
ERROR: 0:3: 'preprocessor evaluation' : division by 0
ERROR: 0:10001: '' : missing #endif
ERROR: 44 compilation errors. No code generated.
ERROR: 48 compilation errors. No code generated.
Shader version: 300

View File

@@ -171,6 +171,13 @@ float c = foobar(1.1, 2.2
#undef __VERSION__
#undef GL_SOME_EXTENSION
#line 4000
#line 200 % 0 // ERROR, div by 0
#if __LINE__ / 0 // ERROR, div by 0
#endif
#if 7% // ERROR incomplete expression
#line 10000
#if 0
// ERROR, EOF