1 | // RUN: %clang_cc1 -std=c++11 %s -verify |
2 | |
3 | using size_t = decltype(sizeof(int)); |
4 | |
5 | // Acceptable parameter declarations |
6 | char operator "" _a(const char *); |
7 | char operator "" _a(const char []); |
8 | char operator "" _a(unsigned long long); |
9 | char operator "" _a(long double); |
10 | char operator "" _a(char); |
11 | char operator "" _a(const volatile char); |
12 | char operator "" _a(wchar_t); |
13 | char operator "" _a(char16_t); |
14 | char operator "" _a(char32_t); |
15 | char operator "" _a(const char *, size_t); |
16 | char operator "" _a(const wchar_t *, size_t); |
17 | char operator "" _a(const char16_t *, size_t); |
18 | char operator "" _a(const char32_t *, size_t); |
19 | char operator "" _a(const char [32], size_t); |
20 | |
21 | // Unacceptable parameter declarations |
22 | char operator "" _b(); // expected-error {{parameter}} |
23 | char operator "" _b(const wchar_t *); // expected-error {{parameter}} |
24 | char operator "" _b(long long); // expected-error {{parameter}} |
25 | char operator "" _b(double); // expected-error {{parameter}} |
26 | char operator "" _b(short); // expected-error {{parameter}} |
27 | char operator "" _a(char, int = 0); // expected-error {{parameter}} |
28 | char operator "" _b(unsigned short); // expected-error {{parameter}} |
29 | char operator "" _b(signed char); // expected-error {{parameter}} |
30 | char operator "" _b(unsigned char); // expected-error {{parameter}} |
31 | char operator "" _b(const short *, size_t); // expected-error {{parameter}} |
32 | char operator "" _b(const unsigned short *, size_t); // expected-error {{parameter}} |
33 | char operator "" _b(const signed char *, size_t); // expected-error {{parameter}} |
34 | char operator "" _b(const unsigned char *, size_t); // expected-error {{parameter}} |
35 | char operator "" _a(const volatile char *, size_t); // expected-error {{parameter}} |
36 | char operator "" _a(volatile wchar_t *, size_t); // expected-error {{parameter}} |
37 | char operator "" _a(char16_t *, size_t); // expected-error {{parameter}} |
38 | char operator "" _a(const char32_t *, size_t, bool = false); // expected-error {{parameter}} |
39 | char operator "" _a(const char *, signed long); // expected-error {{parameter}} |
40 | char operator "" _a(const char *, size_t = 0); // expected-error {{default argument}} |
41 | |