https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84095
--- Comment #4 from Martin Sebor <msebor at gcc dot gnu.org> --- Thanks. Just for reference in case more of these should pop up, I see two -Wrestrict instances in my build (below). The first one looks correct but the second one could be an instance of the false positive reported here. If you come across others please open new bugs (it would be helpful if I could reproduce your build so if you can share your config file and/or whatever else I might need that would be great). net/mac80211/cfg.c:2794:3: warning: ‘memcpy’ source argument is the same as destination [-Wrestrict] memcpy(pos, beacon->probe_resp, beacon->probe_resp_len); drivers/iommu/amd_iommu.c: In function ‘get_alias’: drivers/iommu/amd_iommu.c:310:4: warning: ‘memcpy’ accessing 32 bytes at offsets 0 and 0 overlaps 32 bytes at offset 0 [-Wrestrict] memcpy(amd_iommu_dev_table[pci_alias].data, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ amd_iommu_dev_table[devid].data, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sizeof(amd_iommu_dev_table[pci_alias].data)); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PS The breakdown of all warnings I see is below (the Unique column gives the number of distinct origins of the warning, and the Files column the number of distinct originating files): Diagnostic Count Unique Files -Wattributes 2139 1 1 -Wattribute-alias 465 3 3 -Wpacked-not-aligned 45 17 3 -Wstringop-truncation 39 23 10 -Wformat-truncation= 21 21 15 -Wint-in-bool-context 10 10 2 -Wformat-overflow= 3 3 2 -Wstringop-overflow= 2 2 2 -Wrestrict 2 2 2 -Warray-bounds 2 2 2 -Wsizeof-pointer-memaccess 1 1 1 -Wnonnull 1 1 1