ref: 867607689050314f1cd07f567ec06ceff1a1aa49
parent: 4988d317992e59bac97c4e1c86d40fae6bcc24fe
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Wed May 11 12:59:35 EDT 2016
[cc1] Fix bug after 0fc57e5 0fc57e5 fixed a bug but introduced another one.
--- a/cc1/cpp.c
+++ b/cc1/cpp.c
@@ -304,7 +304,8 @@
if (accept(')'))
return 0;
- for (n = 0; ; ++n) {
+ n = 0;
+ do {
if (n == NR_MACROARG) {
cpperror("too much parameters in macro");
return NR_MACROARG;
@@ -315,11 +316,9 @@
}
sym = install(NS_IDEN, yylval.sym);
sym->flags |= SUSED;
- args[n] = sym;
+ args[n++] = sym;
next();
- if (!accept(','))
- break;
- }
+ } while (accept(','));
expect(')');
return n;