Skip to content

[WebAssembly] __has_attribute(musttail) evaluates to true even when musttail is unsupported #163256

@ahatanak

Description

@ahatanak

$ cat test.cpp

#if __has_attribute(musttail)
#warning HAS IT
#else
#warning DOES NOT HAVE
#endif
void F(void) { [[clang::musttail]] return F(); }

$ clang++ -std=c++20 -target wasm32-unknown-unknown -c test.cpp
test.cpp:2:2: warning: HAS IT [-W#warnings]
2 | #warning HAS IT
| ^
test.cpp:6:6: error: WebAssembly 'tail-call' feature not enabled
6 | void F(void) { [[clang::musttail]] return F(); }
| ^
1 warning and 1 error generated.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions