]> git.saurik.com Git - bison.git/blobdiff - src/complain.c
warnings: organize variadic complaints call
[bison.git] / src / complain.c
index 1d43f1d28d206200aadc4ad23f7fd756c1bd9898..ddd4156114b5ab5299bf0cc0df11cab05a434193 100644 (file)
@@ -161,3 +161,29 @@ complain_at_indent (location loc, warnings flags, unsigned *indent,
   complains (&loc, flags, message, args);
   va_end (args);
 }
+
+void
+complain_args (location const *loc, warnings w, int argc, char *argv[])
+{
+  switch (argc)
+  {
+  case 2:
+    complain (loc, w, "%s", _(argv[1]));
+    break;
+  case 3:
+    complain (loc, w, _(argv[1]), argv[2]);
+    break;
+  case 4:
+    complain (loc, w, _(argv[1]), argv[2], argv[3]);
+    break;
+  case 5:
+    complain (loc, w, _(argv[1]), argv[2], argv[3], argv[4]);
+    break;
+  case 6:
+    complain (loc, w, _(argv[1]), argv[2], argv[3], argv[4], argv[5]);
+    break;
+  default:
+    complain (loc, fatal, "too many arguments for complains");
+    break;
+  }
+}