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

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #6)
> Created attachment 61687 [details]
> full preprocessed source
> 
> Messed up, that missed the tail.  It's also somewhat manually reduced, but
> all structs have the original layout.

With that we end up with

  <bb 14> [local count: 1071325907]:
  _253 = _240 + 18446744073709548744;
  _254 = MAX_EXPR <_238, _253>;
  _122 = _243 + 2872;
  _258 = _122 + _254;
  _249 = .SAT_SUB (_258, 5384);
  _124 = &MEM[(struct ieee80211_sub_if_data *)_56].vif.bss_conf.mcast_rate;
  _126 = &setup_17(D)->mcast_rate;
  __write_overflow_field (0, 24);

and objsize does

   _124 = &MEM[(struct ieee80211_sub_if_data *)ifmsh_19 +
-2872B].vif.bss_conf.m
cast_rate;
-  __p_size_125 = __builtin_dynamic_object_size (_124, 0);
+  __p_size_125 = _249;
   _126 = &setup_17(D)->mcast_rate;
-  __q_size_127 = __builtin_dynamic_object_size (_126, 0);
-  _128 = __builtin_dynamic_object_size (_124, 1);
+  _128 = 0;
   __p_size_field_129 = MIN_EXPR <_128, 24>;
-  _130 = __builtin_dynamic_object_size (_126, 1);
+  _130 = 24;

Reply via email to