Bug 19462 - Internal compiler error in expand_shift, at expmed.c :2026
Internal compiler error in expand_shift, at expmed.c :2026
Status: CLOSED RAWHIDE
Product: Red Hat Linux
Classification: Retired
Component: gcc (Show other bugs)
7.0
i386 Linux
medium Severity high
: ---
: ---
Assigned To: Jakub Jelinek
David Lawrence
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2000-10-20 10:16 EDT by Michael Schwendt
Modified: 2007-04-18 12:29 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2000-10-27 10:04:17 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
the requested .ii file and typescript (15.74 KB, application/x-gzip)
2000-10-20 11:07 EDT, Michael Schwendt
no flags Details

  None (edit)
Description Michael Schwendt 2000-10-20 10:16:54 EDT
Since I don't think the people at gcc-bugs@gcc.gnu.org support Red Hat's
gcc 2.96-54, and because I've made more good than bad experience with that
particular snapshot, I post this here...

The following code fails to compile. Apparently,  without any reason.

  http://sourceforge.net/projects/sidplay2/

[snip]
make[1]: Entering directory
/home/ms/files/source/sidplay2/libsidplay-20001020/src'
c++ -DHAVE_CONFIG_H -I. -I. -I..
-I/home/ms/files/source/sidplay2/resid-0.9    -g -O2 -c sidplayer.cpp
sidplayer.cpp: In method void sidplayer_pr::envReset ()':
sidplayer.cpp:583: Internal compiler error in expand_shift, at expmed.c
:2026
Please submit a full bug report.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
make[1]: *** [sidplayer.o] Error 1
make[1]: Leaving directory
/home/ms/files/source/sidplay2/libsidplay-20001020/src'
make: *** [all-recursive] Error 1

The code fragment in question is this:

void sidplayer_pr::evalBankSelect (ubyte_sidt data)
{   // Determine new memory configuration.
    isBasic  = ((data & 3) == 3);
    isIO     = ((data & 7) >  4);
    isKernal = ((data & 2) != 0);   // *** this is line 583, isKernal is
bool
    _bankReg = data;
#ifdef DEBUG
    ram[1]   = data;
#endif // DEBUG
}
Comment 1 Michael Schwendt 2000-10-20 10:19:55 EDT
Bugzilla messed up the formatting. Think of line 583 as two separate lines in
order to avoid any misunderstanding:

    isKernal = ((data & 2) != 0); 
    // *** this is line 583, isKernal is bool
Comment 2 Jakub Jelinek 2000-10-20 10:22:05 EDT
Can you please rerun the command with additional -save-temps -v
options and post here its output and resulting .ii file?
Code fragments are not very useful for reproducing bugs...
Thanks.
Comment 3 Michael Schwendt 2000-10-20 11:07:42 EDT
Created attachment 4469 [details]
the requested .ii file and typescript
Comment 4 Michael Schwendt 2000-10-20 11:13:09 EDT
Btw, no such error if it's compiled _without_ -O, -O2, or higher, respectively.
Comment 5 Jakub Jelinek 2000-10-27 10:04:14 EDT
Fix posted to gcc-patches, if it is accepted, will make it into rawhide
and upcoming gcc errata.
Thanks for the report.
Comment 6 Jakub Jelinek 2000-11-13 04:14:38 EST
Fixed in gcc-c++-2.96-63 in rawhide.

Note You need to log in before you can comment on or make changes to this bug.