diff options
author | Carl Worth <[email protected]> | 2012-02-02 11:27:55 -0800 |
---|---|---|
committer | Carl Worth <[email protected]> | 2012-02-02 12:05:21 -0800 |
commit | 64fd26a8a812f66f1291d897df7953b8ac9e2f1b (patch) | |
tree | 9567176a4a428d0fe29fa911739b911688ea9980 /src/glsl | |
parent | 7ab1c7f7926c75a07f33eb149d0fc17dcfaffd5e (diff) |
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 <[email protected]>
Diffstat (limited to 'src/glsl')
-rw-r--r-- | src/glsl/glcpp/tests/101-macros-used-twice.c | 16 | ||||
-rw-r--r-- | src/glsl/glcpp/tests/101-macros-used-twice.c.expected | 17 |
2 files changed, 33 insertions, 0 deletions
diff --git a/src/glsl/glcpp/tests/101-macros-used-twice.c b/src/glsl/glcpp/tests/101-macros-used-twice.c new file mode 100644 index 00000000000..e1693805b6a --- /dev/null +++ b/src/glsl/glcpp/tests/101-macros-used-twice.c @@ -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 diff --git a/src/glsl/glcpp/tests/101-macros-used-twice.c.expected b/src/glsl/glcpp/tests/101-macros-used-twice.c.expected new file mode 100644 index 00000000000..1a4bf15362b --- /dev/null +++ b/src/glsl/glcpp/tests/101-macros-used-twice.c.expected @@ -0,0 +1,17 @@ + + + + +once + + +twice + + + +once + + +once again + + |