Gustavo,
> -Wflex-array-member-not-at-end was introduced in GCC-14, and we are > getting ready to enable it, globally. > > Use the new TRAILING_OVERLAP() helper to fix the following warnings: > > drivers/scsi/megaraid/megaraid_sas_fusion.h:1153:31: warning: > structure containing a flexible array member is not at the end of > another structure [-Wflex-array-member-not-at-end] > drivers/scsi/megaraid/megaraid_sas_fusion.h:1198:32: warning: > structure containing a flexible array member is not at the end of > another structure [-Wflex-array-member-not-at-end] > > This helper creates a union between a flexible-array member (FAM) and > a set of MEMBERS that would otherwise follow it --in this case `struct > MR_LD_SPAN_MAP ldSpanMap[MAX_LOGICAL_DRIVES_DYN]` and `struct > MR_LD_SPAN_MAP ldSpanMap[MAX_LOGICAL_DRIVES]` in the corresponding > structures. > > This overlays the trailing members onto the FAM (struct MR_LD_SPAN_MAP > ldSpanMap[];) while keeping the FAM and the start of MEMBERS aligned. > > The static_assert() ensures this alignment remains, and it's > intentionally placed inmediately after the corresponding structures > --no blank line in between. Applied to 6.19/scsi-staging, thanks! -- Martin K. Petersen
