aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr27373.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr27373.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr27373.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr27373.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr27373.c
new file mode 100644
index 000000000..bf6217471
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr27373.c
@@ -0,0 +1,40 @@
+typedef struct atype
+{
+ float bg[1], cg[1];
+ _Bool ant;
+}atype;
+
+
+void cp_assert(_Bool*, float*, int*, _Bool*);
+
+void f(atype **rng_stream, int *error, float u)
+{
+ _Bool t = *rng_stream != 0;
+ float routinep;
+ _Bool failure;
+ cp_assert ( &t, &routinep, error, &failure);
+ if (failure == 0)
+ {
+ typedef float ty[1];
+ ty *tt = &((*rng_stream)->bg);
+ int i = 1;
+
+ do
+ {
+ (*tt)[i - 1] = u;
+ i ++;
+ }while (i > 1);
+ {
+ ty *tt = &(*rng_stream)->cg;
+ int i = 1;
+
+ do
+ {
+ (*tt)[i - 1] = u;
+ i ++;
+ }while (i > 1);
+ }
+ }
+}
+
+