Viewing file: addr-space-1.h (1.18 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#include <stdlib.h> #include <string.h>
typedef struct { char i1; short i2; long i4; long long i8; char str[2][10]; } a_t;
const __as a_t A = { 12, 345, 678910, 1234567891011ll, { "xxx..xxx", "yyy..yyy" } };
const __as volatile a_t V = { 12+1, 345+1, 678910+1, 1234567891011ll+1, { "XXX..XXX", "YYY..YYY" } };
a_t A2; volatile a_t V2;
int main (void) { if (A.i1 != 12 || A.i1 != V.i1 -1) abort();
if (A.i2 != 345 || A.i2 != V.i2 -1) abort();
if (A.i4 != 678910 || A.i4 != V.i4 -1) abort();
if (A.i8 != 1234567891011ll || A.i8 != V.i8 -1) abort();
A2 = A; V2 = V;
if (A2.i1 != 12 || A2.i1 != V2.i1 -1) abort();
if (A2.i2 != 345 || A2.i2 != V2.i2 -1) abort();
if (A2.i4 != 678910 || A2.i4 != V2.i4 -1) abort();
if (A2.i8 != 1234567891011ll || A2.i8 != V2.i8 -1) abort();
if (strcmp (A2.str[0], "xxx..xxx")) abort(); if (strcmp (A2.str[1], "yyy..yyy")) abort();
if (strcmp ((const char*) V2.str[0], "XXX..XXX")) abort(); if (strcmp ((const char*) V2.str[1], "YYY..YYY")) abort(); exit (0); return 0; }
|