[BRIGFE] Fix PR 82771.
authorHenry Linjamäki <henry.linjamaki@parmance.com>
Tue, 31 Oct 2017 13:00:53 +0000 (13:00 +0000)
committerPekka Jääskeläinen <visit0r@gcc.gnu.org>
Tue, 31 Oct 2017 13:00:53 +0000 (13:00 +0000)
From-SVN: r254265

gcc/brig/ChangeLog
gcc/brig/brig-lang.c

index 01778599406c9a95c5239e05a2803162f96c044b..dede3f405f5f1cfd0830338217aa6f4d9c9b99d8 100644 (file)
@@ -1,3 +1,7 @@
+2017-10-31  Henry Linjamäki  <henry.linjamaki@parmance.com>
+
+       * brig-lang.c (brig_langhook_type_for_mode): Fix PR 82771.
+
 2017-10-23  Richard Sandiford  <richard.sandiford@linaro.org>
 
        * brig-lang.c (brig_langhook_type_for_mode): Use scalar_int_mode
index cff605541d05b80bbe815699b5dc8cc1f36a24cf..f34d958763272b5ac18dd7a693232049f216337f 100644 (file)
@@ -280,9 +280,9 @@ brig_langhook_type_for_mode (machine_mode mode, int unsignedp)
 
   scalar_int_mode imode;
   scalar_float_mode fmode;
-  if (is_int_mode (mode, &imode))
+  if (is_float_mode (mode, &fmode))
     {
-      switch (GET_MODE_BITSIZE (imode))
+      switch (GET_MODE_BITSIZE (fmode))
        {
        case 32:
          return float_type_node;
@@ -291,15 +291,15 @@ brig_langhook_type_for_mode (machine_mode mode, int unsignedp)
        default:
          /* We have to check for long double in order to support
             i386 excess precision.  */
-         if (imode == TYPE_MODE (long_double_type_node))
+         if (fmode == TYPE_MODE (long_double_type_node))
            return long_double_type_node;
 
          gcc_unreachable ();
          return NULL_TREE;
        }
     }
-  else if (is_float_mode (mode, &fmode))
-    return brig_langhook_type_for_size (GET_MODE_BITSIZE (fmode), unsignedp);
+  else if (is_int_mode (mode, &imode))
+    return brig_langhook_type_for_size (GET_MODE_BITSIZE (imode), unsignedp);
   else
     {
       /* E.g., build_common_builtin_nodes () asks for modes/builtins