I tried to compile a program, and due to my mistake a constant in hexadecimal had the value 712T, it cuased a segmentation fualt to the gcc. gcc 3.3 20021024 (Suse Linux) .c:49: internal compiler error: Segmentation fualt. the C file: #include <stdio.h> #define CONST 0xF12T unsigned int Sbox[256]= { 0x63, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118, 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, 216, 49, 21, 0x4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, 235, 39, 178, 117, 0x9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, 179, 41, 227, 47, 132, 83, 209, 0x0, 237, 0x20, 252, 177, 91, 106, 203, 190, 57, 74, 76, 88, 207, 208, 239, 170, 251, 67, 77, 51, 133, 69, 249, 2, 127, 80, 60, 159, 168, 81, 163, 64, 143, 146, 157, 56, 245, 188, 182, 218, 33, 16, 255, 243, 210, 205, 12, 19, 236, 95, 151, 68, 23, 196, 167, 126, 61, 100, 93, 25, 115, 96, 129, 79, 220, 34, 42, 144, 136, 70, 238, 184, 20, 222, 94, 11, 219, 224, 50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, 231, 200, 55, 109, 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8, 186, 120, 37, 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138, 112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, 225, 248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, 140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, 0x16 }; unsigned int invSB[256]={0}; int main() { unsigned int i,k,j; for (i=0;i<256;i++) invSB[Sbox[i]]=i; for(i=0;i<256*256;i++) { j=((Sbox[i/256]<<8)||(Sbox[i&256]))^CONST; k=invSB[j/256]<<8||Sbox[j%256]; printf("%x",i^k); } return 0; }
This works in 3.4: GNU C version 3.4 20030710 (experimental) (i686-pc-linux-gnu) compiled by GNU C version 3.4 20030710 (experimental). GGC heuristics: --param ggc-min-expand=47 --param ggc-min-heapsize=31916 11494.c:49:39: invalid suffix "T" on integer constant What version of GCC were you using??
Never mind, I found it: gcc 3.3 20021024 (Suse Linux) Does it still show with 3.3.1pre? That would be a regression from 3.2.2 which gives an error similar to the one from 3.4.
First the gcc which you are using is an old prerelease of gcc which comes from SUSE who is know to add patches so report it there. Second, I cannot reproduce it on 3.3.1 (20030707), so it fixed already or was not busted in the FSF's version.
Subject: Re: invalid suffix "T" on integer cuased internal Segsigv 3.3. I think I put it in the report. SuSE 8.1, gcc 3.3, On Thu, 10 Jul 2003, steven at gcc dot gnu dot org wrote: > PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org. > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11494 > > > steven at gcc dot gnu dot org changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > Status|UNCONFIRMED |WAITING > > > ------- Additional Comments From steven at gcc dot gnu dot org 2003-07-10 20:51 ------- > This works in 3.4: > GNU C version 3.4 20030710 (experimental) (i686-pc-linux-gnu) > compiled by GNU C version 3.4 20030710 (experimental). > GGC heuristics: --param ggc-min-expand=47 --param ggc-min-heapsize=31916 > 11494.c:49:39: invalid suffix "T" on integer constant > > What version of GCC were you using?? > > > > ------- You are receiving this mail because: ------- > You reported the bug, or are watching the reporter. >
Subject: Re: invalid suffix "T" on integer cuased internal Segsigv Well, it actually says Experimental. On Thu, 10 Jul 2003, steven at gcc dot gnu dot org wrote: > PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org. > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11494 > > > steven at gcc dot gnu dot org changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > Priority|P2 |P1 > > > ------- Additional Comments From steven at gcc dot gnu dot org 2003-07-10 20:54 ------- > Never mind, I found it: gcc 3.3 20021024 (Suse Linux) > > Does it still show with 3.3.1pre? That would be a regression from 3.2.2 which > gives an error similar to the one from 3.4. > > > > ------- You are receiving this mail because: ------- > You reported the bug, or are watching the reporter. >
Reopening to ...
Close as a dup of bug 3885. *** This bug has been marked as a duplicate of 3885 ***