Bug 6419 - ICE in make_decl_rtl for "longest" c++ attribute
Summary: ICE in make_decl_rtl for "longest" c++ attribute
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: c++ (show other bugs)
Version: 3.1
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2002-04-23 05:16 UTC by Michael Meissner
Modified: 2003-07-25 17:33 UTC (History)
2 users (show)

See Also:
Host: x86_64-suse-linux-gnu
Target: x86_64-suse-linux-gnu
Build: x86_64-suse-linux-gnu
Known to work:
Known to fail:
Last reconfirmed:


Attachments
filehtal.ii.gz (10.48 KB, application/x-gzip )
2003-05-21 15:16 UTC, Michael Meissner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Meissner 2002-04-23 05:16:01 UTC
Hi,

While compiling Broadcast 2000 on a gcc 3.1 snapshot on 64 bit systems, the
compiler ICEs on an apparent confusion between "longest" and "int" specifier.

We were able to reproduce this on x86_64, s390 (64bit), but not on x86.
So this appears to be a generic 64bit problem :/

gcc -v ... output and preprocessed sourcode is in the How-To-Repeat section.

Release:
3.1 20020415 (prerelease)

Environment:
host: x86_64-suse-linux-gnu
build: x86_64-suse-linux-gnu
target: x86_64-suse-linux-gnu
configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --enable-languages=c,c++,f77,objc --disable-libgcj --disable-multilib --with-gxx-include-dir=/usr/include/g++ --with-slibdir=/lib --with-system-zlib --enable-shared --libdir=/usr/lib64 --enable-checking x86_64-suse-linux

How-To-Repeat:
sh-2.05# g++ -v --save-temps -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -DHAVE_OSS -DHAVE_ESOUND -DHAVE_FIREWIRE -I../bcbase filehtal.C
Reading specs from /usr/lib64/gcc-lib/x86_64-suse-linux/3.1/specs
Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --enable-languages=c,c++,f77,objc --disable-libgcj --disable-multilib --with-gxx-include-dir=/usr/include/g++ --with-slibdir=/lib --with-system-zlib --enable-shared --libdir=/usr/lib64 --enable-checking x86_64-suse-linux
Thread model: posix
gcc version 3.1 20020415 (prerelease)
 /usr/lib64/gcc-lib/x86_64-suse-linux/3.1/cpp0 -lang-c++ -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -D__GXX_ABI_VERSION=100 -v -I. -I../bcbase -D__GNUC__=3 -D__GNUC_MINOR__=1 -D__GNUC_PATCHLEVEL__=0 -D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__ -D__gnu_linux__ -D__linux__ -D__unix -D__linux -Asystem(posix) -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_GNU_SOURCE -Acpu=x86_64 -Amachine=x86_64 -D__x86_64 -D__x86_64__ -D__SIZE_TYPE__=unsigned long int -D__PTRDIFF_TYPE__=long int -D__tune_athlon__ -D__tune_athlon_sse__ -D__LONG_MAX__=9223372036854775807L -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_OSS -DHAVE_ESOUND -DHAVE_FIREWIRE filehtal.C filehtal.ii
GNU CPP version 3.1 20020415 (prerelease) (cpplib) (x86-64 Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
 .
 ../bcbase
 /usr/include/g++
 /usr/include/g++/x86_64-suse-linux
 /usr/include/g++/backward
 /usr/local/include
 /usr/lib64/gcc-lib/x86_64-suse-linux/3.1/include
 /usr/x86_64-suse-linux/include
 /usr/include
End of search list.
 /usr/lib64/gcc-lib/x86_64-suse-linux/3.1/cc1plus -fpreprocessed filehtal.ii -quiet -dumpbase filehtal.C -version -o filehtal.s
GNU CPP version 3.1 20020415 (prerelease) (cpplib) (x86-64 Linux/ELF)
GNU C++ version 3.1 20020415 (prerelease) (x86_64-suse-linux)
 compiled by GNU C version 3.1 20020415 (prerelease).
In file included from filehtal.C:6:
filehtal.h:34: `longest HTALTag::get_property(char*, long int)' has already
   been declared in `HTALTag'
filehtal.h:43: `int HTALTag::set_property(char*, long int)' has already been
   declared in `HTALTag'
filehtal.C:543: redefinition of `longest HTALTag::get_property(char*, long int)
   '
filehtal.C:534: `long int HTALTag::get_property(char*, long int)' previously
   defined here
filehtal.C:543: no `longest HTALTag::get_property(char*, long int)' member
   function declared in class `HTALTag'
filehtal.C: In member function `long int HTALTag::get_property(char*, long
   int)':
filehtal.C:545: Internal compiler error in make_decl_rtl, at varasm.c:833
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

See attachments for filehtal.ii.gz
Comment 1 Michael Meissner 2002-04-23 05:16:01 UTC
Fix:
	no clue.
Comment 2 Jan Hubicka 2002-10-15 08:24:37 UTC
From: hubicka@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: c++/6419
Date: 15 Oct 2002 08:24:37 -0000

 CVSROOT:	/cvs/gcc
 Module name:	egcs
 Changes by:	hubicka@gcc.gnu.org	2002-10-15 01:24:36
 
 Modified files:
 	gcc            : ChangeLog expr.c final.c 
 	gcc/config/i386: i386.c i386.md xmmintrin.h 
 	gcc/testsuite  : ChangeLog 
 Added files:
 	gcc/testsuite/gcc.dg: i386-ssetype-1.c i386-ssetype-2.c 
 	                      i386-ssetype-3.c i386-ssetype-4.c 
 	                      i386-ssetype-5.c 
 
 Log message:
 	* i386.md (movv2di_internal): New pattern.
 	(movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
 	(movv2di): New expander.
 	* i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
 	
 	* i386.c (ix86_expand_timode_binop_builtin): Delete.
 	(builtin_description): Add SSE1 logicals; rename SSE2 logicals.
 	(ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
 	(ix86_expand_builtin): Likewise.
 	* i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
 	sse_andti3,
 	sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
 	sse_andnti3,
 	sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
 	sse_orti3,
 	sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
 	sse_xorti3): Kill.
 	(sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
 	sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
 	(*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
 	*sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
 	(*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
 	*sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
 	
 	* xmmintrin.h (__m128i): Define as __v2di.
 	
 	PR c/7344
 	* predict.c (can_predict_insn_p): New function.
 	(estimate_probability): Avoid unnecesary work.
 	(process_note_prediction): Likewise.
 	* toplev.c (rest_of_compilation): Account early branch prediction pass
 	as TV_BRANCH_PROB.
 	
 	PR c++/6419
 	(expand_expr): Use DECL_RTL_SET_P.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.15703&r2=1.15704
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/expr.c.diff?cvsroot=gcc&r1=1.486&r2=1.487
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/final.c.diff?cvsroot=gcc&r1=1.269&r2=1.270
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/config/i386/i386.c.diff?cvsroot=gcc&r1=1.468&r2=1.469
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/config/i386/i386.md.diff?cvsroot=gcc&r1=1.388&r2=1.389
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/config/i386/xmmintrin.h.diff?cvsroot=gcc&r1=1.6&r2=1.7
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.2139&r2=1.2140
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/testsuite/gcc.dg/i386-ssetype-1.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/testsuite/gcc.dg/i386-ssetype-2.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/testsuite/gcc.dg/i386-ssetype-3.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/testsuite/gcc.dg/i386-ssetype-4.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/testsuite/gcc.dg/i386-ssetype-5.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
 
Comment 3 Jan Hubicka 2002-10-17 08:50:23 UTC
State-Changed-From-To: open->closed
State-Changed-Why: PR c++/6419
            (expand_expr): Use DECL_RTL_SET_P.
Comment 4 Jan Hubicka 2002-10-17 17:17:52 UTC
From: hubicka@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: c++/6419
Date: 17 Oct 2002 17:17:52 -0000

 CVSROOT:	/cvs/gcc
 Module name:	egcs
 Branch: 	gcc-3_2-branch
 Changes by:	hubicka@gcc.gnu.org	2002-10-17 10:17:52
 
 Modified files:
 	gcc            : ChangeLog expr.c 
 
 Log message:
 	PR c++/6419
 	* expr.c (expand_expr): Use DECL_RTL_SET_P.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_2-branch&r1=1.13152.2.657.2.96&r2=1.13152.2.657.2.97
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/expr.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-branch&r1=1.423.2.19.4.3&r2=1.423.2.19.4.4