xref: /llvm-project/clang/test/Driver/mfunction-return.c (revision 2240d72f15f3b7b9d9fb65450f9bf635fd310f6f)
1*2240d72fSNick Desaulniers // RUN: %clang -mfunction-return= -### %s 2>&1 \
2*2240d72fSNick Desaulniers // RUN:   | FileCheck --check-prefix=CHECK-VALID %s
3*2240d72fSNick Desaulniers // RUN: not %clang -mfunction-return -### %s 2>&1 \
4*2240d72fSNick Desaulniers // RUN:   | FileCheck --check-prefix=CHECK-INVALID %s
5*2240d72fSNick Desaulniers 
6*2240d72fSNick Desaulniers // RUN: %clang -mfunction-return=keep -### %s 2>&1 \
7*2240d72fSNick Desaulniers // RUN:   | FileCheck --check-prefix=CHECK-KEEP %s
8*2240d72fSNick Desaulniers // RUN: %clang -mfunction-return=thunk-extern -### %s 2>&1 \
9*2240d72fSNick Desaulniers // RUN:   | FileCheck --check-prefix=CHECK-EXTERN %s
10*2240d72fSNick Desaulniers 
11*2240d72fSNick Desaulniers // RUN: %clang -mfunction-return=keep -mfunction-return=thunk-extern -### %s 2>&1 \
12*2240d72fSNick Desaulniers // RUN:   | FileCheck --check-prefix=CHECK-EXTERN %s
13*2240d72fSNick Desaulniers // RUN: %clang -mfunction-return=thunk-extern -mfunction-return=keep -### %s 2>&1 \
14*2240d72fSNick Desaulniers // RUN:   | FileCheck --check-prefix=CHECK-KEEP %s
15*2240d72fSNick Desaulniers 
16*2240d72fSNick Desaulniers // CHECK-VALID:   "-mfunction-return="
17*2240d72fSNick Desaulniers // CHECK-INVALID: error: unknown argument: '-mfunction-return'
18*2240d72fSNick Desaulniers 
19*2240d72fSNick Desaulniers // CHECK-KEEP:       "-mfunction-return=keep"
20*2240d72fSNick Desaulniers // CHECK-KEEP-NOT:   "-mfunction-return=thunk-extern"
21*2240d72fSNick Desaulniers // CHECK-EXTERN:     "-mfunction-return=thunk-extern"
22*2240d72fSNick Desaulniers // CHECK-EXTERN-NOT: "-mfunction-return=keep"
23