[all-commits] [llvm/llvm-project] 4d9578: [clang-reorder-fields] Support designated initiali...

Vladimir Vuksanovic via All-commits all-commits at lists.llvm.org
Mon Sep 1 00:27:04 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4d9578b8ed20f293641a5917447885ab97aeefbe
      https://github.com/llvm/llvm-project/commit/4d9578b8ed20f293641a5917447885ab97aeefbe
  Author: Vladimir Vuksanovic <109677816+vvuksanovic at users.noreply.github.com>
  Date:   2025-09-01 (Mon, 01 Sep 2025)

  Changed paths:
    M clang-tools-extra/clang-reorder-fields/CMakeLists.txt
    A clang-tools-extra/clang-reorder-fields/Designator.cpp
    A clang-tools-extra/clang-reorder-fields/Designator.h
    M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
    A clang-tools-extra/test/clang-reorder-fields/AggregatePartialInitialization.c
    M clang-tools-extra/test/clang-reorder-fields/AggregatePartialInitialization.cpp
    A clang-tools-extra/test/clang-reorder-fields/DesignatedInitializerList.c
    A clang-tools-extra/test/clang-reorder-fields/DesignatedInitializerList.cpp
    A clang-tools-extra/test/clang-reorder-fields/IdiomaticZeroInitializer.c
    A clang-tools-extra/test/clang-reorder-fields/InitializerListExcessElements.c

  Log Message:
  -----------
  [clang-reorder-fields] Support designated initializers (#142150)

Initializer lists with designators, missing elements or omitted braces
can now be rewritten. Any missing designators are added and they get
sorted according to the new order.

```
struct Foo {
  int a;
  int b;
  int c;
};
struct Foo foo = { .a = 1, 2, 3 }
```

when reordering elements to "b,a,c" becomes:

```
struct Foo {
  int b;
  int a;
  int c;
};
struct Foo foo = { .b = 2, .a = 1, .c = 3 }
```



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list