- unsigned llong_size = machine_size < 32 ? 4 : 8;
-
- props[ATOMIC_TYPE_INT].size = int_size;
- props[ATOMIC_TYPE_INT].alignment = int_size;
- props[ATOMIC_TYPE_UINT].size = int_size;
- props[ATOMIC_TYPE_UINT].alignment = int_size;
- props[ATOMIC_TYPE_LONG].size = long_size;
- props[ATOMIC_TYPE_LONG].alignment = long_size;
- props[ATOMIC_TYPE_ULONG].size = long_size;
- props[ATOMIC_TYPE_ULONG].alignment = long_size;
- props[ATOMIC_TYPE_LONGLONG].size = llong_size;
- props[ATOMIC_TYPE_LONGLONG].alignment = llong_size;
- props[ATOMIC_TYPE_ULONGLONG].size = llong_size;
- props[ATOMIC_TYPE_ULONGLONG].alignment = llong_size;
-
- /* TODO: backend specific, need a way to query the backend for this.
- * The following are good settings for x86 */
- props[ATOMIC_TYPE_FLOAT].alignment = 4;
- props[ATOMIC_TYPE_DOUBLE].alignment = 4;
- props[ATOMIC_TYPE_LONG_DOUBLE].alignment = 4;
- props[ATOMIC_TYPE_LONGLONG].alignment = 4;
- props[ATOMIC_TYPE_ULONGLONG].alignment = 4;
- if (firm_opt.os_support == OS_SUPPORT_MACHO) {
- props[ATOMIC_TYPE_LONG_DOUBLE].size = 16;
- props[ATOMIC_TYPE_LONG_DOUBLE].alignment = 16;
- }
-
- /* TODO: make this configurable for platforms which do not use byte sized
- * bools. */
- props[ATOMIC_TYPE_BOOL] = props[ATOMIC_TYPE_UCHAR];