stack code would crash if list would have more than one entry.
this caused as well wrong gcc code for -O2, -O3 or -Os