diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2013-10-09 22:31:15 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2013-10-09 22:31:15 +0000 |
commit | 215552adac04bc04778b3052c24d8c66b8455fef (patch) | |
tree | ecca99f169c43eb56f3f628b9248c8e0361b9a0e /gcc/go/gofrontend/runtime.cc | |
parent | 4d5b5e9f2c37500cb85e18ce685be3bdd6ba549d (diff) | |
download | gcc-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.cc | 7 |
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: |