Division durch komplexes <double> in clang ++ gegen g ++

Wenn ich den folgenden Code mit g ++ (4.8.1 oder 4.9.0) oder clang ++ (3.4) kompiliere, erhalte ich verschiedene Ausgaben.

#include <iostream>
#include <complex>

int main() {
  std::complex<double> c = {1.e-162,0};
  std::cout << 1.0/c << std::endl;
  return 0;
}

g ++:

(1e+162,0)

clang ++:

(inf,-nan)

Ist das ein Clang-Bug?

Aktualisieren:

Danke für deine Antworten! Ich habe den Fehler gemeldet:http://llvm.org/bugs/show_bug.cgi?id=19820

Antworten auf die Frage(4)

Ihre Antwort auf die Frage