1 // RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
3 // Make sure we don't run off the end of the stream when parsing a deferred
5 int a
; // expected-note {{previous}}
7 int n
= 4 + ; // expected-error {{expected expression}}
8 } a
; // expected-error {{redefinition}}
10 // Make sure we use all of the tokens.
12 int a
= 1 // expected-error {{expected ';' at end of declaration list}}
14 int c
= b
; // expected-error {{undeclared identifier}}
17 // Test recovery for bad constructor initializers
22 }; // expected-error {{expected '{' or ','}}
24 // Test correct parsing.
31 template <typename
, typename
> struct T1
{ enum {V
};};
32 template <int, int> struct T2
{ enum {V
};};
34 T1
<int, int> a1
= T1
<int, int>(), *a2
= new T1
<int,int>;
35 T2
<0,0> b1
= T2
<0,0>(), b2
= T2
<0,0>(), b3
;
36 bool c1
= 1 < 2, c2
= 2 < 1, c3
= false;
37 bool d1
= T1
<int, T1
<int, int>>::V
< 3, d2
;
38 T1
<int, int()> e
= T1
<int, int()>();
42 static int n
= delete; // expected-error {{only functions can have deleted definitions}}