OSDN Git Service

Check for invalid uses of ... in builtin function calls.
[pf3gnuchains/gcc-fork.git] / gcc / go / gofrontend / expressions.cc
index 19ac03e..e3a3ab5 100644 (file)
@@ -6672,6 +6672,12 @@ Find_call_expression::expression(Expression** pexpr)
 Expression*
 Builtin_call_expression::do_lower(Gogo* gogo, Named_object* function, int)
 {
+  if (this->is_varargs() && this->code_ != BUILTIN_APPEND)
+    {
+      this->report_error(_("invalid use of %<...%> with builtin function"));
+      return Expression::make_error(this->location());
+    }
+
   if (this->code_ == BUILTIN_NEW)
     {
       const Expression_list* args = this->args();