public inbox for gcc-prs@sourceware.org help / color / mirror / Atom feed
From: sander_pool@pobox.com To: gcc-gnats@gcc.gnu.org Subject: c/9100: illegal binary constant causes gcc to seg fault Date: Sun, 29 Dec 2002 15:16:00 -0000 [thread overview] Message-ID: <20021229231209.793.qmail@sources.redhat.com> (raw) >Number: 9100 >Category: c >Synopsis: illegal binary constant causes gcc to seg fault >Confidential: no >Severity: serious >Priority: low >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Sun Dec 29 15:16:01 PST 2002 >Closed-Date: >Last-Modified: >Originator: sander_pool@pobox.com >Release: 3.3 >Organization: >Environment: Win32(Win2k), WinAVR release of AVR-gcc. >Description: I used an illegal binary constant declaration (0b111), this caused avr-gcc to crash: "-------- begin --------" avr-gcc --version avr-gcc (GCC) 3.3 20021209 (experimental) Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. "Size before:" text data bss dec hex filename 0 390 0 390 186 pin_test.hex avr-gcc -c -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -save-temps -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=pin_test.lst -mmcu=atmega128 -I. pin_test.c -o pin_test.o pin_test.c:40:61: invalid suffix "b11111000" on integer constant pin_test.c: In function `__vector_16': pin_test.c:40: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions. make: *** [pin_test.o] Error 1 C:\coding\sources\avr\pin_test> I will also report this on the avr-gcc forum but it seems to be a generic gcc problem (it should never crash). >How-To-Repeat: Compile the attached file with the options as shown in the description. Observe the error message. >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: text/plain; name="pin_test.i" Content-Disposition: inline; filename="pin_test.i" # 1 "pin_test.c" # 1 "<built-in>" # 1 "<command line>" # 1 "pin_test.c" # 13 "pin_test.c" # 1 "c:/winavr/avr/include/avr/io.h" 1 3 # 75 "c:/winavr/avr/include/avr/io.h" 3 # 1 "c:/winavr/avr/include/avr/iom128.h" 1 3 # 46 "c:/winavr/avr/include/avr/iom128.h" 3 # 1 "c:/winavr/avr/include/avr/sfr_defs.h" 1 3 # 47 "c:/winavr/avr/include/avr/iom128.h" 2 3 # 76 "c:/winavr/avr/include/avr/io.h" 2 3 # 14 "pin_test.c" 2 # 1 "c:/winavr/avr/include/avr/interrupt.h" 1 3 # 101 "c:/winavr/avr/include/avr/interrupt.h" 3 extern inline void enable_external_int (unsigned char ints) { ((*(volatile unsigned char *)(((unsigned int) &((*(volatile unsigned char *)((0x39) + 0x20)))))) = (ints)); } # 119 "c:/winavr/avr/include/avr/interrupt.h" 3 extern inline void timer_enable_int (unsigned char ints) { ((*(volatile unsigned char *)(((unsigned int) &((*(volatile unsigned char *)((0x37) + 0x20)))))) = (ints)); } # 15 "pin_test.c" 2 # 1 "c:/winavr/avr/include/avr/signal.h" 1 3 # 16 "pin_test.c" 2 # 1 "../include/m128_master.h" 1 # 18 "pin_test.c" 2 volatile unsigned char led; volatile unsigned char blink; # 30 "pin_test.c" void __vector_16 (void) __attribute__ ((signal)); void __vector_16 (void) { # 40 "pin_test.c" if (((*(volatile unsigned char *)((0x13) + 0x20)) & 0b11111000) == 0) { if (blink) { (*(volatile unsigned char *)(0x62)) = 0; } else { (*(volatile unsigned char *)(0x62)) = (1<<((*(volatile unsigned char *)((0x13) + 0x20)) & 00111)); } } if (((*(volatile unsigned char *)((0x13) + 0x20)) & 0b1000) != 0) { if (blink) { (*(volatile unsigned char *)((0x18) + 0x20)) = 0; } else { (*(volatile unsigned char *)((0x18) + 0x20)) = (1<<((*(volatile unsigned char *)((0x13) + 0x20)) & 0b111)); } } if (((*(volatile unsigned char *)((0x13) + 0x20)) & 0b10000) != 0) { if (blink) { (*(volatile unsigned char *)((0x03) + 0x20)) = 0; } else { if ((*(volatile unsigned char *)((0x13) + 0x20)) > 2) { (*(volatile unsigned char *)((0x03) + 0x20)) = (1<<((*(volatile unsigned char *)((0x13) + 0x20)) & 0b111)); } } } (*(volatile unsigned char *)((0x12) + 0x20)) = ~led; led <<= 1; if (!led) led = (1<<6); (*(volatile unsigned char *)((0x32) + 0x20)) = 0; if (blink) { blink = 0; } else { blink =1; } } int main(void) { (*(volatile unsigned char *)((0x11) + 0x20)) = 0b1100000; (*(volatile unsigned char *)(0x61)) = 0xff; (*(volatile unsigned char *)((0x17) + 0x20)) = 0xff; (*(volatile unsigned char *)((0x02) + 0x20)) = 0xff; (*(volatile unsigned char *)((0x12) + 0x20)) = 0x00; (*(volatile unsigned char *)((0x18) + 0x20)) = 0x00; (*(volatile unsigned char *)((0x14) + 0x20)) = 0; (*(volatile unsigned char *)((0x15) + 0x20)) = 0xff; blink = 0; (*(volatile unsigned char *)((0x30) + 0x20)) = (1 << 3); (*(volatile unsigned char *)((0x32) + 0x20)) = 0; (*(volatile unsigned char *)((0x33) + 0x20)) = 5; (*(volatile unsigned char *)((0x37) + 0x20)) = (1 << 0); __asm__ __volatile__ ("sei" ::); for (;;) { } }
reply other threads:[~2002-12-29 23:16 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20021229231209.793.qmail@sources.redhat.com \ --to=sander_pool@pobox.com \ --cc=gcc-gnats@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).