Date: Sun, 30 Dec 2012 18:07:08 +0100 (CET) From: Klaus Aehlig <aehlig@linta.de> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/174837: lang/intercal semantic incorrect compiler, when built with gcc 4.2.1 Message-ID: <20121230170708.23DF856441@hilbert.linta.de> Resent-Message-ID: <201212301740.qBUHe0Vs010455@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 174837 >Category: ports >Synopsis: lang/intercal semantic incorrect compiler, when built with gcc 4.2.1 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Dec 30 17:40:00 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Klaus Aehlig >Release: FreeBSD 8.3-STABLE amd64 >Organization: >Environment: System: FreeBSD hilbert.linta.de 8.3-STABLE FreeBSD 8.3-STABLE #10 r243473: Sun Nov 25 06:27:11 CET 2012 root@hilbert.linta.de:/usr/obj/usr/src/sys/HILBERT amd64 >Description: If build with gcc 4.2.1 (i.e., the base cc on stable/8), ick produces compile errors when trying to use the system libraries. >How-To-Repeat: Build lang/intercal on stable/8 (where the base compiler is gcc 4.2.1). Try to compile the attached program with 'ick -b add.i'. You get the compiler error ICL997I ILLEGAL POSSESSION OF A CONTROLLED UNARY OPERATOR. ON THE WAY TO 27 CORRECT SOURCE AND RESUBNIT instead of the expected addition program. This happens with other system library calls as well. If lang/intercal is built with gcc46 everything works as expected. I have not tried which other C compilers do or do not work. >Fix: Enforce building with a specific version of gcc, i.e., by applying the following patch (intercal.diff). --- intercal.diff begins here --- diff -ruN intercal.orig/Makefile intercal/Makefile --- intercal.orig/Makefile 2012-12-30 17:44:48.000000000 +0100 +++ intercal/Makefile 2012-12-30 17:45:04.000000000 +0100 @@ -15,6 +15,7 @@ GNU_CONFIGURE= yes USE_GMAKE= yes +USE_GCC= 4.6 CFLAGS+= -D_POSIX_SOURCE DATADIR= ${PREFIX}/share/ick --- intercal.diff ends here --- --- add.i begins here --- PLEASE DO WRITE IN .1 DO WRITE IN .2 DO READ OUT .1 DO READ OUT .2 DO (1009) NEXT PLEASE DO READ OUT .3 DO GIVE UP --- add.i ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121230170708.23DF856441>