Opened 9 years ago

Closed 9 years ago

#46106 closed defect (fixed)

HexFiend @2.3.0_1: error: unknown type name '__uint128_t'

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: neverpanic (Clemens Lang)
Priority: Normal Milestone:
Component: ports Version: 2.3.99
Keywords: Cc:
Port: HexFiend

Description

HexFiend @2.3.0_1 doesn't build for me on OS X 10.10.1 with Xcode 6.1.

Attachments (1)

main.log.bz2 (17.8 KB) - added by ryandesign (Ryan Carsten Schmidt) 9 years ago.

Download all attachments as: .zip

Change History (11)

Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: main.log.bz2 added

comment:1 Changed 9 years ago by neverpanic (Clemens Lang)

My system clang on 10.10 supports __uint128_t, does yours not? Can you try

/usr/bin/clang -x c -std=c99 -pedantic -Wall -Werror -o /dev/null - <<EOF
#include <stdint.h>
#include <stdio.h>

int main() {
        __uint128_t d = 21 * 2;
        printf("%d\n", (int)(d));
}
EOF

and the same with xcrun clang instead of /usr/bin/clang?

comment:2 Changed 9 years ago by neverpanic (Clemens Lang)

Also, HexFiend builds fine for me.

comment:3 Changed 9 years ago by neverpanic (Clemens Lang)

Any feedback on this?

comment:4 in reply to:  1 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to cal@…:

My system clang on 10.10 supports __uint128_t, does yours not? Can you try

/usr/bin/clang -x c -std=c99 -pedantic -Wall -Werror -o /dev/null - <<EOF
#include <stdint.h>
#include <stdio.h>

int main() {
        __uint128_t d = 21 * 2;
        printf("%d\n", (int)(d));
}
EOF

and the same with xcrun clang instead of /usr/bin/clang?

Both of these produce no output.

comment:5 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

HexFiend @2.3.0_1 builds fine for x86_64 only, but not when built universal for x86_64 and i386.

comment:6 Changed 9 years ago by neverpanic (Clemens Lang)

Can you try the command again but add -arch i386 and -arch i386 -arch x86_64 for a universal build?

comment:7 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Yup, there we go:

$ /usr/bin/clang -x c -std=c99 -pedantic -Wall -Werror -o /dev/null -arch x86_64 test.c
$
$ /usr/bin/clang -x c -std=c99 -pedantic -Wall -Werror -o /dev/null -arch i386 test.c
test.c:5:3: error: use of undeclared identifier '__uint128_t'
  __uint128_t d = 21 * 2;
  ^
test.c:6:24: error: use of undeclared identifier 'd'
  printf("%d\n", (int)(d));
                       ^
2 errors generated.
$
$ /usr/bin/clang -x c -std=c99 -pedantic -Wall -Werror -o /dev/null -arch i386 -arch x86_64 test.c
test.c:5:3: error: use of undeclared identifier '__uint128_t'
  __uint128_t d = 21 * 2;
  ^
test.c:6:24: error: use of undeclared identifier 'd'
  printf("%d\n", (int)(d));
                       ^
2 errors generated.
$

comment:8 Changed 9 years ago by neverpanic (Clemens Lang)

I guess that means we need to set supported_archs x86_64 and remove the universal variant.

comment:9 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Sure, that would be ok.

comment:10 Changed 9 years ago by neverpanic (Clemens Lang)

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.