Skip to content

Conversation

@hamishmack
Copy link

It seems that macOS on aarch64 has makes use of __uint128_t in its header files without ever defining it. Apparently that is not unusual.

See https://www.linuxfixes.com/2021/10/solved-is-there-128-bit-integer-in-gcc.html

It seems that macOS on aarch64 has makes use of `__uint128_t` in its header files without ever defining it.  Apparently that is not unusual.

See https://www.linuxfixes.com/2021/10/solved-is-there-128-bit-integer-in-gcc.html
hamishmack added a commit to input-output-hk/haskell.nix that referenced this pull request May 18, 2022
-- Tokens: _Alignas _Alignof __alignof alignof __alignof__ __asm asm __asm__ _Atomic auto break _Bool case char __const const __const__ continue _Complex __complex__ default do double else enum extern float for _Generic goto if __inline inline __inline__ int __int128 long _Noreturn _Nullable __nullable _Nonnull __nonnull register __restrict restrict __restrict__ return short __signed signed __signed__ sizeof static _Static_assert struct switch typedef __typeof typeof __typeof__ __thread _Thread_local union unsigned void __volatile volatile __volatile__ while __label__ _Float32 _Float32x _Float64 _Float64x _Float128 __float128 _Float128x __attribute __attribute__ __extension__ __real __real__ __imag __imag__ __builtin_va_arg __builtin_offsetof __builtin_types_compatible_p __builtin_convertvector
-- Tokens: _Alignas _Alignof __alignof alignof __alignof__ __asm asm __asm__ _Atomic auto break _Bool case char __const const __const__ __constant continue _Complex __complex__ default do double else enum extern float for _Generic goto if __inline inline __inline__ int __int128 __int128_t __uint128_t long _Noreturn _Nullable __nullable _Nonnull __nonnull register __restrict restrict __restrict__ return short __signed signed __signed__ sizeof static _Static_assert struct switch typedef __typeof typeof __typeof__ __thread _Thread_local union unsigned void __volatile volatile __volatile__ while __label__ _Float32 _Float32x _Float64 _Float64x _Float128 __float128 _Float128x __attribute __attribute__ __extension__ __real __real__ __imag __imag__ __builtin_va_arg __builtin_offsetof __builtin_types_compatible_p __builtin_convertvector
idkwtok ('_' : 'A' : 'l' : 'i' : 'g' : 'n' : 'a' : 's' : []) = tok 8 CTokAlignas
idkwtok ('_' : 'A' : 'l' : 'i' : 'g' : 'n' : 'o' : 'f' : []) = tok 8 CTokAlignof
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This Alex UI is just terrible lol.

Manual list concatenation, manual length, repeating the id name...

@expipiplus1
Copy link
Collaborator

Does this break code where __int128_t is defined? I can't imagine so...

@edsko
Copy link

edsko commented Dec 6, 2022

We are running into this issue (through c2hs, similar to https://discourse.haskell.org/t/problem-with-language-c-on-arm-mac/3841). I've tried this branch but unfortunately it doesn't seem to solve the problem just yet (that might be expected, I'm not sure). We are working around it for now through

  if os(darwin)
    cc-options: -D__uint128_t=int

@drone29a
Copy link
Collaborator

drone29a commented Dec 6, 2022

Also running into this—or a related—issue through c2hs. Haven't tried the patch but will give it a go.

@drone29a
Copy link
Collaborator

drone29a commented Dec 8, 2022

PR #92 has a fix for this issue. Thanks @expipiplus1 for the hint on where to begin.

edit: Doh! I didn't notice that this is a PR thread (not an issue thread) and @hamishmack actually provided a fix.

@expipiplus1
Copy link
Collaborator

Thanks, I'm sorry it's taken a while to get round to this. I'm going to merge #92 just because the CI passes today when I'm concentrating on this. Expect a new release shortly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants