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

            Bug ID: 79466
           Summary: strange varargs warnings on superflous paranthesises
           Product: gcc
           Version: 5.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: martin at netbsd dot org
  Target Milestone: ---

Created attachment 40719
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40719&action=edit
Simple example triggering the warning

When compiled with g++ -std=gnu++14 the expression

  __builtin_va_start ((ap), (fmt));

triggers a strange warning:

example.cc:4:37: warning: second parameter of 'va_start' not last named
argument [-Wvarargs]
     __builtin_va_start ((ap), (fmt));
                                     ^

Removing the extra paranthesis makes it work. This does not happen with
-std=gnu++11.

Sample attached, compile with:

g++ -Wall -O2 -std=gnu++14 -c -o example.o example.cc

(warning and optimization settings do not make a difference, only std= is
important)

Reply via email to