blob: f97a208192b60ce0a1a5608b171284ca79d6d132 [file] [log] [blame]
Argyrios Kyrtzidis98feafe2011-04-22 01:18:40 +00001// RUN: %clang_cc1 -fsyntax-only -verify %s
2
3// Don't crash.
4
5template<typename,typename=int,typename=int>struct basic_string;
6
7typedef basic_string<char> string;
8
9
10
11template<typename aT,typename,typename oc>
12struct basic_string
13{
14int us;
15basic_string(const aT*,const oc&a=int());
16
17int _S_construct();
18
19int _S_construct(int);
20
21_S_construct(); // expected-error {{requires}}
22};
23
24template<typename _CharT,typename _Traits,typename _Alloc>
Nico Weber4486d612015-02-18 05:19:40 +000025basic_string<_CharT,_Traits,_Alloc>::basic_string(const _CharT* c,const _Alloc&)
Argyrios Kyrtzidis98feafe2011-04-22 01:18:40 +000026:us(_S_construct)
Nico Weber4486d612015-02-18 05:19:40 +000027{string a(c);}
Argyrios Kyrtzidis98feafe2011-04-22 01:18:40 +000028
Eli Friedman7cd4a9b2012-02-22 04:49:04 +000029struct runtime_error{runtime_error(string);};
Argyrios Kyrtzidis98feafe2011-04-22 01:18:40 +000030
Eli Friedman7cd4a9b2012-02-22 04:49:04 +000031struct system_error:runtime_error{ // expected-note {{to match}}
32system_error():time_error("" // expected-error 3 {{expected}} expected-note {{to match}}