c ++ chrono duration_cast a milisegundos resulta en segundos

Quiero tener el número de milisegundos desde la época. Una solución popular es la siguiente (una de las soluciones de esta pregunta que se hace aquí)Obtenga tiempo desde la época en milisegundos, preferiblemente con el crono C ++ 11 )

#include <iostream>
#include <chrono>

int main() {
    auto millitime = std::chrono::duration_cast<std::chrono::milliseconds>
        (std::chrono::system_clock::now().time_since_epoch()).count();
    std::cout << millitime << std::endl;
    return 0;
}

compilando esto con una llamada ag++ me gustag++ -std=c++11 main.cpp -o timetest resultados en la salida

1372686001

que es igual al número desegundos desde la época!

¿Es este un error en el glibc? en g ++? ¿mi error?

g++ (Debian 4.7.3-4) 4.7.3
ldd (Debian EGLIBC 2.17-6) 2.17

Actualizar: funciona cuando se usa el g ++ 4.8. ¿Así que es un error de gcc?

g++-4.8 (Debian 4.8.1-2) 4.8.1

Respuestas a la pregunta(1)

Su respuesta a la pregunta