This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/66062] under O2 optimization level , aarch64 compiler give informance : internal compiler error: in expand_assignment, at expr.c:4838
- From: "ssaraswati at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 28 Jul 2015 04:41:25 +0000
- Subject: [Bug target/66062] under O2 optimization level , aarch64 compiler give informance : internal compiler error: in expand_assignment, at expr.c:4838
- Auto-submitted: auto-generated
- References: <bug-66062-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66062
Sujoy <ssaraswati at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ssaraswati at gmail dot com
--- Comment #1 from Sujoy <ssaraswati at gmail dot com> ---
(In reply to huangcunjian from comment #0)
Hi,
I can reproduce this on x86_64 as well. The test case as such has an issue
that it does an out of bound access for an array. However, I believe gcc
shouldn't crash in any case. This can be reproduced with a shorter test case as
shown below.
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
struct S0 {
unsigned int i : 2;
};
static struct S0 g[5] = {{0}, {1}, {0}, {1}, {0}};
static int64_t idx = 0x979516CD4BBA2AEDLL;
int main()
{
struct S0 l = {0};
g[(idx + 1)] = l;
return g[3].i;
}
$ gcc -O2 small_test.c
small_test.c: In function ÃmainÃ:
small_test.c:15:16: internal compiler error: in expand_assignment, at
expr.c:4721
g[(idx + 1)] = l;
^
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
Preprocessed source stored into /tmp/ccueDw3V.out file, please attach this to
your bugreport.