[Bug c++/107450] GCC accepts invalid program involving multiple template parameter packs
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri May 19 03:03:18 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107450
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Reduced/simplified (using auto because I feel like it):
int i, j, k;
void f(auto){i++;}
void g(auto){j++;}
void h(auto){k++;}
void foo(auto&&...args1, auto&&... args2, auto&&... args3) {
(f(args1), ...);
(g(args2), ...);
(h(args3), ...);
}
int main(int argc, char** argv)
{
foo(1,2,3,4,5,6); //gcc and clang compiles this while msvc correctly
rejects this
__builtin_printf("args1: %d, args2: %d, args3: %d.\n", i, j, k);
}
More information about the Gcc-bugs
mailing list