https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111040

--- Comment #3 from qinzhao at gcc dot gnu.org ---
a summary of the discussion:

We have two different sources to get the size information for subobjects:
   A. The TYPE information of the subobject in the IR;
   B. The initialization information propagated through data flow.

In the early pass, only A is available.
B might be available in the second pass.

If both A and B are available, we should choose the minimum one between
these two for both OST_MINIMUM and OST_MAXIMUM.

However, in the current early object size phase, we have the following:

enum tree_code code = object_size_type & OST_MINIMUM ? MAX_EXPR : MIN_EXPR;

I.e, we chose the MAX one between A and B for OST_MIN.

Reply via email to