<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/60243>60243</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Taking the address of an expression of type void, and warning about such
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
pascal-cuoq
</td>
</tr>
</table>
<pre>
The following C program, when compiled with Clang 15 with `-pedantic`, [causes](https://gcc.godbolt.org/z/he14hGMqo) the following warnings.
```c
void *p;
void *g(void) {
return &(p[0]);
}
```
The warnings:
```
<source>:4:13: warning: subscript of a pointer to void is a GNU extension [-Wgnu-pointer-arith]
return &(p[0]);
~^
<source>:4:10: warning: ISO C forbids taking the address of an expression of type 'void' [-Wpedantic]
return &(p[0]);
^ ~~~~
```
The second warning says, without a clause number, that ISO C forbids taking the address of an expression of type 'void'. If this is true, then Clang should reject the following C program when `-pedantic -pedantic-errors -std=c17` are set:
```c
void *p;
void *g(void) {
return &(*p);
}
```
In this case Clang 15 [compiles without warning](https://gcc.godbolt.org/z/njYW7jo7c).
I don't think that ISO C forbids taking the address of an expression of type 'void' (and if I'm right, this Clang warning should not exist). But if ISO C does forbid taking the address of an expression of type 'void', then the second example should result in a warning when compiled with `-pedantic -pedantic-errors -std=c17`.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyslU1z4jgTxz9Nc-mCsiW_wMEHAmGKw_PsYWdrao-y1NjKGMkjyUOyBz77lmwCSXamdrIViiokrJdf9__fbeG9bgxRBfkd5NuZGEJrXdULL0U3l4P9Nquteqo-t4QH23X2pE2DG-ydbZw4AtvgqSWD0h573ZHCkw4tbjphGkzzaQZFMu9JCRO0hCKJeyC_k2Lw5CHfAlu2IfQe-BrYDtiukXLRWFXbLiysa4Dt_gK2aynN2k__-2aBrTC8wjkJZ7Rp_AKSLSTreMf4ldP8u9UKga174HeXFa_-b4At4zgeDOVlCaKjMDiDwApgyx7yu2SEXd1OKbdvLpymMVfPSDGoH60BvvF2cJKA3wNfZ8DXKQe-ft4Yh36ovXS6D2gPKLC32gRyGCyO5NqjwE___wPpMZDx2pqY1vmXxgzzy9q5cDq0EXuK6V9DwtvnDPn9z1mTN6z733_DDR6sq7XyGMTXqEtUSSjlyPsxBIP02MdZZLUHDE89IbBySn454V-dcqV-Bzbk93g-n88_1cWTtEY9k6MXT370sA6tHQIKlF30JZrhWJOLj0IrwoeEt8D9AUOrfVQuuIGm08lcysW3dugUOnogGd44_FpwU7W9rCi8jubknHUe5z4o4FuZllAkKFyMOvzTiB9YHeP2X6iMvZkSIIWnW5OIzWBqH_4qxLO1frk9mIc_v5QPtpTAVouXcexRWQOsjCnV5uvH6YnAlsIo1AfcAyuP6HTThklU7S_hXY02iWtsQHrUPkRKvBvCuHuEUZb8heg_Al39FG5Gp0dx7Du6mcsPXUBtUFzRftC_3-GvV7meqYqrFV-JGVVpUWbZalkwNmurpKCcqC5UquplJvNVIXmpSqbKVNb8wGe6YgnjScp4uuQJYwuR5gVXacazXNZsxSBL6Ch0t-i678eo-0x7P1BVJCzjs07U1PnxJcaYoROOD4Gx-E5zVdwzr4fGQ5Z02gd_OyXo0FH1-R0Jn7K9QfGij4g6mtYPsp0NrqveGFaHdqgX0h6B7eLFl59572ysdWC7EdcD243h_B0AAP__E3NZBQ">