This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/8431: compile short program to get internal compilation error
- From: wje at panix dot com (William J. Evans)
- To: nobody at gcc dot gnu dot org
- Cc: gcc-prs at gcc dot gnu dot org,
- Date: 3 Nov 2002 15:56:01 -0000
- Subject: Re: c++/8431: compile short program to get internal compilation error
- Reply-to: wje at panix dot com (William J. Evans)
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!