https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72842
--- Comment #9 from Andrew Pinski ---
For the original testcase, GCC, ICC, clang and MSVC all accept it.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72842
Will Wray changed:
What|Removed |Added
CC||wjwray at gmail dot com
--- Comment #8 from
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72842
--- Comment #7 from Daniel Krügler ---
(In reply to Daniel Krügler from comment #5)
> (In reply to Barry Revzin from comment #4)
> > I'll just email. Instantiating foo creates a function template with a
> > non-type template parameter of type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72842
--- Comment #6 from Daniel Krügler ---
(In reply to Daniel Krügler from comment #5)
> (In reply to Barry Revzin from comment #4)
> > I'll just email. Instantiating foo creates a function template with a
> > non-type template parameter of type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72842
--- Comment #5 from Daniel Krügler ---
(In reply to Barry Revzin from comment #4)
> I'll just email. Instantiating foo creates a function template with a
> non-type template parameter of type void. That's not an allowed type of a
> non-type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72842
--- Comment #4 from Barry Revzin ---
I'll just email. Instantiating foo creates a function template with a
non-type template parameter of type void. That's not an allowed type of a
non-type template parameter, so I think it should be ill-formed.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72842
--- Comment #3 from Daniel Krügler ---
Since this is not a newsgroup, let me ask differently: Can you please elaborate
what you consider as a concrete compiler defect, violating the existing
standard? I fail to see the point.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72842
--- Comment #2 from Barry Revzin ---
This non-dependent version:
template void bar() { }
fails to compile, even if we never call bar(), even if we wanted to call it
with an empty pack.
foo in the original example is this same thing with an
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72842
--- Comment #1 from Daniel Krügler ---
I don't see anything wrong with that code, since the parameter pack is empty,
so there is never any attempt to declare void as non-type template parameter
type. The standard has this restriction only for a