Bug#845716: gcc-4.9: "#define something" doesn't work
Package: gcc-4.9
Version: 4.9.2-10
Severity: important
Dear Maintainer,
Tried to build the legacy LineMode web browser, version 0.11a (available on browserarchive.org: http://cdn.browserarchive.org/worldwideweb/NeXT/WWWLineMode_0.11a.tar.gz)
When issuing the command "make", gcc outputs the following error:
cc -c -I../../../Implementation/ -I../ ../../../Implementation/HTFTP.c
.../../../Implementation/HTFTP.c:46:20: error: expected identifier before numeric constant
#define IPPORT_FTP 21
^
.../CommonMakefile:52: recipe for target 'HTFTP.o' failed
make: *** [HTFTP.o] Error 1
Note that the line where the error occurs in HTFTP.c is wrapped by an ifndef / endif:
#ifndef IPPORT_FTP
#define IPPORT_FTP 21
#endif
Whilst I would expect some compatibility issues with this code from the early 90s, "#define IPPORT_FTP 21" should work just fine (see also http://stackoverflow.com/questions/40804244 for a very similar issue involving the same GCC version).
Something definitely seems broken in this specific version of GCC (4.9.2-10), with the way #define directives are processed.
Any confirmation of whether this happens in higher versions would be welcome.
-- System Information:
Debian Release: 8.6
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: should not matter for this bug
Kernel: should not matter for this bug
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages gcc-4.9 depends on:
ii binutils 2.25-5
ii cpp-4.9 4.9.2-10
ii gcc-4.9-base 4.9.2-10
ii libc6 2.19-18+deb8u6
ii libcloog-isl4 0.18.2-1+b2
ii libgcc-4.9-dev 4.9.2-10
ii libgmp10 2:6.0.0+dfsg-6
ii libisl10 0.12.2-2
ii libmpc3 1.0.2-1
ii libmpfr4 3.1.2-2
ii zlib1g 1:1.2.8.dfsg-2+b1
Versions of packages gcc-4.9 recommends:
ii libc6-dev 2.19-18+deb8u6
Versions of packages gcc-4.9 suggests:
pn gcc-4.9-doc <none>
pn gcc-4.9-locales <none>
ii gcc-4.9-multilib 4.9.2-10
pn libasan1-dbg <none>
pn libatomic1-dbg <none>
pn libcilkrts5-dbg <none>
pn libgcc1-dbg <none>
pn libgomp1-dbg <none>
pn libitm1-dbg <none>
pn liblsan0-dbg <none>
pn libquadmath-dbg <none>
pn libtsan0-dbg <none>
pn libubsan0-dbg <none>
-- no debconf information
Reply to: