------- Comment #16 from rguenth at gcc dot gnu dot org 2006-08-26 20:30
-------
If you change the prototype to take char* as argument we figure out clobbering
correctly:
--- t.i.030t.alias1 2006-08-26 22:28:40.000000000 +0200
+++ t.i.030t.alias1.ok 2006-08-26 22:27:33.000000000 +0200
@@ -33,7 +33,7 @@
Variable: SMT.5, UID 1550, int, is addressable, is global, call clobbered (,
is global var )
-Variable: a, UID 1529, const GLint *, default def: a_1
+Variable: a, UID 1529, char *, default def: a_1
Variable: b, UID 1532, int *
@@ -174,11 +174,11 @@
Variable: blist, UID 1526, const int *
-Variable: list, UID 1527, int[32], is addressable, default def: list_4
+Variable: list, UID 1527, int[32], is aliased, is addressable, call clobbered
(, passed to call, is global var ), default def: list_4
-Variable: blist.0, UID 1528, const GLint *, symbol memory tag: SMT.30
+Variable: blist.0, UID 1528, char *, symbol memory tag: SMT.30
-Variable: SMT.30, UID 1575, const GLint, is addressable, is global, call
clobbered (, passed to call, is global var )
+Variable: SMT.30, UID 1575, char, is addressable, is global, call clobbered (,
passed to call, is global var ), may aliases: { list }
@@ -195,16 +195,16 @@
Aliased symbols
-list, UID 1527, int[32], is addressable, default def: list_4
-SMT.30, UID 1575, const GLint, is addressable, is global, call clobbered (,
passed to call, is global var )
+list, UID 1527, int[32], is aliased, is addressable, call clobbered (, passed
to call, is global var ), default def: list_4
+SMT.30, UID 1575, char, is addressable, is global, call clobbered (, passed to
call, is global var ), may aliases: { list }
Dereferenced pointers
-blist.0, UID 1528, const GLint *, symbol memory tag: SMT.30
+blist.0, UID 1528, char *, symbol memory tag: SMT.30
Symbol memory tags
-SMT.30, UID 1575, const GLint, is addressable, is global, call clobbered (,
passed to call, is global var )
+SMT.30, UID 1575, char, is addressable, is global, call clobbered (, passed to
call, is global var ), may aliases: { list }
Flow-sensitive alias information for find
@@ -257,7 +257,7 @@
{
int list[32];
const int * blist;
- const GLint * blist.0;
+ char * blist.0;
<bb 2>:
if (alistp_2 != 0B) goto <L0>; else goto <L1>;
@@ -271,10 +271,11 @@
list[3] = 42;
blist_6 = &list;
+ # list_8 = PHI <list_4(3), list_5(4)>;
# blist_1 = PHI <blist_3(3), blist_6(4)>;
<L2>:;
- blist.0_7 = (const GLint *) blist_1;
- # SMT.30_9 = V_MAY_DEF <SMT.30_8>;
+ blist.0_7 = (char *) blist_1;
+ # list_9 = V_MAY_DEF <list_8>;
aglChoosePixelFormat (blist.0_7);
return;
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28778