Re: compiler error? (RE: please review wip/cc65)
Gary Duzan <[email protected]>
| Newsgroups | gmane.os.netbsd.devel.pkgsrc.wip.review,gmane.os.netbsd.devel.pkgsrc.wip.general |
|---|---|
| Message-ID | <[email protected]> |
In Message <[email protected]> , [email protected] wrote: =>=> [email protected] <mailto:[email protected]> wrote: =>=>> In file included from strbuf.c:42: =>=>> va_copy.h:48:2: error: #error "The compiler is broken!" =>=>> In file included from xsprintf.c:46: =>=>> va_copy.h:48:2: error: #error "The compiler is broken!" =>=>> gmake[2]: *** [depend] Error 1 =>=>> gmake[2]: Leaving directory =>=>> `/usr/pkgsrc/wip/cc65/work.x86_64/cc65-2.12.0/src/common' =>=>> gmake[1]: *** [all] Error 2 =>=> =>=> (Changing group. Please remove pkgsrc-wip-review from replies.) =>=> =>=> The following comment was the response I received from the developer: =>=> =>=> {{{ This means that the compiler claims to be compliant to an ANSI or ISO =>=> standard before C99 but defines va_copy anyway. If the former is true, =>=> va_copy is no reserved identifier and must not be defined by the compiler. =>=> At least this is my interpretation of the standard is how other compilers =>=> implement it. Maybe someone active in -BSD development can comment on it. =>=> }}} => => A quick search shows that NetBSD is setting the following in stdarg.h: => =>#if !defined(_ANSI_SOURCE) && \ => (defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) >= 199901L || \ => defined(_NETBSD_SOURCE)) =>#define va_copy(dest, src) __va_copy((dest), (src)) =>#endif => => I haven't yet checked to see if this is actually included, or which =>macros were set. For completeness, yes, stdarg.h is included. _NETBSD_SOURCE is being defined by default since none of { _ANSI_SOURCE, _POSIX_C_SOURCE, _XOPEN_SOURCE } are being defined. So defining _ANSI_SOURCE would do what the source expects. Of course, as Joerg stated, using the system va_copy() if defined might be better, and from the looks of things might be an easier patch. Gary Duzan ------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08