// RUN: %clang_cc1 -fsyntax-only -verify %s
// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s
// RUN: %clang_cc1 -std=c++14 -fsyntax-only -verify %s
int ;
void
typedef int t;
void
// C++ [dcl.init.ref]p5b1
;
b;
void
B ;
// C++ [dcl.init.ref]p5b2
void
void
// C++ [dcl.init.ref]p3
int&
int& not_initialized_error; // expected-error{{declaration of reference variable 'not_initialized_error' requires an initializer}}
extern int& not_initialized_okay;
;
; // expected-warning {{direct base 'A' is inaccessible due to ambiguity:\n struct C -> struct B -> struct A\nstruct C -> struct A}}
void
// C++ [dcl.ref]p1, C++ [dcl.ref]p4
void
// namespace var_template
int
int const_ref_param = const_param<int&>; // no-warning
;
string ;
void
void
// The following crashed trying to recursively evaluate the LValue.
const int &do_not_crash = do_not_crash; // expected-warning{{reference 'do_not_crash' is not yet bound to a value when used within its own initialization}}