<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/60862>60862</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Compilation issue (15.0.3, git master): variable reported as unused although assigned and incremented
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
tonycurtis
</td>
</tr>
</table>
<pre>
Hi, I am compiling the well-known ptmalloc memory allocator, specifically as in https://github.com/openucx/ucx/blob/master/src/ucm/ptmalloc286/malloc.c.
I get this error during compilation:
```
libtool: compile: clang -DHAVE_CONFIG_H -I. -I../.. -DCPU_FLAGS= -I/lustre/home/arcurtis/ucx-shilei/src -I/lustre/home/arcurtis/ucx-shilei -I/lustre/home/arcurtis/ucx-shilei/src -DUCM_MALLOC_PREFIX=ucm_dl -fno-strict-aliasing -DUSE_LOCKS=1 -DMALLINFO_FIELD_TYPE=int -O3 -g -Wall -Werror -fmax-type-align=16 -funwind-tables -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-label -Wno-long-long -Wno-endif-labels -Wno-sign-compare -Wno-multichar -Wno-deprecated-declarations -Winvalid-pch -Wno-pointer-sign -Werror-implicit-function-declaration -Wno-format-zero-length -Wnested-externs -Wshadow -Werror=declaration-after-statement -Wno-deprecated-declarations -MT ptmalloc286/libucm_la-malloc.lo -MD -MP -MF ptmalloc286/.deps/libucm_la-malloc.Tpo -c ptmalloc286/malloc.c -fPIC -DPIC -DUCX_SHARED_LIB -o ptmalloc286/.libs/libucm_la-malloc.o
ptmalloc286/malloc.c:4000:7: error: variable 'nfences' set but not used [-Werror,-Wunused-but-set-variable]
int nfences = 0;
^
```
although `nfences` is later incremented on line 4018
```
4000 int nfences = 0;
4001
4002 /* reset top to new space */
4003 init_top(m, (mchunkptr)tbase, tsize - TOP_FOOT_SIZE);
4004
4005 /* Set up segment record */
4006 assert(is_aligned(ss));
4007 set_size_and_pinuse_of_inuse_chunk(m, sp, ssize);
4008 *ss = m->seg; /* Push current record */
4009 m->seg.base = tbase;
4010 m->seg.size = tsize;
4011 m->seg.sflags = mmapped;
4012 m->seg.next = ss;
4013
4014 /* Insert trailing fenceposts */
4015 for (;;) {
4016 mchunkptr nextp = chunk_plus_offset(p, SIZE_T_SIZE);
4017 p->head = FENCEPOST_HEAD;
4018 ++nfences;
4019 if ((char*)(&(nextp->head)) < old_end)
4020 p = nextp;
4021 else
4022 break;
4023 }
4024 assert(nfences >= 2);
```
```
clang version 17.0.0 (git@github.com:llvm/llvm-project.git 723cd2e953d245ca9d6df6c4f3852d3ebbe0b253)
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /lustre/projects/llvm-openmp/arcurtis/opt/llvm/git/bin
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycV1tv2zoS_jXMy4CGTPmmBz84vpwYmzTBSbo9uy8CJY4kbilSIKkm6a9fkJIbJ_UG2FM0tEnOfHMfjrlzstaIazK_JvPdFe99Y-zaG_1a9tZLd1UY8bq-kYRt4Qi8hdK0nVRS1-AbhGdUin7X5llD51uulCmhxdbYV4gb7o0NrK7DUlay5Eq9AncgNTTed46kG8IOhB1q6Zu-mJSmJexgOtR9-ULYYVgLZQrCDi13Hi1hB2fLeBdoT2LZahFJwvdJOSHJjiSbYT1CjR58Ix2gtcaC6G0wYDCFe2l00OOMgyyS8X_cKll4YxRJNyMPhq9QKq5roLubzT_3-fb-y-H4R34D9DgJfxPCDpMJ0N324Wt-uN388UjSHdAjYQfVO2-RsENj2vDB7eDrwV7qGqlQDmb-Hwx_A3v3dXuX321ub--3-cOf-8PxL5Lu-rLNhQJaaUOdt7L0lCvJnYy2fn3c57f3238Ea6ZAd4H7-OVwnx-O-9td_vSvhz1Jd1J7oPcp0BroN64U0G-D52nV8hfqXzsMoLUOKAugVa-fpRbU80KhA_pNG9pKF2TSSqISVGrpJVfyJ9rxvte9Q0E7bnmLHu27U8ULVMOJMrqOy7BFLWQ13I9AoQJoiCu3OIrulZdlw0dMgZ3FknsUVGCpuI0pE7il_sGVFLQrm4G0M1J7tBHzZDSVbadkKX0wswys5zADX2Vsyz39idZQhbr2EQ9dkIkvHm0U5xouzPMJl6S7MxzKqyjYc48tBv9_qvrdE7yvHCWLEHnF6VhDygC92wG9ewB6d_hAPRHYuUtcT50BWsLlqgSg1cNxC3Q3rF-3f-WPN5s_97v89ngN1HyUomRxUYoZ6vKyFJJuZkmSkHSzDGU6-moDP7iVIb-AsKWuUJfoCFuCQw9F70EbDyF3gMyvTx5mW_ptzKii99ShpycUMt8NSkBI9hEPQo0nJL0er-I_Mt9f7CrDypVvTF83QBbJSatFAtKB4iGrpS5tDCgKMBqU1AizZLr6pF0BQHAAwGeqzZJkek7OgqahFW_AYvCJNx14AxqfwXW8DG6LvfqMJ40ipM-96QhbtaHTh8-y6fX3zlvCMl9wh-HcO_kTgcLT_UN-uL9_yh-P_94Tlp07a5Yks_PN_E2nR_TQd-CwjsltsTRWXFBpAQDcObSesJV0eewyKAhbORek_SYwJkAelMu5FnknQ7hzU-XDl2jKyTbXxTUQ_w60ispu3ODplpJ077Am6fXJhIfeNVD21n5qQAbwi3kSnBfhBje-EzhN3uiibyNd1O093fQc0VWK16OKLe86FB-o2RutxhcfKZ37QJSeb2ZvUTrq4Hnwlg8jQky9zjjvfrd0GqJbGRsyJsCn14RlQJbvBC1iBf1KKAgqdVGneJR3qne5qSqHId4xPCGv8v-RXtNlxOuChQ1yEZEO-y_b_cP941N-s9_sPjCshhJm14Rdn8rzPUUWKWQV7WCr8GxEW7O4XxC2ikqfRA5JCCTdglEiRx1P3vBYMnQNGMyMvO8lsimgcnh-wkaewiL__oE6FClZ7s6PZudF8tYfwssN7NxpFzvWh8NhCvqB1oXXbLqcJJMk-KKWnsySs7ku3Sj1I4xs4YN21vwHSz-ppYclS0vBMJungs3mJc_EQlSLclalqzkTKRYFJgWbp7889cRtjT40dc5t2SxmtNdxCqVK6v6F1rofCRsbwtwagXF864yTL-NUqJ3nSqHYyfg8nA9Po3LupGwYSNvu_ThlOj9eD-NrmFOlvuiiK7FORZZm_ArX08VysUrnC5ZdNWuxFDNciWU5KyuRFHye8uU8y6pUlByTLL2Sa5awNGHTbJrNEpZNlnyeZgkvp6JKWFWlZJZgy6WaBEUmxtZX0rke14tktWBXw5gTh3vGQiePl4SxMOvbdbSt6GtHZomSzrs3FC-9wvX2bUIeWENgp_NJMklDqYXYnYby7N0Ta7EzNjxZ3MHwgMKvh278zSGAa3H-vF31Vq0_-VVwIXsIO0S1Qjyixf8NAAD__ybJ4hk">