URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [eh/] [fp-regs.C] - Rev 693
Compare with Previous | Blame | View Log
// PR 20670: f29 corrupted when unwind stack. This tries to test that FP// registers are properly saved and restored by defining 20 different FP// local variables.// { dg-do run }// { dg-options "-O" }#include <stdlib.h>double zero = 0.0;double another_zero = 0.0;intsub (void){throw (0);}intmain (void){double a, b, c, d, e, f, g, h, i, j;double a1, b1, c1, d1, e1, f1, g1, h1, i1, j1;a = zero;b = a + 1;c = b + 1;d = c + 1;e = d + 1;f = e + 1;g = f + 1;h = g + 1;i = h + 1;j = i + 1;a1 = another_zero;b1 = a1 + 1;c1 = b1 + 1;d1 = c1 + 1;e1 = d1 + 1;f1 = e1 + 1;g1 = f1 + 1;h1 = g1 + 1;i1 = h1 + 1;j1 = i1 + 1;try{sub ();}catch (...){if (a != 0.0)abort ();if (b != 1.0)abort ();if (c != 2.0)abort ();if (d != 3.0)abort ();if (e != 4.0)abort ();if (f != 5.0)abort ();if (g != 6.0)abort ();if (h != 7.0)abort ();if (i != 8.0)abort ();if (j != 9.0)abort ();if (a1 != 0.0)abort ();if (b1 != 1.0)abort ();if (c1 != 2.0)abort ();if (d1 != 3.0)abort ();if (e1 != 4.0)abort ();if (f1 != 5.0)abort ();if (g1 != 6.0)abort ();if (h1 != 7.0)abort ();if (i1 != 8.0)abort ();if (j1 != 9.0)abort ();}return 0;}
