Bill Wendling | ff57307 | 2019-01-27 07:24:03 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -std=c++17 -fms-extensions -triple=x86_64-pc-win32 -verify %s |
2 | // expected-no-diagnostics | ||||
3 | |||||
4 | // PR40395 - ConstantExpr shouldn't cause the template object to infinitely | ||||
5 | // expand. | ||||
6 | struct _GUID {}; | ||||
7 | struct __declspec(uuid("{AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}")) B {}; | ||||
8 | |||||
9 | template <const _GUID* piid> | ||||
10 | struct A { | ||||
11 | virtual void baz() { A<piid>(); } | ||||
12 | }; | ||||
13 | |||||
14 | void f() { | ||||
15 | A<&__uuidof(B)>(); | ||||
16 | } |