Date: Mon, 24 Mar 1997 06:18:16 -0800 (PST) From: bertram@ifib.uni-karlsruhe.de To: freebsd-gnats-submit@freebsd.org Subject: bin/3080: yacc produces output which doesn't compile with g++ [call of getenv()] Message-ID: <199703241418.GAA09476@freefall.freebsd.org> Resent-Message-ID: <199703241420.GAA09564@freefall.freebsd.org>
index | next in thread | raw e-mail
>Number: 3080
>Category: bin
>Synopsis: yacc produces output which doesn't compile with g++ [call of getenv()]
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Mar 24 06:20:01 PST 1997
>Last-Modified:
>Originator: Bertram Barth
>Organization:
private
>Release: 2.1.6 Release
>Environment:
>Description:
yacc-generated output holds a code sequence
extern char getenv();
xxx = getenv("XXX");
which makes C++ compilers like g++ complain/fail because of
prototype mismatch.
>How-To-Repeat:
>Fix:
yacc/skeleton.c
No good idea, since most solutions depend on previous #include statements,
like surround offending declaration with __BEGIN_DECLS/__BEGIN_DECLS
Maybe:
#if defined(__cplusplus)
extern "C" {
#endif
extern char getenv();
#if defined(__cplusplus)
};
#endif
>Audit-Trail:
>Unformatted:
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199703241418.GAA09476>
