Hi, the attached code compiles fine and does calculate the offset between the current stackpointer and the passed point in gcc versions before 4.0. In 4.0 the expression is reduced to -16384 even in the t03.generic dump which makes me suspect a parser problem. Or it might just be wrong code... I am not sure.
-- Summary: miscompiled or wrong code snippet? Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: marcus at jet dot franken dot de CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21985