Rebase.
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.robertl / eb75.C
blobc032c2a78fcd6abb480644ea9a4c0e8e72f2f9c8
1 // { dg-do assemble  }
2 int*& foo (int const *& x)
4   return const_cast<int*&> (x);
7 /*
8 If the references in this example are changed to pointers (change
9 all `&''s to `*'), no warnings result.
11 I think this is incorrect according to CD2 5.2.11, para 4:
13 4 An  lvalue of type T1 can be explicitly converted to an lvalue of type
14   T2 using the cast const_cast<T2&> (where T1 and T2 are  object  types)
15   if  a pointer to T1 can be explicitly converted to the type pointer to
16   T2 using a const_cast.  The result of a reference const_cast refers to
17   the original object.