This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c/6245: GCC-3.0.4 infinite loop on invalid code
- From: etienne dot lorrain at masroudeau dot com
- To: gcc-gnats at gcc dot gnu dot org
- Date: 10 Apr 2002 10:02:07 -0000
- Subject: c/6245: GCC-3.0.4 infinite loop on invalid code
- Reply-to: etienne dot lorrain at masroudeau dot com
>Number: 6245
>Category: c
>Synopsis: GCC-3.0.4 infinite loop on invalid code
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Apr 10 03:06:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: Etienne Lorrain
>Release: GCC-3.0.4
>Organization:
>Environment:
Linux
>Description:
Continually display, until ^C:
bug.c:19: initializer element is not constant
bug.c:19: (near initialization for `STATE')
>How-To-Repeat:
[etienne@nextstar gujin]$ /home/etienne/projet/toolchain/bin/gcc -v
Reading specs from /home/etienne/projet/toolchain/lib/gcc-lib/i686-pc-linux-gnu/3.0.4/specs
Configured with: ../configure --prefix=/home/etienne/projet/toolchain --enable-languages=C
Thread model: single
gcc version 3.0.4
[etienne@nextstar gujin]$ cat bug.c
extern unsigned _srodata[], _edata[];
extern const struct state_str {
unsigned dummy_but_needed_for_bug;
struct short_bound_str {
signed short low_limit;
signed short high_limit;
} __attribute__ ((packed)) stack_limit;
struct long_bound_str {
signed low_limit;
signed high_limit;
} __attribute__ ((packed)) data_limit;
const char *BoundMsg;
} STATE;
const struct state_str STATE = {
data_limit: { low_limit: (unsigned)_srodata , high_limit: 0xFFFF },
stack_limit: { low_limit: (short)_edata, high_limit: 0xFFFC },
};
[etienne@nextstar gujin]$ /home/etienne/projet/toolchain/bin/gcc bug.c
.... (cannot catch beginning) ...
bug.c:19: (near initialization for `STATE')
bug.c:19: initializer element is not constant
bug.c:19: (near initialization for `STATE')
bug.c:19: initializer element is not constant
bug.c:19: (near initialization for `STATE')
bug.c:19: initializer element is not constant
bug.c:19: (near initialization for `STATE')
bug.c:19: initializer element is not constant
bug.c:19: (near initialization for `STATE')
bug.c:19: initializer element is not constant
....
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: