xref: /aosp_15_r20/external/clang/test/Sema/attr-disable-tail-calls.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -fsyntax-only -verify %s
2*67e74705SXin Li 
foo1(int a)3*67e74705SXin Li void __attribute__((disable_tail_calls,naked)) foo1(int a) { // expected-error {{'disable_tail_calls' and 'naked' attributes are not compatible}} expected-note {{conflicting attribute is here}}
4*67e74705SXin Li   __asm__("");
5*67e74705SXin Li }
6*67e74705SXin Li 
foo2(int a)7*67e74705SXin Li void __attribute__((naked,disable_tail_calls)) foo2(int a) { // expected-error {{'naked' and 'disable_tail_calls' attributes are not compatible}} expected-note {{conflicting attribute is here}}
8*67e74705SXin Li   __asm__("");
9*67e74705SXin Li }
10*67e74705SXin Li 
11*67e74705SXin Li int g0 __attribute__((disable_tail_calls)); // expected-warning {{'disable_tail_calls' attribute only applies to functions and methods}}
12*67e74705SXin Li 
13*67e74705SXin Li int foo3(int a) __attribute__((disable_tail_calls("abc"))); // expected-error {{'disable_tail_calls' attribute takes no arguments}}
14