]>
Commit | Line | Data |
---|---|---|
8d4bcc35 | 1 | // PR c++/47851 |
4b2e63de | 2 | // { dg-do compile { target c++11 } } |
8d4bcc35 JM |
3 | |
4 | struct Type { | |
5 | void display_type(); | |
6 | void display_type() const { } | |
7 | }; | |
8 | ||
9 | typedef Type const ConstType; | |
10 | ||
11 | struct ConvertibleToType { | |
12 | operator Type&() { return *reinterpret_cast<Type*>(this); } | |
13 | }; | |
14 | ||
15 | int main () | |
16 | { | |
17 | // Both lines should call the const variant. | |
18 | (true ? ConvertibleToType() : ConstType()).display_type(); | |
19 | decltype((true ? ConvertibleToType() : ConstType()))().display_type(); | |
20 | } |