We fail the following tests on the dEQP nougat-cts-dev mustpass list: dEQP-GLES3.functional.shaders.preprocessor.conditional_inclusion.defined_macro_defined_test_fragment dEQP-GLES3.functional.shaders.preprocessor.conditional_inclusion.defined_macro_defined_test_vertex
See also: https://cvs.khronos.org/bugzilla/show_bug.cgi?id=15567#c28
I think https://cvs.khronos.org/bugzilla/show_bug.cgi?id=15567#c22 matches what dEQP expects. Basically, C explicitly allows #define derp defined According to https://cvs.khronos.org/bugzilla/show_bug.cgi?id=15567#c21, C says that the following is undefined, but c22 says that all tested C compiler "do the right thing": #if derp herp Just from peeking over Ken's shoulder, I think this is the behavior that dEQP expects. As far as I'm aware, WebGL expects errors for this, but GLSL ES and desktop GLSL have left it also undefined. I think we should accept these, but we should probably generate warnings. I think the warning should occur in the #if line. I believe this is what glslang does in its permissive mode.
Also... I think everyone agrees that #define defined derp is an error.
These were blacklisted from dEQP in dEQP/AOSP commit e5f74834175e076b46f5c002a2e2d17274cc5db9 on the nougat-cts-dev branch, because they're testing undefined behavior. Therefore, NOTOURBUG.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.