This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

CCP and Ada testsuite failure c330001


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]