Viewing file: r6.c (1.08 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* { dg-do run } */
#include <stdio.h>
#include "init6.h" #include "dump.h"
#ifdef __cplusplus extern "C" #endif void abort (void);
int Get_Elem1 (struct R1 R) { struct R1 Tmp = R; return Tmp.N.A[0]; }
void Set_Elem1 (struct R1 *R, int I) { struct R1 Tmp = *R; Tmp.N.A[0] = I; *R = Tmp; }
int Get_Elem2 (struct R2 R) { struct R2 Tmp = R; return Tmp.N.A[0]; }
void Set_Elem2 (struct R2 *R, int I) { struct R2 Tmp = *R; Tmp.N.A[0] = I; *R = Tmp; }
int main (void) { struct R1 A1 = My_R1; struct R2 A2 = My_R2;
put ("A1 :"); dump (&A1, sizeof (struct R1)); new_line (); /* { dg-output "A1 : 78 56 34 12 00 ab 00 12 00 cd 00 34 00 ef 00 56.*\n" } */
put ("A2 :"); dump (&A2, sizeof (struct R2)); new_line (); /* { dg-output "A2 : 12 34 56 78 12 00 ab 00 34 00 cd 00 56 00 ef 00.*\n" } */
if (Get_Elem1 (A1) != 0xAB0012) abort ();
Set_Elem1 (&A1, 0xCD0034); if (Get_Elem1 (A1) != 0xCD0034) abort ();
if (Get_Elem2 (A2) != 0xAB0012) abort ();
Set_Elem2 (&A2, 0xCD0034); if (Get_Elem2 (A2) != 0xCD0034) abort ();
new_line (); return 0; }
|