[Bug regression/36082] -finline-functions miscompiles tail recursion

2008-04-29 Thread kas at fi dot muni dot cz
--- Comment #2 from kas at fi dot muni dot cz 2008-04-29 21:39 --- Interesting. When rewritten to use union, it works even with -O3. Thanks! -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36082

[Bug regression/36082] -finline-functions miscompiles tail recursion

2008-04-29 Thread pinskia at gcc dot gnu dot org
--- Comment #1 from pinskia at gcc dot gnu dot org 2008-04-29 21:24 --- It is more than unportable, it contains undefined code as you violate C/C++ aliasing rules: d = *(unsigned long *)e1; *(unsigned long *)e1 = *(unsigned long *)e2; *(unsigned long *)e2 = d; Y