akwright@water.UUCP (Andrew K. Wright) (12/06/86)
There appears to have been no attempt to detect aliasing among arguments to inline functions in C++. The following trivial program generates different results if the inline keyword is inserted where shown. Is this a known problem? Or worse yet, is this they way it is *supposed* to work? ---------------------------- #include <stdio.h> int x; /* inline */ int f( int q, int *r ) { return x = ++(*r) && q; } main() { int a = 0; int *b = &a; printf( "%d\n", f( a, b ) ); }
bs@alice.UUCP (12/08/86)
Inline functions have the same semantics as non-inline functions. Any example to the contrary is a bug.