This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: c++/8431: compile short program to get internal compilation error


The following reply was made to PR c++/8431; it has been noted by GNATS.

From: wje@panix.com (William J. Evans)
To: paolo@gcc.gnu.org, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org,
	nobody@gcc.gnu.org, wje@acm.org, gcc-gnats@gcc.gnu.org
Cc:  
Subject: Re: c++/8431: compile short program to get internal compilation error
Date: Sun, 3 Nov 2002 10:52:34 -0500 (EST)

 You wrote:
 :Synopsis: compile short program to get internal compilation error
 :
 :State-Changed-From-To: open->feedback
 :State-Changed-By: paolo
 :State-Changed-When: Sat Nov  2 17:23:38 2002
 :State-Changed-Why:
 :    Unfortunately the files didn't reach us. Could you possibly
 :    send them again?
 :    Thanks, Paolo.
 :
 :http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8431
 
 I'm not sure your mechanism is lynx-friendly, so I'll include them
 here as plain text.  Sorry for the inconvenience.
 
 I get an internal compilation error when using
 gcc version 2.95.3 20010315 (release)
 to compile this code, whether or not I use -Wall or -save-temps.  I use no
 other switches, no includes, just a straight compile.
 
 === code begins immediately after this line
 #define X(a) if(a);
 
 int main(void) { long long little_doggie;
 
 /*
  * It makes no difference whether the offending expressions are surrounded by
  * () or (()).  I used (()) because of your suggestion to check the
  * compilation against -Wall.
  */
 
    X((little_doggie=0x01030507090B0D0FLL)) /* internal error */
 /* X((little_doggie=0x01030507090B0D0FL))     internal error */
 /* X((little_doggie=0x01030507090B0D0F))      internal error */
 /* X((little_doggie=0x0103050709))            internal error */
 /* X((little_doggie=0x01030507))              compiles ok    */
 
 return 0; }
 
 === code ends immediately before this line
 
 The output I get is this:
 
 /tmp/e1.cxx: In function `int main()':
 /tmp/e1.cxx:11: Internal compiler error in `do_jump', at expr.c:10976
 Please submit a full bug report.
 See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
 
 The output from the -v switch is this:
 
 Reading specs from /usr/lib/gcc-lib/i386-slackware-linux/2.95.3/specs
 gcc version 2.95.3 20010315 (release)
 
 /usr/lib/gcc-lib/i386-slackware-linux/2.95.3/specs contains this:
 
 ===content begins immediately after this line
 *asm:
 %{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}
 
 *asm_final:
 %|
 
 *cpp:
 %(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}
 
 *cc1:
 %(cc1_cpu) %{profile:-p}
 
 *cc1plus:
 
 
 *endfile:
 %{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s
 
 *link:
 -m elf_i386 %{shared:-shared}   %{!shared:     %{!ibcs:       %{!static: 	%{rdynamic:-export-dynamic} 	%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} 	%{static:-static}}}
 
 *lib:
 %{shared: -lc}    %{!shared: %{mieee-fp:-lieee} %{pthread:-lpthread} 	%{profile:-lc_p} %{!profile: -lc}}
 
 *libgcc:
 -lgcc
 
 *startfile:
 %{!shared:      %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} 		       %{!p:%{profile:gcrt1.o%s} 			 %{!profile:crt1.o%s}}}}    crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}
 
 *switches_need_spaces:
 
 
 *signed_char:
 %{funsigned-char:-D__CHAR_UNSIGNED__}
 
 *predefines:
 -D__ELF__ -Dunix -D__i386__ -Dlinux -Asystem(posix)
 
 *cross_compile:
 0
 
 *version:
 2.95.3
 
 *multilib:
 . ;
 
 *multilib_defaults:
 
 
 *multilib_extra:
 
 
 *multilib_matches:
 
 
 *linker:
 collect2
 
 *cpp_486:
 %{!ansi:-Di486} -D__i486 -D__i486__
 
 *cpp_586:
 %{!ansi:-Di586 -Dpentium} 	-D__i586 -D__i586__ -D__pentium -D__pentium__
 
 *cpp_k6:
 %{!ansi:-Di586 -Dk6} 	-D__i586 -D__i586__ -D__k6 -D__k6__
 
 *cpp_686:
 %{!ansi:-Di686 -Dpentiumpro} 	-D__i686 -D__i686__ -D__pentiumpro -D__pentiumpro__
 
 *cpp_cpu_default:
 
 
 *cpp_cpu:
 -Acpu(i386) -Amachine(i386) %{!ansi:-Di386} -D__i386 -D__i386__ %{mcpu=i486:%(cpp_486)} %{m486:%(cpp_486)} %{mpentium:%(cpp_586)} %{mcpu=pentium:%(cpp_586)} %{mpentiumpro:%(cpp_686)} %{mcpu=pentiumpro:%(cpp_686)} %{mcpu=k6:%(cpp_k6)} %{!mcpu*:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}}
 
 *cc1_cpu:
 %{!mcpu*: %{m386:-mcpu=i386 -march=i386} %{m486:-mcpu=i486 -march=i486} %{mpentium:-mcpu=pentium} %{mpentiumpro:-mcpu=pentiumpro}}
 
 *link_command:
 %{!fsyntax-only:  %{!c:%{!M:%{!MM:%{!E:%{!S:%(linker) %l %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} 			%{r} %{s} %{t} %{u*} %{x} %{z} %{Z}			%{!A:%{!nostdlib:%{!nostartfiles:%S}}}			%{static:} %{L*} %D %o			%{!nostdlib:%{!nodefaultlibs:%G %L %G}}			%{!A:%{!nostdlib:%{!nostartfiles:%E}}}			%{T*}			
  }}}}}}
 
 ===content ends immediately before this line
 
 Hope this helps!


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]