[Bug c++/80026] Regression: passing unresolved function pointer to variadic function template yields "too many arguments" error
egallager at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Sep 29 00:10:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80026
Eric Gallager <egallager at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2017-09-29
CC| |egallager at gcc dot gnu.org
Known to work| |4.4.7
Ever confirmed|0 |1
Known to fail| |4.0.1, 4.2.1, 4.6.4, 7.0,
| |8.0
--- Comment #1 from Eric Gallager <egallager at gcc dot gnu.org> ---
Confirmed that the message is as you say with current gcc:
$ /usr/local/bin/g++ -c -Wall -Wextra -pedantic 80026.cc
80026.cc: In function ‘int main()’:
80026.cc:8:6: error: too many arguments to function ‘void f(S ...) [with S =
{}]’
f(&g);
^
80026.cc:5:6: note: declared here
void f(S...){}
^
$
With a really old gcc such as 4.2.1 the message is also bad:
$ /usr/bin/g++-4.2 -c -Wall -Wextra -pedantic 80026.cc
80026.cc:4: error: expected identifier before ‘...’ token
80026.cc:4: error: expected ‘>’ before ‘...’ token
80026.cc:5: error: variable or field ‘f’ declared void
80026.cc:5: error: ‘S’ was not declared in this scope
80026.cc: In function ‘int main()’:
80026.cc:8: error: ‘f’ was not declared in this scope
$
...so I'm not sure when exactly the message started being the "good" one seen
with 4.4.7.
More information about the Gcc-bugs
mailing list