This is the 10th version of the patch, which rebased on the latest trunk. This is an important patch needed by Linux Kernel security project.
compared to the 9th patch, the ONLY change is: I split the 1st patch into the following two patches: patch 1/3: Introduce IR bit TYPE_INCLUDES_FLEXARRAY for the GCC extension [PR77650] patch 3/3: Use TYPE_INCLUDES_FLEXARRAY in __builtin_object_size[PR101832] so, in patch 1/3 includes all the FE changes, changes in Middle-end to support the FE changes. patch 3/3 only includes the change in gcc/tree-object-size.cc and the testing case to support PR101832. Now, there are 3 patches: patch 1/3: Introduce IR bit TYPE_INCLUDES_FLEXARRAY for the GCC extension [PR77650] patch 2/3: Update documentation to clarify a GCC extension [PR77650] patch 3/3: Use TYPE_INCLUDES_FLEXARRAY in __builtin_object_size[PR101832] among the above, the patch 1/3 and the patch 2/3 have been reviewed and approved. the patch 3/3 is a very simple change to use the new bit TYPE_INCLUDES_FLEXARRAY in __builtin_object_size. I have bootstrapped and regression-tested on both aarch64 and x86. no issues. I will commit the patch 1/3 and 2/3 tomorrow since they have been approved already. for the patch 3/3, I will wait for several days, if there is no objection or new comments, I will commit it the end of this week. Please let me know if you have comments and suggestions. thanks. Qing Qing Zhao (3): Introduce IR bit TYPE_INCLUDES_FLEXARRAY for the GCC extension [PR77650] Update documentation to clarify a GCC extension [PR77650] Use TYPE_INCLUDES_FLEXARRAY in __builtin_object_size [PR101832] -- 2.31.1