<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/121867>121867</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
LLVM ERROR: out of memory
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
wxie7
</td>
</tr>
</table>
<pre>
code:
```c
/* Type your code here, or load an example. */
int square(int num) {
return num * num;
}
extern int sprintf(char *, const char *, ...);
void *sink(void *);
void sprintf_S_a8_an_bn(int n, int i, int j) {
struct {
char a8[8], an[n], bn[n];
} *p = sink(0);
{
char *d = p->a8 + i;
char *s = p->a8;
sprintf(d, "%s", s);
sink(p);
}
{
char *d = p->a8;
char *s = p->a8 + j;
sprintf(d, "%s", s);
sink(p);
}
{
char *d = p->a8 + i;
char *s = p->a8 + j;
sprintf(d, "%s", s);
sink(p);
}
{
char *d = p->a8 + i;
char *s = p->an;
sprintf(d, "%s", s);
sink(p);
}
{
char *d = p->a8;
char *s = p->an + j;
sprintf(d, "%s", s);
sink(p);
}
{
char *d = p->a8 + i;
char *s = p->an + j;
sprintf(d, "%s", s);
sink(p);
}
{
char *d = p->a8 + i;
char *s = p->bn;
sprintf(d, "%s", s);
sink(p);
}
{
char *d = p->a8;
char *s = p->bn + j;
sprintf(d, "%s", s);
sink(p);
}
{
static char *name[] = {[0x80000000] = "bar"};
}
{
char *d = p->an + i;
char *s = p->bn;
sprintf(d, "%s", s);
sink(p);
}
{
char *d = p->an;
char *s = p->bn + j;
sprintf(d, "%s", s);
sink(p);
}
{
char *d = p->an + i;
char *s = p->bn + j;
sprintf(d, "%s", s);
sink(p);
}
{
char *d = p->an + i;
char *s = p->a8;
sprintf(d, "%s", s);
sink(p);
}
{
char *d = p->an;
char *s = p->a8 + j;
sprintf(d, "%s", s);
sink(p);
}
{
char *d = p->an + i;
char *s = p->a8 + j;
sprintf(d, "%s", s);
sink(p);
}
{
char *d = p->bn + i;
char *s = p->a8;
sprintf(d, "%s", s);
sink(p);
}
{
char *d = p->bn;
char *s = p->a8 + j;
sprintf(d, "%s", s);
sink(p);
}
{
char *d = p->bn + i;
char *s = p->a8 + j;
sprintf(d, "%s", s);
sink(p);
}
{
char *d = p->bn + i;
char *s = p->bn;
sprintf(d, "%s", s);
sink(p);
}
{
char *d = p->bn;
char *s = p->bn + j;
sprintf(d, "%s", s);
sink(p);
}
{
char *d = p->bn + i;
char *s = p->bn + j;
sprintf(d, "%s", s);
sink(p);
}
}
```
command:
```shell
clang -x c -std=c2x -c file.c -o /dev/null
```
https://godbolt.org/z/Y3nWKPErE
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzUl99vqzYUx_-aw8tRkHMIBR54IKW87E6bumnTnirbuAkd2JltetP99ZNJ0qbVndpdJVUWRYB9fn18vgjL3LlupZUqIV1CWkd89Gtjy6_bTmWRMO1TKU2rIKmAVXDFdn8ZBtQAVfjr00bhkxktBj9cK6uArtFY7A1vkWtUWz5sehUj0BTEqk57dH-NPLjmYaDHAahAyJbAKkREq_xodZgPUZM9CTbIamCV2nplNU5pNrbT_h4ol2tudyWuURrtPB7PxHEMVOySPJquDfOu038C5Yfha_s-8d0vdzy_4_pO6ANrSBceusPDwzG783aU_mgpEwXPIV3mkNYhhmtIl3o_EM-DZBcBWR1oNghJjXtE9syGbzMDVe3kuplBcsNzBFpid3B-cXLHTi_ml_61gQaIgFI33a7RHZXFA8vmFUv9EaZ3aCbkhxMxfRDpQ206KdgpyfRFCagvVcDTgp2QTFyUgOLcAjrPfSefS2s-qN1uMzEEv3TJtjnb_Z7niQS3oWhW_8tyv7VWfab-f3fz9X9p_me8Da87dP4X4lSqfc--dSbV3uwNF6HamferbzCJS1NNXJpq4v-q2md-Id9R7fO_kO-rdpYtc389HLKAVdIMA9ftm9OXW6u-D9ae6xXOtihx5nwLSS1pizOJ912vYokzg0BNqx6BGj1OIcfJ195vXEgdDnLNyrTC9D42dgXU_A3U_JHo33_4-cbeRG2ZtEVS8EiV8yy5ovmiKChalyyXRSsWvGiLJL_i4l7lhUpyNZckecFU1JXEKGVzlrF5epVQ3OZi0ZJYZHyRLZiQsGBq4F0f9_3jEGpHnXOjKuc0z6-yqOdC9W46mhJp9RUna2hqWke2DEEzMa4cLFjfOe9e0vjO96r88uW3H_Hm9vanW0gqNKNHc4-DGox9ikbbl29a0Pn1KGJpBqAmZNrfZhtrHpT0QM1U3wE1e8DHkv4JAAD__-gi0ZA">