Correctly compute the type of an assignment expression.
This change enables following types of statements to work correctly:
a = b = 3;
if ((a = getchar()) < 0) { ... }
This fixes 2232082 acc: assignment in comparison segfaults
diff --git a/libacc/acc.cpp b/libacc/acc.cpp
index 6d9213c..808752e 100644
--- a/libacc/acc.cpp
+++ b/libacc/acc.cpp
@@ -1666,6 +1666,7 @@
pDestType->tag);
break;
}
+ setR0Type(pDestType);
}
virtual void loadR0FromR0() {
@@ -2836,6 +2837,7 @@
pTargetType->tag);
break;
}
+ setR0Type(pTargetType);
}
virtual void loadR0FromR0() {