blob: 0be7ddb53ae8d6697ab05daf98bd94d046b312aa [file] [log] [blame]
Daniel Dunbard7d5f022009-03-24 02:24:46 +00001// RUN: clang-cc -fsyntax-only -verify %s
Douglas Gregor506ae412009-01-16 18:33:17 +00002
3struct SimpleValueInit {
4 int i;
5};
6
7struct InitViaConstructor {
8 InitViaConstructor(int i = 7);
9};
10
11// FIXME: error messages for implicitly-declared special member
12// function candidates are very poor
Sebastian Redl3cb06922009-02-07 19:52:04 +000013struct NoValueInit { // expected-note 2 {{candidate function}}
14 NoValueInit(int i, int j); // expected-note 2 {{candidate function}}
Douglas Gregor506ae412009-01-16 18:33:17 +000015};
16
17void test_cxx_functional_value_init() {
18 (void)SimpleValueInit();
19 (void)InitViaConstructor();
20 (void)NoValueInit(); // expected-error{{no matching constructor for initialization}}
21}
22
23void test_cxx_function_cast_multi() {
24 (void)NoValueInit(0, 0);
25 (void)NoValueInit(0, 0, 0); // expected-error{{no matching constructor for initialization}}
26 (void)int(1, 2); // expected-error{{function-style cast to a builtin type can only take one argument}}
27}