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 { bazA11 virtual void baz() { A<piid>(); } 12 }; 13 f()14void f() { 15 A<&__uuidof(B)>(); 16 } 17