===================================================================
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+
+/* Used to fail in the stdarg pass before fix for PR79908. */
+
+typedef __builtin_va_list __gnuc_va_list;
+typedef __gnuc_va_list va_list;
+
+void testva (int n, ...)
+{
+ va_list ap;
+ _Complex int i = __builtin_va_arg (ap, _Complex int);
+}
===================================================================
@@ -1057,7 +1057,7 @@ expand_ifn_va_arg_1 (function *fun)
types. */
gimplify_assign (lhs, expr, &pre);
}
- else
+ else if (is_gimple_addressable (expr))
gimplify_expr (&expr, &pre, &post, is_gimple_lvalue, fb_lvalue);
input_location = saved_location;