aboutsummaryrefslogtreecommitdiff
path: root/test cases/26 endian/prog.c
blob: 261ac0fb99ef266917b249a897aaa1dae98216d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<stdint.h>

int is_big_endian(void) {
    union {
        uint32_t i;
        char c[4];
    } bint = {0x01020304};

    return bint.c[0] == 1;
}


int main(int argc, char **argv) {
    int is_be_check = is_big_endian();
    int is_be;
#ifdef IS_BE
    is_be = 1;
#else
    is_be = 0;
#endif
    if(is_be_check && is_be)
        return 0;
    if(!is_be_check && !is_be)
        return 0;
    return 1;
}