Yes, in fact that's *exactly* what GCC is assuming. And it will be true for all code that GCC generates.
How can that possibly ever work? Is the assumption then that the only code GCC will ever work with is code that GCC compiled? In effect what this implies is that GCC is re-defining the ABI. It also means it is impossible for GCC to inter-operate with vendor supplied libraries like libc. If I use a libc function that has a callback, like ftw() or bsearch() or qsort(), then I cannot have them call a function that was compiled with gcc, becasue no ABI previously defined has made it a requirement for every stack frame to be 16-byte aligned.
Kean