Деление по комплексу <double> в clang ++ против g ++

Когда я компилирую следующий код с помощью g ++ (4.8.1 или 4.9.0) или clang ++ (3.4), я получаю разные результаты.

#include <iostream>
#include <complex>

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

г ++:

(1e+162,0)

лязг ++:

(inf,-nan)

Это ошибка в Clang?

Обновить:

Спасибо за ответ! Я сообщил об ошибке:http://llvm.org/bugs/show_bug.cgi?id=19820

Ответы на вопрос(4)

Ваш ответ на вопрос