CCP and Ada testsuite failure c330001

Andrew Pinski pinskia@physics.uc.edu
Mon Nov 22 07:27:00 GMT 2004


I decided to look a little into the Ada testsuite failure, c330001.
And I noticed that we are propagating a constant across a
VIEW_CONVERT_EXPR.
Aka before CCP:
   VIEW_CONVERT_EXPR<character[1 .. 2]>(var_1.F.s) = "Hi";
   D.3531_12 = system__secondary_stack__ss_allocate (24);
   D.3530_13 = (struct c330001_0__fullviewdefinite_unknown_disc *) 
D.3531_12;
   VIEW_CONVERT_EXPR<struct 
c330001_0__indef_func_1__var_1___PAD>(*D.3530_13) = var_1;

But afterwards:
   VIEW_CONVERT_EXPR<character[1 .. 2]>(var_1.F.s) = "Hi";
   D.3531_12 = system__secondary_stack__ss_allocate (24);
   D.3530_13 = (struct c330001_0__fullviewdefinite_unknown_disc *) 
D.3531_12;
   VIEW_CONVERT_EXPR<struct 
c330001_0__indef_func_1__var_1___PAD>(*D.3530_13) = "Hi";
   return D.3530_13;

Which seems wrong.  (note the variable is named var_1 and not an
SSA_NAME.

Could someone look into how to fix this?

Thanks,
Andrew Pinski



More information about the Gcc mailing list