1// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
2
3// Make sure we don't run off the end of the stream when parsing a deferred
4// initializer.
5int a; // expected-note {{previous}}
6struct S {
7  int n = 4 + ; // expected-error {{expected expression}}
8} a; // expected-error {{redefinition}}
9
10// Make sure we use all of the tokens.
11struct T {
12  int a = 1 // expected-error {{expected ';' at end of declaration list}}
13  int b = 2;
14  int c = b; // expected-error {{undeclared identifier}}
15};
16
17// Test recovery for bad constructor initializers
18
19struct R1 {
20  int a;
21  R1() : a {}
22}; // expected-error {{expected '{' or ','}}
23
24// Test correct parsing.
25
26struct V1 {
27  int a, b;
28  V1() : a(), b{} {}
29};
30