From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10590 invoked by alias); 4 Mar 2002 16:36:03 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 10535 invoked by uid 71); 4 Mar 2002 16:36:02 -0000 Date: Mon, 04 Mar 2002 08:36:00 -0000 Message-ID: <20020304163602.10524.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Zack Weinberg Subject: Re: libgcj/5789: boehm-gc won't build on irix - irix assembler chokes on #indent Reply-To: Zack Weinberg X-SW-Source: 2002-03/txt/msg00123.txt.bz2 List-Id: The following reply was made to PR libgcj/5789; it has been noted by GNATS. From: Zack Weinberg To: "Billinghurst, David (CRTS)" Cc: java@gcc.gnu.org, hans_boehm@hp.com, gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org Subject: Re: libgcj/5789: boehm-gc won't build on irix - irix assembler chokes on #indent Date: Mon, 4 Mar 2002 08:26:22 -0800 On Sat, Mar 02, 2002 at 09:53:54AM +0800, Billinghurst, David (CRTS) wrote: > Version: 3.1 and 3.2 > System: mips-sgi-irix6.5 > > The problem > > Error compiling boehm-gc/mips_sgi_mach_dep.S > > as: Error: /usr/include/sys/regdef.h, line 17: Expected cpp-generated line number > as INTERNAL ERROR: /usr/lib32/cmplrs/asm returned non-zero status 1 > > > Cause > > The Irix header files > /usr/include/sys/regdef.h > /usr/include/sgidefs.h > /usr/include/sys/asm.h > contain #ident "$Revision: 3.52 $" lines. > > The gcc cpp passess these through to the .s file, and the irix > assembler chokes on them. Sounds like it's incorrect to emit #ident lines in CPP when we're processing assembly language. That's not hard -- please try this patch. zw =================================================================== Index: cppmain.c --- cppmain.c 2002/01/03 21:43:06 1.90 +++ cppmain.c 2002/03/04 16:25:37 @@ -193,8 +193,13 @@ setup_callbacks () if (! options->no_output) { cb->line_change = cb_line_change; - cb->ident = cb_ident; - cb->def_pragma = cb_def_pragma; + /* Don't emit #pragma or #ident directives if we are processing + assembly language; the assembler may choke on them. */ + if (options->lang != CLK_ASM) + { + cb->ident = cb_ident; + cb->def_pragma = cb_def_pragma; + } if (! options->no_line_commands) cb->file_change = cb_file_change; }