| // RUN: %clang_cc1 -verify %s -Wno-unevaluated-expression | |
| // Don't crash (PR50497). | |
| // expected-no-diagnostics | |
| namespace std { | |
| class type_info; | |
| } | |
| class Ex { | |
| // polymorphic | |
| virtual ~Ex(); | |
| }; | |
| void Frob(const std::type_info &type); | |
| void Foo(Ex *ex) { | |
| // generic lambda | |
| [=](auto rate) { | |
| // typeid | |
| Frob(typeid(*ex)); | |
| }(1); | |
| [=](auto rate) { | |
| // unevaluated nested typeid | |
| Frob(typeid((typeid(*ex), ex))); | |
| }(1); | |
| } |