llvm-project/clang/test/Driver/stack-alignment.c
Feng Zou 703e446022
[Clang] Add check for -mstack-alignment (#143124)
Currently the assertion in Alignment.h is triggered if a wrong value is
passed -mstack-alignment option:
```
Assertion `(Value == 0 || llvm::isPowerOf2_64(Value)) && "Alignment is neither 0 nor
a power of 2"' failed.
```

Added check in clang driver for the value of -mstack-alignment option,
and emitted an error message when the wrong value was passed.
2025-06-13 06:45:28 +08:00

12 lines
681 B
C

// RUN: not %clang -### -mstack-alignment=-1 %s 2>&1 | FileCheck %s --check-prefix=CHECK_NEG_1
// RUN: %clang -### -mstack-alignment=0 %s 2>&1 | FileCheck %s --check-prefix=CHECK_0
// RUN: %clang -### -mstack-alignment=1 %s 2>&1 | FileCheck %s --check-prefix=CHECK_1
// RUN: %clang -### -mstack-alignment=4 %s 2>&1 | FileCheck %s --check-prefix=CHECK_4
// RUN: not %clang -### -mstack-alignment=5 %s 2>&1 | FileCheck %s --check-prefix=CHECK_5
// CHECK_NEG_1: error: invalid argument '-1' to -mstack-alignment=
// CHECK_0: -mstack-alignment=0
// CHECK_1: -mstack-alignment=1
// CHECK_4: -mstack-alignment=4
// CHECK_5: error: alignment is not a power of 2 in '-mstack-alignment=5'