<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/99641>99641</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Clang-19.0 : Hang Issue with LLVM: No Output or Error Message involving recursive macros within a function
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          iamanonymouscs
      </td>
    </tr>
</table>

<pre>
    ### Description
I encountered an issue where the compiler hangs indefinitely while trying to compile a specific piece of code involving recursive macros within a function(https://godbolt.org/z/q6Gaz3c8r). The code snippet is provided below.GCC also has this problem(https://godbolt.org/z/9Exof1rrW).

### Command

```sh
clang code_0.c  -O3 -Wall -Wextra -fverbose-asm -fopt-info-vec-optimized -c  -o  code_0
```

### Code
```c
int a(int c) {
  if (c < 12345) {
#define A \
    { int d = c % 12345; \
      int e = c ^ d * 12345; \
      int f = c * d % e % 12345; \
      c = f; }
#define B A A A A A A
#define C B B B B B B
#define D C C C C C C
#define E D D D D D D
    E E E E E
 }
  return c;
}



```

### Version
```sh
# clang -v
Ubuntu clang version 19.0.0 (++20240301064251+dd426fa5f931-1~exp1~20240301184412.1845)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm-19/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.5.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7
Candidate multilib: .;@m64
Selected multilib: .;@m64
```

### Output
Nothing (Waited for nearly 300 seconds.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0VU2PozgT_jXOpQTCBtLhkEM-OvOONB-Hd3b6ODJ2AV4Zm7VNunsO89tXBtLRpLW9u9KsjIhS9VTVY1Plh3uvWoO4JeWelMcVH0Nn3Vbxnhtrnns7euFXtZXPW8Ly-YEjeuHUEJQ1JDuSbPce0Ag7moAOJXADyvsR4bFDhxA6BGH7QWl00HHTelBGYqOMCqif4bFTGiG4Z2VaCPaCBQ5-QKEaJWBQKBBsA8JKBGXOVp8j2qEYnVdnhJ4LZz08qtApAxya0YiJH9t0IQye5DvCToSdWitrq0NqXUvY6Tthpz_W7_j3XGwcYVUKXya2EsEbNQwYQHkYnD0riRJq1PYxfXc4ANfeQsc9hG4G1Br7f1Csun-yDXXuIRabD295v5zuwfY9N_In5zqbH9_NBqG5aSee37JUACSfc0geuNaQPOBTcByS5oyuth4T7ntIGjuERJnGJmcUiR2C6tV3lJDEYAtLqptqf8VP4g1QzP-VCcAJ28RfQVgF5G4_ewBUA4RtBJD8AJTlRfmTn7B86giEHZDycAmCiICYTgLJjyCAsHIJz_c_I2HC4QVX3scYtnsT3bxk3U3oMsa_UUFM-Gby3B1vqe9hd123zgPsr-vWeYTDdd067-F4XVc295e1mF4IATgMozMgSH6p9EL29fvtj_0VnX8Z81dtGBFzKybn2fJbPZowLsbzHAy0SrM0i9-fsD1he5axIsszmq0LVlLC9lIWbN3wsqlymtAf-DTQHxcQ3RQFZSndTC0zV_nCXYuB5Dt42qy_rYtkEIlWZnxKWjMukM4hl9BbiToCB-vV03JbGR-41iiPykUXYafRO8JOWtXxrc99QivCTrVaNn6yo5EguJFK8oAQbwA1Z-HTLfM6SysEYaeF3pUbO939BynTMs1-fdrNnPL_qFEElL9i14cXYv2og4pB-Q7S2KhF1q-Lm4pvgf6mcT-PYRjDbP1koyq0sQEfuIqJG-vAIHf6GfIsA4_CGumXC3klt7ms8oqvcEvvGM0rmhV01W2bppG0xLpoSiwQOZdyU28wpw2n6w0WK7WduvaOVpTRLK9SvCup4EVVbxqOvKpIkWHPlU5jk0VZWE1Kua2qdUFXmteo_STFjBl8nGWUMBaV2W2nxqzH1pMi08oHf80SVNC4PcSpS-K0QTyx_8UZfD8rsQodfPjw9WO0f7LL6YB1cO-cdfARveftv5PW1ej09kbvVOjGOhW2X-boMk6Ds7-jCISdpi35qITTls9b9mcAAAD__8mKfFc">