1*2240d72fSNick Desaulniers // RUN: %clang_cc1 -mfunction-return=keep -triple x86_64-linux-gnu %s 2*2240d72fSNick Desaulniers // RUN: %clang_cc1 -mfunction-return=thunk-extern -triple x86_64-linux-gnu %s 3*2240d72fSNick Desaulniers 4*2240d72fSNick Desaulniers // RUN: not %clang_cc1 -mfunction-return=thunk -triple x86_64-linux-gnu %s 2>&1 \ 5*2240d72fSNick Desaulniers // RUN: | FileCheck --check-prefix=CHECK-THUNK %s 6*2240d72fSNick Desaulniers // RUN: not %clang_cc1 -mfunction-return=thunk-inline -triple x86_64-linux-gnu %s 2>&1 \ 7*2240d72fSNick Desaulniers // RUN: | FileCheck --check-prefix=CHECK-INLINE %s 8*2240d72fSNick Desaulniers // RUN: not %clang_cc1 -mfunction-return=invalid -triple x86_64-linux-gnu %s 2>&1 \ 9*2240d72fSNick Desaulniers // RUN: | FileCheck --check-prefix=CHECK-INVALID %s 10*2240d72fSNick Desaulniers // RUN: not %clang_cc1 -mfunction-return=thunk-extern -triple s390x-linux-gnu %s 2>&1 \ 11*2240d72fSNick Desaulniers // RUN: | FileCheck --check-prefix=CHECK-TARGET %s 12*2240d72fSNick Desaulniers // RUN: not %clang_cc1 -mfunction-return=thunk-extern -mcmodel=large \ 13*2240d72fSNick Desaulniers // RUN: -triple x86_64-linux-gnu %s 2>&1 \ 14*2240d72fSNick Desaulniers // RUN: | FileCheck --check-prefix=CHECK-LARGE %s 15*2240d72fSNick Desaulniers 16*2240d72fSNick Desaulniers // CHECK-THUNK: error: invalid value 'thunk' in '-mfunction-return=thunk' 17*2240d72fSNick Desaulniers // CHECK-INLINE: error: invalid value 'thunk-inline' in '-mfunction-return=thunk-inline' 18*2240d72fSNick Desaulniers // CHECK-INVALID: error: invalid value 'invalid' in '-mfunction-return=invalid' 19*2240d72fSNick Desaulniers // CHECK-TARGET: error: invalid argument '-mfunction-return=' not allowed with 's390x-unknown-linux-gnu' 20*2240d72fSNick Desaulniers // CHECK-LARGE: error: invalid argument '-mfunction-return=thunk-extern' not allowed with '-mcmodel=large' 21