test for issue #1077
This commit is contained in:
31
test/todo/bug1077.c
Normal file
31
test/todo/bug1077.c
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
/* bug #1077 - Wrong code: a non-array constant address with a non-constant subscript */
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int test1(void)
|
||||||
|
{
|
||||||
|
int a = 0;
|
||||||
|
(&a)[a] = 42;
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
int test2(void)
|
||||||
|
{
|
||||||
|
int a = 0;
|
||||||
|
int b = 0;
|
||||||
|
(&a)[b] = 42;
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
int res, ret = EXIT_SUCCESS;
|
||||||
|
res = test1();
|
||||||
|
printf("%d\n", res);
|
||||||
|
if (res != 42) ret = EXIT_FAILURE;
|
||||||
|
res = test2();
|
||||||
|
printf("%d\n", res);
|
||||||
|
if (res != 42) ret = EXIT_FAILURE;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user