Issue 97368
Summary Feature Requests (Clang-Format): Allow type members to be aligned
Labels clang-format
Assignees
Reporter dsyx
    Give a separate option to align type members, such as enumerations, structures, etc.

In the current version (19.0.0) of Clang-Format, similar requirements can only be achieved through options such as `AlignConsecutiveAssignments` and `AlignConsecutiveDeclarations`, but this will affect assignments and declarations in functions that are not expected to be aligned.

Aligning type members makes sense, which makes the code easier to read, for example, 1 looks more pleasant than 2:

```c
// 1
typedef enum {
  LLVMRet            = 1,
  LLVMBr             = 2,
  LLVMSwitch         = 3,
  LLVMIndirectBr     = 4,
  LLVMInvoke = 5,
  LLVMUnreachable    = 7,
  LLVMCallBr         = 67,
 LLVMFNeg           = 66,
  LLVMAdd            = 8,
  LLVMFAdd = 9,
  LLVMSub            = 10,
  LLVMFSub           = 11,
  LLVMMul = 12,
  LLVMFMul           = 13,
  LLVMUDiv           = 14,
  LLVMSDiv           = 15,
  LLVMFDiv           = 16,
  LLVMURem = 17,
  LLVMSRem           = 18,
  LLVMFRem           = 19,
  LLVMShl            = 20,
  LLVMLShr           = 21,
  LLVMAShr = 22,
  LLVMAnd            = 23,
  LLVMOr             = 24,
  LLVMXor            = 25,
  LLVMAlloca         = 26,
  LLVMLoad = 27,
  LLVMStore          = 28,
  LLVMGetElementPtr  = 29,
  // ...
} LLVMOpcode;
```
```c
// 2
typedef enum {
 LLVMRet = 1,
  LLVMBr = 2,
  LLVMSwitch = 3,
  LLVMIndirectBr = 4,
  LLVMInvoke = 5,
  LLVMUnreachable = 7,
  LLVMCallBr = 67,
 LLVMFNeg = 66,
  LLVMAdd = 8,
  LLVMFAdd = 9,
  LLVMSub = 10,
 LLVMFSub = 11,
  LLVMMul = 12,
  LLVMFMul = 13,
  LLVMUDiv = 14,
 LLVMSDiv = 15,
  LLVMFDiv = 16,
  LLVMURem = 17,
  LLVMSRem = 18,
  LLVMFRem = 19,
  LLVMShl = 20,
  LLVMLShr = 21,
  LLVMAShr = 22,
  LLVMAnd = 23,
  LLVMOr = 24,
  LLVMXor = 25,
  LLVMAlloca = 26,
  LLVMLoad = 27,
  LLVMStore = 28,
  LLVMGetElementPtr = 29,
  // ...
} LLVMOpcode;
```

Thanks
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to