Issue 123179
Summary [clang-format] Macro formatting regression 19.1.6 vs 19.1.7
Labels clang-format
Assignees
Reporter chegoryu
    For the following code:
```cpp
template<typename Writer>
void write_to(Writer& writer, const FieldHeader& field_header) {
#define WRITE_MESSAGE(type) \
 { \
    case FieldType::type: { \
      writer.value(#type); \
 writer.key("Message").start_object(); \
      write_to(writer, cast_to<type>(field_header)); \
      writer.finish_object(); \
 return; \
    } \
  }
}
```

```
Ubuntu clang-format version 19.1.7 (++20250114103238+cd708029e0b2-1~exp1~20250114103342.77)
```

Produces
```cpp
template<typename Writer>
void write_to(Writer& writer, const FieldHeader& field_header) {
#define WRITE_MESSAGE(type) \
  {case FieldType::type: {writer.value(#type); \
  writer.key("Message").start_object(); \
 write_to(writer, cast_to<type>(field_header)); \
  writer.finish_object(); \
  return; \
  } \
  }
}
```

But
```
Ubuntu clang-format version 19.1.6 (++20241217110052+657e03f8625c-1~exp1~20241217110110.73)
```
Does not change the file


`clang-format-19 file.cpp --dump-config`: https://pastebin.com/7vebyX6j
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to