From: sof AT dcs DOT gla DOT ac DOT uk (Sigbjorn Finne) Subject: RE: SML-NJ for CygWin32 31 Aug 1997 12:10:43 -0700 Approved: cygnus DOT gnu-win32 AT cygnus DOT com Distribution: cygnus Message-ID: <19970828191744.FMU39440.cygnus.gnu-win32@savage> References: <6CC63E2E4FC1D011A2A700609716117A266F0A AT seawolf> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Original-To: Fuehrer AT seabase DOT com Original-Cc: gnu-win32 AT cygnus DOT com, denis DOT trcek AT ijs DOT si In-Reply-To: <6CC63E2E4FC1D011A2A700609716117A266F0A@seawolf> X-Mailer: VM 6.33 under Emacs 19.34.1 Original-Sender: owner-gnu-win32 AT cygnus DOT com > > > > > > This is clearly incorrect behavior on the part of CygWin's gcc. > > Dollar > > > signs are not valid leading characters of C (or C++) identifiers. > > > > Until this is fixed in the preprocessor, the work-around for building > SML-NJ is to add a space separator between the "$" and the constant. I > will NOT submit this change to the SML-NJ team. They would likely > reject it anyhow (I would). Hi, AFAIK, it is ANSI that forbids $ in ids. I'd expect this restriction to be enabled via -ansi (as per gcc docs.) For whatever reason, the gcc2 snap included in b18 doesn't pass -$ to cpp with -ansi.. foo$ gcc -v Reading specs from c:\usr\H-i386-cygwin32\lib\gcc-lib\i386-cygwin32\cygnus-2.7.2-970404\specs gcc version cygnus-2.7.2-970404 foo$ echo 'subl $FOO, %eax' | gcc -E -Wp,-P -DFOO=4 - subl $FOO, %eax foo$ echo 'subl $FOO, %eax' | gcc -E -Wp,-P -DFOO=4 -ansi - subl $FOO, %eax Suggested workaround: use -Wp,-$ foo$ echo 'subl $FOO, %eax' | gcc -E -Wp,-P -DFOO=4 -Wp,-$ - subl $4 , %eax HTH, --Sigbjorn - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".