Const-correctness broken for references to pointers.
Hyman Rosen
hymie@prolifics.com
Tue Jul 7 18:26:00 GMT 1998
The compiler allows a reference to a pointer to constant to be initialized
by a pointer to non-constant. This allows const data to be changed, without
a peep from the compiler. Here's the test case:
/*----------------------------------------*/
extern "C" int printf(const char *, ...);
int main(int, char **)
{
volatile const int c = 42;
volatile int *p;
volatile const int *&r = p;
r = &c;
*p = 0;
if (c != 42)
printf("FAILED!\n");
}
/*----------------------------------------*/
More information about the Gcc-bugs
mailing list