From: sscott@fwhnm0f.fwrdc.rtsg.mot.com (Steve Scott)
Subject: Parse errors during build of gcc-2.3.3
Reply-To: sscott@mot.com
Organization: Motorola, Inc. Fort Worth Research and Development Center
Date: Wed, 6 Jan 1993 20:41:59 GMT
Summary: Parse errors during build of gcc-2.3.3
Keywords: g++ parse errors SysVR4


Configuration:

Motorola 187 (88100 single board CPU), 32 Mbytes, 1.2 Gbyte disk, etc.
SysV R4 V3 operating system (V3 is Motorola's internal version number).

I am attempting to build gcc-2.3.3.  I have configured gcc via:

./configure m88k-motorola-sysv4

The problem comes (quite a ways into the build) with a prototype found in
/usr/include/stdio.h.

Following is the error prone portion of the output from the build:

	for name in _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2  _lshrdi3 _lshldi3 _ashldi3 _ashrdi3   _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2 _floatdidf _floatdisf  _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi  __gcc_bcmp _varargs _eprintf _builtin_new _caps_New _builtin_del  _bb _shtab _clear_cache _trampoline __main _exit _ctors; \
	do \
	  echo ${name}; \
	  ./xgcc -B./ -O2  -DIN_GCC -DNO_BUGS -D__STDC__=0  -g  -g1 -I. -I. -I./config -c -DL${name} \
	      ./libgcc2.c -o ${name}.o; \
	  if [ $? -eq 0 ] ; then true; else exit 1; fi; \
	  ar rc tmplibgcc2.a ${name}.o; \
	  rm -f ${name}.o; \
	done
_muldi3
_divdi3
_moddi3
_udivdi3
_umoddi3
_negdi2
_lshrdi3
_lshldi3
_ashldi3
_ashrdi3
_udiv_w_sdiv
_udivmoddi4
_cmpdi2
_ucmpdi2
_floatdidf
_floatdisf
_fixunsdfsi
_fixunssfsi
_fixunsdfdi
_fixdfdi
_fixunssfdi
_fixsfdi
__gcc_bcmp
_varargs
_eprintf
In file included from ./libgcc2.c:1155:
/usr/include/stdio.h:200: parse error before `__gnuc_va_list'
/usr/include/stdio.h:201: parse error before `__gnuc_va_list'
/usr/include/stdio.h:205: parse error before `__gnuc_va_list'
*** Error code 1 (bu21)
current working directory is: = /usr1/src/gcc-2.3.3

make: fatal error.


Following is the significant lines from /usr/include/stdio.h:

#if __GNUC__ > 1
#define __need___va_list
#include <stdarg.h>
extern int      vfprintf(FILE *, const char *, __gnuc_va_list);
extern int      vprintf(const char *, __gnuc_va_list);
#if __BSD__
extern char     *vsprintf(char *, const char *, __gnuc_va_list);
#else
extern int      vsprintf(char *, const char *, __gnuc_va_list);
#endif


I COULD use -D__GNUC__=0 (for example) to force the use of the non-ANSI
style prototypes (not shown here for brevity).  But, what I really would
like to know is why the standard cc compiler expects that there is a
parse error before __gnuc_va_list).  I SUSPECT that it has something to
do with a typedef or macro expansion.

Have any of you out there built gcc-2.3.3 on a system similar to mine?

Thanks,

--
+----------------------------------------------------------------------------+
| Steve Scott                                | Internet: sscott@mot.com      |
| Fort Worth Research and Development Center | UUCP:     uunet!motcid!sscott |
| Cellular Infrastructure Group              | Internal: TX14/1D             |
| Radio Telephone Systems Group              | Voice:    (817) 232-6317      |
| Motorola, Inc.                             | Fax:      (817) 232-6148      |
|               The opinions contained herein are STRICTLY my own            |
+----------------------------------------------------------------------------+
Newsgroups: gnu.g++.help