(build_conditional_expr): Compare using TYPE_MAIN_VARIANT.
authorRichard Stallman <rms@gnu.org>
Tue, 28 Jul 1992 02:15:51 +0000 (02:15 +0000)
committerRichard Stallman <rms@gnu.org>
Tue, 28 Jul 1992 02:15:51 +0000 (02:15 +0000)
From-SVN: r1695

gcc/c-typeck.c

index ec984d48d07b3a17e4209cd0ba564194dcce28c8..ac8e48e3a1ba2ae20bd9be54d84bd35ec848e58d 100644 (file)
@@ -3454,8 +3454,13 @@ build_conditional_expr (ifexp, op1, op2)
       
   /* Quickly detect the usual case where op1 and op2 have the same type
      after promotion.  */
-  if (type1 == type2)
-    result_type = type1;
+  if (TYPE_MAIN_VARIANT (type1) == TYPE_MAIN_VARIANT (type2))
+    {
+      if (type1 == type2)
+       result_type = type1;
+      else
+       result_type = TYPE_MAIN_VARIANT (type1);
+    }
   else if ((code1 == INTEGER_TYPE || code1 == REAL_TYPE)
            && (code2 == INTEGER_TYPE || code2 == REAL_TYPE))
     {