<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/126959>126959</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang-format] Different runs produce different formatting for the same code
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang-format
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
pskrgag
</td>
</tr>
</table>
<pre>
I've observed odd clang-format behavior on some proprietary code base. Clang format reformats the same line each run. Below code is MRE, but not something real
```c
#define STRINGIFY(s)
__asm__("ccccccc " STRINGIFY(AAAAAAAAAAAAAAAAAAA) "bbbbb aaaaaaaaaaaaaaa");
````
Reduced config file
```
---
BreakStringLiterals: false
...
```
And here is what clang-format produces
```bash
/tmp
paskripkin > clang-format test.c > test1.c
/tmp
paskripkin > cat test.c
───────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ File: test.c
───────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 │ #define STRINGIFY(s)
2 │
3 │ __asm__("ccccccc " STRINGIFY(AAAAAAAAAAAAAAAAAAA) "bbbbb aaaaaaaaaaaaaaa");
───────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
/0.0s
/tmp
paskripkin > clang-format test.c > test1.c
/0.0s
/tmp
paskripkin > cat test1.c
───────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ File: test1.c
───────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 │ #define STRINGIFY(s)
2 │
3 │ __asm__(
4 │ "ccccccc " STRINGIFY(AAAAAAAAAAAAAAAAAAA) "bbbbb aaaaaaaaaaaaaaa");
───────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
/0.0s
/tmp
paskripkin > clang-format test1.c
#define STRINGIFY(s)
__asm__("ccccccc " STRINGIFY(AAAAAAAAAAAAAAAAAAA) "bbbbb aaaaaaaaaaaaaaa");
/0.0s
/tmp
paskripkin >
```
Tested on stock 19.1.0-1.fc41 in fedora and trunk on commit 2cd8207b26ea4269630feba661f68554d7ae3c15
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsml9v2zgMwD-N_ELEkOk_iR_84LTNocDdPXR7uadCtmhbF9sKJLnDvv3Bdtc1HbYOdz1k2EQIyC8yKYZSIIMEhbWqHYkKlu5Zeh2IyXXaFCd7NK1og0rLj8Utw-0Dga4smQeSoKWEuhdju2m0GYSDijrxoLQBPYLVA8HJ6JNR5IT5CLWWBJWwFMLVbASPRoZWsOA6AisGgl6NBCTqDsw0hrCnXn9Y7ZWFP-5uGF5BNTkYtVv8uE6NLRgSPePlPDK-jnr-grGkZl7x3fu72z9_uz38xXBnGear8v29sMP9PcMdQ6xXAYZ4pl5-KQzzWa2ahfFcnAtDnD3E--c_Zx6LzzuSU00Saj02qoVG9XSmx8vNZsN4uTckju-cUWP7u3JkRG9ZXEIjejsbhGH4wmwd5SihI7Ns14dOuPNTOhk9e7cv9qoStlu26-CGE-PlSdijUaejGoHFN-dLOLIurJf5GaOwfvL9Vfsns1npBlmesB3_T1Bevc06Hjx48ODh3wEvYZVPUwiH-Y0Wl2994-_9je_BgwcPF4Xlxo_ObvxvplkAgM-116n4bIG3yMPml9C3ErE3iX-f_CjH4MGDBw-_JjylHT-sMDzwkNtXCmOvFtYuHcZr8n1hPkYX-QKgBw8ePPw08EoB8C2vfF8B9ODBg4fLwv9cAVyeJmdP10zDVwY9ePDgwcNX4Wcpmb2sDD4mUhdvaLz07r0m37O7XzZOvifrSC69q07XR4jyMAr5JgqbOolAjdCQ1EaAGCU4M43HWbXWw6AcYC13yLcVZiQSzPIs5g1VIsuiJtulaSK3guI6ShkvA1nEMo9zEVARbeM83uUxZkFXCI4cMaa4ykS2rWORiZhvdxkmqczyrAlUgRxTjhFGeYI8C6sm2kZRk6Vbke3kLmMJp0GoPuz7hyHUpg2UtRMVEWZ5mge9qKi3S4cv4vM_13y26XVgitluU02tZQnvlXX280pOuX7pDj4zTK_hWjUNGRodmGm0n7pLQT5Nr6pOrS2_n7t8ay0pmExfdM6dLIvnk2J4aJXrpiqs9cDwMLt__NicjP6basfwsERlGR4eA3so8J8AAAD__6JpRXM">