Issue 109139
Summary Crash with macro formatting inside of double namespaces with NamespaceIndentation and CompactNamespaces
Labels
Assignees
Reporter TIMONz1535
    I am using the latest **Visual Studio Community 2022 - 17.11.4** clang binaries **17.0.3.0** for file formatting on Windows 11 23H2 22631.4169
Command line:
`"C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/Llvm/x64/bin/clang-format.exe" --style=file clang_crash.hlsli`

```
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/Llvm/x64/bin/clang-format.exe" --style=file clang_crash.hlsli
Exception Code: 0xC0000005
0x00007FF64B4B702C, C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang-format.exe(0x00007FF64B3C0000) + 0xF702C byte(s)
0x00007FF64B4B51C6, C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang-format.exe(0x00007FF64B3C0000) + 0xF51C6 byte(s)
0x00007FF64B4B4AB5, C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang-format.exe(0x00007FF64B3C0000) + 0xF4AB5 byte(s)
0x00007FF64B41BD10, C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang-format.exe(0x00007FF64B3C0000) + 0x5BD10 byte(s)
0x00007FF64B4854D1, C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang-format.exe(0x00007FF64B3C0000) + 0xC54D1 byte(s)
0x00007FF64B42EED7, C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang-format.exe(0x00007FF64B3C0000) + 0x6EED7 byte(s)
0x00007FF64B411462, C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang-format.exe(0x00007FF64B3C0000) + 0x51462 byte(s)
0x00007FF64B413E89, C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang-format.exe(0x00007FF64B3C0000) + 0x53E89 byte(s)
0x00007FF64B3C572D, C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang-format.exe(0x00007FF64B3C0000) + 0x572D byte(s)
0x00007FF64B3C39B6, C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang-format.exe(0x00007FF64B3C0000) + 0x39B6 byte(s)
0x00007FF64B570F40, C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang-format.exe(0x00007FF64B3C0000) + 0x1B0F40 byte(s)
0x00007FF8F0A1257D, C:\Windows\System32\KERNEL32.DLL(0x00007FF8F0A00000) + 0x1257D byte(s), BaseThreadInitThunk() + 0x1D byte(s)
0x00007FF8F21AAF28, C:\Windows\SYSTEM32\ntdll.dll(0x00007FF8F2150000) + 0x5AF28 byte(s), RtlUserThreadStart() + 0x28 byte(s)
```

I have a macro inside two namespaces, and the most important thing - before the macro is a comment without indentation. If you delete one namespace, or delete a comment, or add a tab in front of comment, there will be no crash
```hlsl
namespace TextureSet {
	namespace Tools {



// TODO: template <typename T> in HLSL 2021
#define NormalizeTest_TEMPLATE(T) \
	T NormalizeTest(const in T value) \
	{ \
		return value - (1.0f / 128.0f) * value * (1.0f - value); \
	}


}}
```
.clang-format
```
---
BasedOnStyle: Chromium

NamespaceIndentation: All
CompactNamespaces: 'true'

...
```

[file_and_config.zip](https://github.com/user-attachments/files/17044745/file_and_config.zip)
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to