// RUN: %clang_cc1 -std=c++2b -fsyntax-only -verify=expected,cxx2b %s
// RUN: %clang_cc1 -std=c++20 -fsyntax-only -verify=expected,cxx11_20 %s
// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify=expected,cxx11_20,cxx11 %s
int*
int*
int*
int *
int*
int&
int*
int*
int*
int*
int*
int&
int*
int*
void*
int*
int z = 1;
int*
int*
void*
int*
int*
int*
; struct B : A ;
A*
// PR 7999 - handle the case where a field is itself a reference.
;
;
PR7999_X& // no-warning
void // no-warning
// PR 8774: Don't try to evaluate parameters with default arguments like
// variables with an initializer, especially in templates where the default
// argument may not be an expression (yet).
// Don't warn about returning a local variable from a surrounding function if
// we're within a lambda-expression.
void
;
HoldsPointer
HoldsPointer
// FIXME: We could diagnose this too.
HoldsPointer