+++ /dev/null
-// Bug: g++ re-evaluates the initializer for r before calling f(); since i has
-// changed to an invalid index, this breaks.
-
-class C
-{
-public:
- void f () { }
-};
-
-void foo (C * objs[])
-{
- int i = 0;
- C & r = * objs[i]; /* make reference to element */
-
- i = 666;
- r.f (); /* core dumps here */
-}
-
-int
-main ()
-{
- C * objs[1] = { new C };
-
- foo (objs);
-}