
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.
12 lines
681 B
C
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'
|