// RUN: %clang_cc1 -fsyntax-only -verify %s
// RUN: %clang_cc1 -fsyntax-only -verify -std=c++98 %s
// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
// Tests that dependent expressions are always allowed, whereas non-dependent
// are checked as usual.
// Fake typeid, lacking a typeinfo header.
; // expected-note 3 {{candidate constructor (the implicit copy constructor)}}
// expected-note@-2 3 {{candidate constructor (the implicit move constructor) not viable}}
int
T
void // expected-note {{substitution failure [with T = int]: restrict requires a pointer or reference ('int' is invalid}}
void