xref: /llvm-project/lldb/test/API/functionalities/step-avoids-regexp/main.cpp (revision 3cc9884500ad53e878045bc1d119d8a6b326f274)
1a4561d93SMichael Buch namespace ignore {
2*3cc98845SMichael Buch struct Dummy {};
3*3cc98845SMichael Buch 
auto_ret(T x)4a4561d93SMichael Buch template <typename T> auto auto_ret(T x) { return 0; }
with_tag()5a4561d93SMichael Buch [[gnu::abi_tag("test")]] int with_tag() { return 0; }
with_tag_template()6a4561d93SMichael Buch template <typename T> [[gnu::abi_tag("test")]] int with_tag_template() {
7a4561d93SMichael Buch   return 0;
8a4561d93SMichael Buch }
9a4561d93SMichael Buch 
decltype_auto_ret(T x)10a4561d93SMichael Buch template <typename T> decltype(auto) decltype_auto_ret(T x) { return 0; }
11a4561d93SMichael Buch } // namespace ignore
12a4561d93SMichael Buch 
13*3cc98845SMichael Buch template <typename T>
with_tag_template_returns_ignore(T x)14*3cc98845SMichael Buch [[gnu::abi_tag("test")]] ignore::Dummy with_tag_template_returns_ignore(T x) {
15*3cc98845SMichael Buch   return {};
16*3cc98845SMichael Buch }
17*3cc98845SMichael Buch 
main()18a4561d93SMichael Buch int main() {
19a4561d93SMichael Buch   auto v1 = ignore::auto_ret<int>(5);
20a4561d93SMichael Buch   auto v2 = ignore::with_tag();
21a4561d93SMichael Buch   auto v3 = ignore::decltype_auto_ret<int>(5);
22a4561d93SMichael Buch   auto v4 = ignore::with_tag_template<int>();
23*3cc98845SMichael Buch   auto v5 = with_tag_template_returns_ignore<int>(5);
24a4561d93SMichael Buch }
25