glsl: Add glcpp tests for a macro used twice
This test cases exposes a bug as described in this bug report: "ralloc.c:78: get_header: Assertion `info->canary == 0x5A1106' failed." when using a macro in GLSL https://bugs.freedesktop.org/show_bug.cgi?id=45082 Clearly, some memory is getting (incorrectly) freed on the first macro invocation, leading to problems with the second macro invocation. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
16
src/glsl/glcpp/tests/101-macros-used-twice.c
Normal file
16
src/glsl/glcpp/tests/101-macros-used-twice.c
Normal file
@@ -0,0 +1,16 @@
|
||||
#define object 1
|
||||
#define function(x) 1
|
||||
|
||||
#if object
|
||||
once
|
||||
#endif
|
||||
#if object
|
||||
twice
|
||||
#endif
|
||||
|
||||
#if function(0)
|
||||
once
|
||||
#endif
|
||||
#if function(0)
|
||||
once again
|
||||
#endif
|
17
src/glsl/glcpp/tests/101-macros-used-twice.c.expected
Normal file
17
src/glsl/glcpp/tests/101-macros-used-twice.c.expected
Normal file
@@ -0,0 +1,17 @@
|
||||
|
||||
|
||||
|
||||
|
||||
once
|
||||
|
||||
|
||||
twice
|
||||
|
||||
|
||||
|
||||
once
|
||||
|
||||
|
||||
once again
|
||||
|
||||
|
Reference in New Issue
Block a user