http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35561
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> 2011-06-23 03:17:58 UTC --- At one point this was done but it was found it violated C rules. I can find the bug report but I am being lazy right now but it comes down to if it was promoted then you have issues if it escaped. Oh and technically a[i] does take the address of a.