This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/66062] under O2 optimization level , aarch64 compiler give informance : internal compiler error: in expand_assignment, at expr.c:4838


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]