aboutsummaryrefslogtreecommitdiff
path: root/gcc/go/gofrontend/runtime.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2013-10-09 22:31:15 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2013-10-09 22:31:15 +0000
commit215552adac04bc04778b3052c24d8c66b8455fef (patch)
treeecca99f169c43eb56f3f628b9248c8e0361b9a0e /gcc/go/gofrontend/runtime.cc
parent4d5b5e9f2c37500cb85e18ce685be3bdd6ba549d (diff)
downloadgcc-215552adac04bc04778b3052c24d8c66b8455fef.zip
gcc-215552adac04bc04778b3052c24d8c66b8455fef.tar.gz
gcc-215552adac04bc04778b3052c24d8c66b8455fef.tar.bz2
compiler, runtime: Fix complex division of NaN / 0.
From-SVN: r203331
Diffstat (limited to 'gcc/go/gofrontend/runtime.cc')
-rw-r--r--gcc/go/gofrontend/runtime.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/go/gofrontend/runtime.cc b/gcc/go/gofrontend/runtime.cc
index ecc508d..3b0f1880 100644
--- a/gcc/go/gofrontend/runtime.cc
+++ b/gcc/go/gofrontend/runtime.cc
@@ -42,6 +42,8 @@ enum Runtime_function_type
RFT_RUNE,
// Go type float64, C type double.
RFT_FLOAT64,
+ // Go type complex64, C type __complex float.
+ RFT_COMPLEX64,
// Go type complex128, C type __complex double.
RFT_COMPLEX128,
// Go type string, C type struct __go_string.
@@ -126,6 +128,10 @@ runtime_function_type(Runtime_function_type bft)
t = Type::lookup_float_type("float64");
break;
+ case RFT_COMPLEX64:
+ t = Type::lookup_complex_type("complex64");
+ break;
+
case RFT_COMPLEX128:
t = Type::lookup_complex_type("complex128");
break;
@@ -216,6 +222,7 @@ convert_to_runtime_function_type(Runtime_function_type bft, Expression* e,
case RFT_UINTPTR:
case RFT_RUNE:
case RFT_FLOAT64:
+ case RFT_COMPLEX64:
case RFT_COMPLEX128:
case RFT_STRING:
case RFT_POINTER: