diff options
author | camthesaxman <camthesaxman@users.noreply.github.com> | 2020-01-29 18:17:43 -0600 |
---|---|---|
committer | camthesaxman <camthesaxman@users.noreply.github.com> | 2020-01-29 18:17:43 -0600 |
commit | cdc6e2c50f96119bdc4c1205ff5901ca82ec8357 (patch) | |
tree | 3e9217eabcf444e166008411f445315606dded59 /gcc_arm/testsuite/gcc.dg/struct-ret-1.c | |
parent | 27176890c4a688ea7de44d3f55af32827016a9fd (diff) |
add old compiler with ARM support
Diffstat (limited to 'gcc_arm/testsuite/gcc.dg/struct-ret-1.c')
-rwxr-xr-x | gcc_arm/testsuite/gcc.dg/struct-ret-1.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/gcc_arm/testsuite/gcc.dg/struct-ret-1.c b/gcc_arm/testsuite/gcc.dg/struct-ret-1.c new file mode 100755 index 0000000..f581aad --- /dev/null +++ b/gcc_arm/testsuite/gcc.dg/struct-ret-1.c @@ -0,0 +1,45 @@ +/* { dg-do run { target hppa*-*-* } } */ +/* { dg-options { -O2 } { target hppa*-*-* } } */ +typedef struct { + int x; + int y; +} point_t; + +int main(int argc, char *argv[]); +int printPoints(point_t a, point_t b); +point_t toPoint(int x1, int y1); + +int +main(int argc, char *argv[]) +{ + + if (printPoints(toPoint(0, 0), toPoint(1000, 1000)) != 1) + abort(); + else + exit(); + + return 0; +} + +int +printPoints(point_t a, point_t b) +{ + if (a.x != 0 + || a.y != 0 + || b.x != 1000 + || b.y != 1000) + return 0; + else + return 1; +} + +point_t +toPoint(int x1, int y1) +{ + point_t p; + + p.x = x1; + p.y = y1; + + return p; +} |