diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2025-06-09 23:30:36 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2025-06-09 23:30:36 +0200 |
commit | 3f4b0062963fca5d90fc65c1d7912ecdc21a8fed (patch) | |
tree | b80b62779d28ccf35b3bb5331d2b2136187029f1 | |
parent | 792b87f8d8a9c0b925e8cab825928251fb155fb3 (diff) |
-rw-r--r-- | cpu.sym | 1 | ||||
-rw-r--r-- | type.c | 8 |
2 files changed, 9 insertions, 0 deletions
@@ -101,6 +101,7 @@ expr sizeof(char) sizeof_char expr sizeof(short) sizeof_short expr sizeof(int) sizeof_int expr sizeof(long) sizeof_long +expr sizeof(int64_t) sizeof_int64_t expr sizeof(float) sizeof_float expr sizeof(double) sizeof_double expr sizeof(uintptr_t) sizeof_uintptr_t @@ -48,6 +48,7 @@ ipc_type_t *itWaitTimeType; /* used for dummy WaitTime args */ ipc_type_t *itMsgOptionType; /* used for dummy MsgOption args */ ipc_type_t *itShortType; /* used for the short type */ ipc_type_t *itIntType; /* used for the int type */ +ipc_type_t *itInt64Type; /* used for the int64 type */ ipc_type_t *itUintPtrType; /* used for the uintptr_t type */ ipc_type_t *itIntPtrType; /* used for the intptr_t type */ static bool types_initialized = false; @@ -740,6 +741,11 @@ itStructDecl(u_int min_type_size_in_bytes, u_int required_alignment_in_bytes) assert(final_struct_bytes % 4 == 0); number_elements = final_struct_bytes / 4; break; + case 8: + element_type = itInt64Type; + assert(final_struct_bytes % 8 == 0); + number_elements = final_struct_bytes / 8; + break; case 1: default: element_type = itByteType; @@ -979,6 +985,8 @@ init_type(void) itInsert("short", itShortType); itIntType = itCIntTypeDecl("int", sizeof_int); itInsert("int", itIntType); + itInt64Type = itCIntTypeDecl("int64", sizeof_int64_t); + itInsert("int64", itInt64Type); itUintPtrType = itCIntTypeDecl("uintptr_t", sizeof_uintptr_t); itInsert("uintptr_t", itUintPtrType); itIntPtrType = itCIntTypeDecl("intptr_t", sizeof_intptr_t); |