(build_conditional_expr): Compare using TYPE_MAIN_VARIANT.
authorrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Jul 1992 02:15:51 +0000 (02:15 +0000)
committerrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Jul 1992 02:15:51 +0000 (02:15 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@1695 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/c-typeck.c

index ec984d4..ac8e48e 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))
     {