On 20 February 2016 at 18:55, H.J. Lu <hjl.to...@gmail.com> wrote: > struct dummy0 > { > }; > > struct dummy > { > dummy0 d[20]; > > dummy0 * foo (int i); > }; > > dummy0 * > dummy::foo (int i) > { > return &d[i]; > } > > dummy0 * > bar (dummy d, int i) > { > return d.foo (i); > }
1. This has undefined behaviour due to returning a pointer to a local variable 2. There's still no need for the reference to the original argument since copying it is a nop. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits