public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/102928] New: Template argument deduction when mixing variadic template with C-style variadic function
@ 2021-10-25 12:29 cerrigno at gmail dot com
  2021-11-06 22:10 ` [Bug c++/102928] " pinskia at gcc dot gnu.org
  0 siblings, 1 reply; 2+ messages in thread
From: cerrigno at gmail dot com @ 2021-10-25 12:29 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 102928
           Summary: Template argument deduction when mixing variadic
                    template with C-style variadic function
           Product: gcc
           Version: 11.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: cerrigno at gmail dot com
  Target Milestone: ---

GCC fails to deduce template arguments when mixing variadic template with
C-style variadic function.

This code compiles fine on clang, MSVC and ICC.

```
template <typename... Args>
constexpr auto foo(Args&& ...args, ...) noexcept {
    return sizeof...(args);
}

constexpr auto bar() noexcept {
        return foo<int>(1, 2);
}

static_assert(bar() == 2, "");
```

but on GCC bar() returns 1.

Even if not so clear on the standard, the correct output should be 2. More
information can be found on this answer on StackOverflow:
https://stackoverflow.com/a/69700603/3287591

See also this sandbox on Compiler Explorer: https://godbolt.org/z/e5v74n6fE

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-11-06 22:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-25 12:29 [Bug c++/102928] New: Template argument deduction when mixing variadic template with C-style variadic function cerrigno at gmail dot com
2021-11-06 22:10 ` [Bug c++/102928] " pinskia at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).