21 lines
520 B
C
21 lines
520 B
C
// RUN: %clang_cc1 %s -triple wasm32-unknown-unknown -target-feature +tail-call -o /dev/null -emit-llvm -verify=tail
|
|
// RUN: %clang_cc1 %s -triple wasm32-unknown-unknown -o /dev/null -emit-llvm -verify=notail
|
|
|
|
int foo(int x) {
|
|
return x;
|
|
}
|
|
|
|
#if __has_attribute(musttail)
|
|
// tail-warning@+1 {{HAS IT}}
|
|
#warning HAS IT
|
|
#else
|
|
// notail-warning@+1 {{DOES NOT HAVE}}
|
|
#warning DOES NOT HAVE
|
|
#endif
|
|
|
|
int bar(int x)
|
|
{
|
|
// notail-warning@+1 {{unknown attribute 'clang::musttail' ignored}}
|
|
[[clang::musttail]] return foo(1);
|
|
}
|