http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59813

            Bug ID: 59813
           Summary: tail-call elimintation didn't fired with left-shift of
                    char to cout
           Product: gcc
           Version: 4.8.2
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: virkony at gmail dot com

#include <iostream>
using namespace std;

void foo()
{
    cout << "x" << endl; // ok
    cout << 'x' << endl; // kills tail-call elimination in gcc 4.8.2
    foo();
}

int main() { foo(); return 0; }

// core-dups by long stack while in 4.7.3 works as expected (infinite loop)

Reply via email to