1*67e74705SXin Li // RUN: %clang_cc1 -fsyntax-only -verify %s -std=c++11 2*67e74705SXin Li 3*67e74705SXin Li extern int a; 4*67e74705SXin Li auto a = 0; // expected-note 2{{here}} 5*67e74705SXin Li auto a = 0; // expected-error {{redefinition}} 6*67e74705SXin Li int a = 0; // expected-error {{redefinition}} 7*67e74705SXin Li extern auto a; // expected-error {{requires an initializer}} 8*67e74705SXin Li 9*67e74705SXin Li extern int b; // expected-note {{here}} 10*67e74705SXin Li auto b = 0.0; // expected-error {{different type}} 11*67e74705SXin Li 12*67e74705SXin Li struct S { 13*67e74705SXin Li static int a; 14*67e74705SXin Li static int b; // expected-note {{here}} 15*67e74705SXin Li }; 16*67e74705SXin Li 17*67e74705SXin Li auto S::a = 0; // expected-note 2{{here}} 18*67e74705SXin Li auto S::a; // expected-error {{redefinition}} expected-error {{requires an initializer}} 19*67e74705SXin Li int S::a = 0; // expected-error {{redefinition}} 20*67e74705SXin Li 21*67e74705SXin Li auto S::b = 0.0; // expected-error {{different type}} 22*67e74705SXin Li f()23*67e74705SXin Livoid f() { 24*67e74705SXin Li extern int a; 25*67e74705SXin Li extern auto a; // expected-error {{requires an initializer}} 26*67e74705SXin Li } 27