https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56958

Will Benfold <will at benfold dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |will at benfold dot com

--- Comment #5 from Will Benfold <will at benfold dot com> ---
Still present in 7.3.0:

----------------------------------------------------------------

$ cat test.cpp
template<int...Is>
int foo (int n)
{
  return (( (n) + Is ) + ... + 0);
}

int main (int, char *[])
{
  foo<1>(0);
  foo<>(0);
  return 0;
}

$ g++ -std=c++17 -Wall -Wextra -o test test.cpp 
test.cpp: In instantiation of ‘int foo(int) [with int ...Is = {}]’:
test.cpp:10:10:   required from here
test.cpp:2:14: warning: parameter ‘n’ set but not used
[-Wunused-but-set-parameter]
 int foo (int n)

----------------------------------------------------------------

The warning goes away if the parentheses are removed from (n), or if it's
changed to (n+0).

Reply via email to