blob: bd1b6b99e982781721a6592beba0a231fe017cae [file] [log] [blame]
/* PR 17252. When a char * pointer P takes its own address, storing
into *P changes P itself. */
char *a;
main ()
{
/* Make 'a' point to itself. */
a = (char *)&a;
/* Change what 'a' is pointing to. */
a[0]++;
/* If a's memory tag does not contain 'a' in its alias set, we will
think that this predicate is superfluous and change it to
'if (1)'. */
if (a == (char *)&a)
abort ();
return 0;
}