This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/15885] New: spurious or misleading va_start warning


When compiling the source below, gcc produces the warnings

x.cc:8: warning: second parameter of `va_start' not last named argument
x.cc:8: warning: second parameter of `va_start' not last named argument
 
which is at best misleading, as the second argument of va_start actually
is the last named argument.  gcc appears to give this warning in this
case if the argument is also passed by reference somewhere in the
function, as it is here in the call to bar().

I don't have my copy of the standard handy, so i'm not completely sure
that there isn't a restriction about taking a reference to an argument
used in va_start.  However, even if this test case is actually not valid,
the warning message should be changed to reflect the true problem.

Environment:
System: Linux karma 2.6.6 #15 Thu May 13 15:07:54 EDT 2004 i686 i686 i386 GNU/Linux
Architecture: i686

	<machine, os, target, libraries (multiple lines)>
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: /home/sss/gcc/gcc/configure --prefix=/usr/local/gcc --enable-threads=posix --enable-long-long --enable-languages=c,c++,f95

How-To-Repeat:

Compile the following:

----------------------------
#include <cstdarg>

void bar(const int&);

void foo (int x, ...)
{
  va_list ap;
  va_start (ap, x);
  bar(x);
}

----------------------------
------- Additional Comments From snyder at fnal dot gov  2004-06-08 23:38 -------
Fix:
	<how to correct or work around the problem, if known (multiple lines)>

-- 
           Summary: spurious or misleading va_start warning
           Product: gcc
           Version: 3.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: snyder at fnal dot gov
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15885


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]