28 lines · plain
1! Test that -mframe-pointer can accept only specific values and when given an invalid value, check it raises an error.2 3! REQUIRES: aarch64-registered-target4 5! RUN: %flang_fc1 -triple aarch64-none-none -mframe-pointer=none -emit-llvm -o - %s 2>&1| FileCheck %s --check-prefix=CHECK-NONEFP6! RUN: %flang_fc1 -triple aarch64-none-none -mframe-pointer=non-leaf -emit-llvm -o - %s 2>&1| FileCheck %s --check-prefix=CHECK-NONLEAFFP7! RUN: %flang_fc1 -triple aarch64-none-none -mframe-pointer=reserved -emit-llvm -o - %s 2>&1| FileCheck %s --check-prefix=CHECK-RESERVEDFP8! RUN: %flang_fc1 -triple aarch64-none-none -mframe-pointer=all -emit-llvm -o - %s 2>&1| FileCheck %s --check-prefix=CHECK-ALLFP9! RUN: not %flang_fc1 -triple aarch64-none-none -mframe-pointer=wrongval -emit-llvm -o - %s 2>&1| FileCheck %s --check-prefix=CHECK-WRONGVALUEFP10 11! CHECK-NONEFP-LABEL: @func_() {12 13! CHECK-NONLEAFFP-LABEL: @func_()14! CHECK-NONLEAFFP-SAME: #015 16! CHECK-ALLFP-LABEL: @func_()17! CHECK-ALLFP-SAME: #018 19subroutine func20end subroutine func21 22! CHECK-NONEFP-NOT: attributes #0 = { "frame-pointer"="{{.*}}" }23! CHECK-NONLEAFFP: attributes #0 = { "frame-pointer"="non-leaf" }24! CHECK-RESERVEDFP: attributes #0 = { "frame-pointer"="reserved" }25! CHECK-ALLFP: attributes #0 = { "frame-pointer"="all" }26 27! CHECK-WRONGVALUEFP:error: invalid value 'wrongval' in '-mframe-pointer=wrongval'28