My guess would be that some of the code for handling va_list being an 
array is needed in the case of generating a trap as well.

      if (TREE_CODE (have_va_type) == ARRAY_TYPE)
        {
          if (TREE_CODE (TREE_TYPE (valist)) == ARRAY_TYPE)
            {
              tree p1 = build_pointer_type (TREE_TYPE (have_va_type));
              valist = build_fold_addr_expr_with_type (valist, p1);
            }
        }

(before gimplify_and_add (valist, pre_p);).

-- 
Joseph S. Myers
jos...@codesourcery.com

Reply via email to