llvm-project/clang/test/SemaCXX/PR40395.cpp

17 lines
400 B
C++
Raw Normal View History

// RUN: %clang_cc1 -std=c++17 -fms-extensions -triple=x86_64-pc-win32 -verify %s
// expected-no-diagnostics
// PR40395 - ConstantExpr shouldn't cause the template object to infinitely
// expand.
struct _GUID {};
struct __declspec(uuid("{AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}")) B {};
template <const _GUID* piid>
struct A {
virtual void baz() { A<piid>(); }
};
void f() {
A<&__uuidof(B)>();
}