blob: c032c2a78fcd6abb480644ea9a4c0e8e72f2f9c8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
// { dg-do assemble }
int*& foo (int const *& x)
{
return const_cast<int*&> (x);
}
/*
If the references in this example are changed to pointers (change
all `&''s to `*'), no warnings result.
I think this is incorrect according to CD2 5.2.11, para 4:
4 An lvalue of type T1 can be explicitly converted to an lvalue of type
T2 using the cast const_cast<T2&> (where T1 and T2 are object types)
if a pointer to T1 can be explicitly converted to the type pointer to
T2 using a const_cast. The result of a reference const_cast refers to
the original object.
*/
|