| Issue |
75929
|
| Summary |
clang-format-18 `AlignArrayOfStructures: Left` fails when encountering UTF-32 strings
|
| Labels |
clang-format
|
| Assignees |
|
| Reporter |
MartinsSmirnovs
|
Given following `.clang-format` file:
```
AlignArrayOfStructures: Left
```
And following `foo.cpp` file:
```
#include <array>
#include <list>
#include <string>
struct Language {
std::array<char, 2> code = {};
std::u32string name;
};
using Languages = std::list<Language>;
Languages languages = {
Language{{'e', 'n'}, U"Test English" },
Language{{'l', 'v'}, U"Test Latviešu"},
Language{{'r', 'u'}, U"Test Русский" },
};
```
I expect that clang-format foo.cpp will not perform formatting, however, it does:
```
#include <array>
#include <list>
#include <string>
struct Language {
std::array<char, 2> code = {};
std::u32string name;
};
using Languages = std::list<Language>;
Languages languages = {
Language{{'e', 'n'}, U"Test English" },
Language{{'l', 'v'}, U"Test Latviešu" },
Language{{'r', 'u'}, U"Test Русский"},
};
```
If I remove the UTF-32 characters, then formatting happens as expected:
```
#include <array>
#include <list>
#include <string>
struct Language {
std::array<char, 2> code = {};
std::u32string name;
};
using Languages = std::list<Language>;
Languages languages = {
Language{{'e', 'n'}, U"Test English"},
Language{{'l', 'v'}, U"Test Latvian"},
Language{{'r', 'u'}, U"Test Russian"},
};
```
`clang-format` version:
```
$ clang-format --version
Ubuntu clang-format version 18.0.0 (++20231208042253+5fc76e6b6da7-1~exp1~20231208042409.1357)
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs