https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105642
Bug ID: 105642 Summary: [12/13 Regression] error: call to ‘__write_overflow_field’ declared with attribute warning: [-Werror=attribute-warning] sincer12-2270-gdddb6ffdc5c25264 Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org Target Milestone: --- It's reduced from a kernel object file: $ cat inode.i void underlying_memset(); int __write_overflow_field() __attribute__((__warning__(""))); int netfs_i_context_init___trans_tmp_1; struct ceph_inode_info *ceph_alloc_inode_ci; int netfs_i_context_init(int *inode) { int *ctx = inode + 1; long __fortify_size = sizeof(ctx); netfs_i_context_init___trans_tmp_1 = __builtin_object_size(ctx, 1); unsigned p_size_field = netfs_i_context_init___trans_tmp_1; if (p_size_field < __fortify_size) __write_overflow_field(); underlying_memset(); } struct ceph_inode_info { struct { int vfs_inode; }; } ceph_alloc_inode() { netfs_i_context_init(&ceph_alloc_inode_ci->vfs_inode); } $ gcc inode.i -O2 -c -Werror=attribute-warning In function ‘netfs_i_context_init’, inlined from ‘ceph_alloc_inode’ at inode.i:22:3: inode.i:14:5: error: call to ‘__write_overflow_field’ declared with attribute warning: [-Werror=attribute-warning] 14 | __write_overflow_field(); | ^~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors $ gcc-11 inode.i -O2 -c -Werror=attribute-warning