[gnu.gcc.bug] Strange error message from gcc 1.30

pardo@june.cs.washington.edu (David Keppel) (02/24/89)

The following program causes the cpp error message to have line zero
instead of, say, the line of ``invocation'' of the macro.

MACHINE: VAX 8550, Ultrix 2.3
GCC: 1.30, built using configuration shell script.
Repeat by:


::::::::::::::
main.c
::::::::::::::

#define AMACRO(arg)	foo(arg)


#ifdef LINT
    extern int ZERO;
#else
#   define ZERO 0
#endif

#define STMT(s)		do { s } while (ZERO)

#define BUG(arg) \
			STMT( AMACRO((arg); )
/*                                   ^ this is a bug!
*/


    void
foo (int arg)
{
    ;
}

    int
main (void)
{
    int x;

    foo (x);

    /* Is this it? */
    BUG(x);

    /* Or is this it? */
    BUG(x);
}

::::::::::::::
gcc -g -ansi -v -W -Wimplicit -Wreturn-type -c main.c
::::::::::::::

gcc version 1.30
 /uns/src/GNU/g++/lib/gcc-cpp -v -undef -D__GNU__ -D__GNUC__ -T -$ -D__STRICT_ANSI__ main.c /tmp/cc011961.cpp
GNU CPP version 1.30
main.c:0: unterminated macro call
main.c:38: only 0 args to macro `STMT'
*** Error code 1


::::::::::::::
End
::::::::::::::

	;-D on  ( Error messages named after quarks )  Pardo
-- 
		    pardo@cs.washington.edu
    {rutgers,cornell,ucsd,ubc-cs,tektronix}!uw-beaver!june!pardo