Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/20020206-1.c @ 144:8f4e72ab4e11
fix segmentation fault caused by nothing next cur_op to end
author | Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 23 Dec 2018 21:23:56 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* This code is from the beginning of combine_reloads in reload.c in GCC 3.1-20020117, with simplifications. It compiled incorrectly for -O2 -fprefetch-loop-arrays for ix86 targets. */ /* { dg-do run } */ /* { dg-options "-O2 -fprefetch-loop-arrays -w" } */ /* { dg-options "-O2 -fprefetch-loop-arrays -mtune=pentium3 -w" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ struct reload { int first_member; int out; int final_member; }; int n_reloads; struct reload rld[10]; static int combine_reloads () { int i; int output_reload = -1; int secondary_out = -1; for (i = 0; i < n_reloads; i++) if (rld[i].out != 0) { if (output_reload >= 0) return output_reload; output_reload = i; } return output_reload; } int main () { n_reloads = 4; rld[2].out = 2; if (combine_reloads () != 2) abort (); exit (0); }